Sources API
ภาพรวม
Sources API ช่วยให้คุณสามารถรับชำระเงินด้วยวิธีการชำระเงินทางเลือกนอกเหนือจากบัตรเครดิต Source แสดงถึงช่องทางการชำระเงิน เช่น PromptPay QR codes, โมบายแบงก์กิ้ง, อินเทอร์เน็ตแบงก์กิ้ง, แผนผ่อนชำระ และอื่นๆ
Source คืออะไร
Source คือออบเจ็กต์วิธีการชำระเงินที่แสดงถึง:
- PromptPay QR codes - การชำระเงินแบบ QR แบบเรียลไทม์
- โมบายแบงก์กิ้ง - การเปลี่ยนเส้นทางการชำระเงินในแอป (SCB Easy, Krungthai Next ฯลฯ)
- อินเทอร์เน็ตแบงก์กิ้ง - การโอนเงินผ่านธนาคารออนไลน์
- ร้านสะดวกซื้อ - การชำระด้วยเงินสดที่ 7-Eleven, ฟามิลี่มาร์ท ฯลฯ
- แผนผ่อนชำระ - ตัวเลือกการชำระแบบผ่อนชำระ
- อีวอลเล็ต - TrueMoney, Rabbit LINE Pay ฯลฯ
ฟีเจอร์หลัก
รองรับวิธีการชำระเงินที่หลากหลาย
- การชำระด้วย QR - PromptPay, Alipay, WeChat Pay
- การโอนเงินผ่านธนาคาร - โมบายแบงก์กิ้งและอินเทอร์เน็ตแบงก์กิ้ง
- การผ่อนชำระ - แผนผ่อนชำระดอกเบี้ย 0%
- การชำระด้วยเงิ นสด - การชำระเงินที่ร้านสะดวกซื้อ
- อีวอลเล็ต - การบูรณาการกับกระเป๋าเงินดิจิทัล
เวิร์กโฟลว์ที่ยืดหยุ่น
- แบบเปลี่ยนเส้นทาง - เปลี่ยนเส้นทางลูกค้าเพื่อทำการชำระเงินให้เสร็จสิ้น
- แสดง QR code - แสดง QR code สำหรับลูกค้าสแกน
- การแจ้งเตือนผ่าน Webhook - อัปเดตสถานะการชำระเงินแบบเรียลไทม์
- การประมวลผลแบบอะซิงโครนัส - การชำระเงินเสร็จสิ้นนอกเว็บไซต์ของคุณ
การรองรับตามภูมิภาค
- ไทย - PromptPay, SCB, Krungthai, BAY, BBL ฯลฯ
- มาเลเซีย - FPX, Boost, GrabPay, Touch 'n Go
- สิงคโปร์ - PayNow, GrabPay
- ระดับนานาชาติ - Alipay, WeChat Pay
Source ทำงานอย่างไร
ฟลาวมาตรฐาน
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Your │ │ Omise │ │ Payment │ │ Customer│
│ Server │ │ API │ │ Provider│ │ │
└────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘
│ │ │ │
│ 1. Create source │ │ │
├──────────────────>│ │ │
│ │ │ │
│ 2. Return source │ │ │
│ (with QR/URL) │ │ │
│<──────────────────┤ │ │
│ │ │ │
│ 3. Create charge │ │ │
├──────────────────>│ │ │
│ │ │ │
│ 4. Return charge │ │ │
│ (status:pending) │ │
│<──────────────────┤ │ │
│ │ │ │
│ 5. Display QR │ │ │
│ or redirect │ │ │
├──────────────────────────────────────────────────────────>│
│ │ │ │
│ │ │ 6. Customer pays │
│ │ │<──────────────────┤
│ │ │ │
│ │ 7. Webhook notify │ │
│<──────────────────┤ │ │
│ │ │ │
│ 8. Show success │ │ │
├──────────────────────────────────────────────────────────>│
│ │ │ │
ขั้นตอนการใช้งาน
- สร้าง Source - ระบุประเภทวิธีการชำระเงินและจำนวนเงิน
- สร้าง Charge - ใช้ Source ID เพื่อสร้าง Charge (สถานะ: pending)
- แสดง UI การชำระเงิน - แสดง QR code หรือเปลี่ยนเส้นทางลูกค้า
- รอ Webhook - ลูกค้าทำการชำระเงินแบบอะซิงโครนัส
- ตรวจสอบสถานะ - ตรวจสอบสถานะ Charge ผ่าน Webhook หรือ API
- ดำเนินการคำสั่งซื้อ - ประมวลผลคำสั่งซื้อหลังจากชำระเงินสำเร็จ
ประเภทของ Source
การชำระเงินแบบ QR
| Type | Description | Region |
|---|---|---|
| promptpay | การชำระเงินด้วย QR แห่งชาติของไทย | Thailand |
| alipay | อีวอลเล็ตชั้นนำของจีน | International |
| wechat_pay | WeChat Pay QR | International |
| paynow | การชำระเงินด้วย QR ของสิงคโปร์ | Singapore |
โมบาย แบงก์กิ้ง
| Type | Description | Region |
|---|---|---|
| mobile_banking_scb | แอป SCB Easy | Thailand |
| mobile_banking_kbank | แอป K PLUS | Thailand |
| mobile_banking_bbl | Bangkok Bank Mobile | Thailand |
| mobile_banking_bay | Krungsri Mobile | Thailand |
| mobile_banking_ktb | แอป Krungthai NEXT | Thailand |
อินเทอร์เน็ตแบงก์กิ้ง
| Type | Description | Region |
|---|---|---|
| internet_banking_scb | SCB ออนไลน์แบงก์กิ้ง | Thailand |
| internet_banking_bbl | Bangkok Bank ออนไลน์ | Thailand |
| internet_banking_bay | Krungsri ออนไลน์ | Thailand |
| fpx | ออนไลน์แบงก์กิ้งของมาเลเซีย | Malaysia |
วิธีการชำร ะเงินอื่นๆ
| Type | Description | Region |
|---|---|---|
| truemoney | TrueMoney Wallet | Thailand |
| rabbit_linepay | Rabbit LINE Pay | Thailand |
| installment_bay | การผ่อนชำระของ Krungsri | Thailand |
| installment_kbank | การผ่อนชำระของ Kasikornbank | Thailand |
| econtext | การชำระเงินที่ร้านสะดวกซื้อ | Japan |
วงจรชีวิตของ Source
สถานะ
| State | Description | Charge Status |
|---|---|---|
| pending | สร้าง Source แล้ว รอการชำระเงิน | pending |
| successful | ชำระเงินเสร็จสิ้น | successful |
| failed | การชำระเงินล้มเหลวหรือถูกปฏิเสธ | failed |
| expired | หมดเวลาการชำระเงิน | expired |
กฎการหมดอายุ
วิธีการชำระเงินที่แตกต่างกันมีเวลาหมดอายุเริ่มต้นที่แตกต่างกัน:
การตรวจสอบเวลาหมดอายุ
เวลาหมดอายุที่ระบุด้านล่างขึ้นอยู่กับเอกสารที่มีอยู่และอาจมีการเปลี่ยนแปลง สำหรับเวลาหมดอายุที่แม่นยำและเป็นปัจจุบันที่สุดสำหรับวิธีการชำระเงินเฉพาะของคุณ โปรดดูเอกสารวิธีการชำระเงินแต่ละรายการ หรือติดต่อฝ่ายสนับสนุน Omise
| Payment Method | Default Expiration | Custom Expiration |
|---|---|---|
| PromptPay | 24 ชั่วโมง | ปรับแต่งได้ผ่าน expires_in |
| Mobile Banking (SCB/KBANK/BBL/BAY/KTB) | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| Internet Banking (SCB/BBL/BAY) | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| FPX (Malaysia) | 30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| PayNow (Singapore) | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| Alipay | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| WeChat Pay | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| TrueMoney Wallet | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| Rabbit LINE Pay | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| GrabPay | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| Boost | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| Touch 'n Go | 15-30 นาที* | ปรับแต่งได้ผ่าน expires_in |
| Installment Plans (BAY/KBANK) | 24-48 ชั่วโมง* | ปรับแต่งได้ผ่าน expires_in |
| Convenience Stores (Japan) | 7 วัน* | ปรับแต่งได้ผ่าน expires_in |
*ตรวจสอบกับเอกสารวิธีการชำระเงินเฉพาะหรือฝ่ายสนับสนุน Omise สำหรับค่าที่แน่นอน
การตั้งค่าการหมดอายุแบบกำหนดเอง:
const source = await omise.sources.create({
type: 'promptpay',
amount: 100000,
currency: 'thb',
expires_in: 1800 // 30 minutes (in seconds)
});
แนวทางปฏิบัติที่ดีที่สุด:
- ตรวจสอบเอกสารวิธีการชำระเงินแต่ละรายการสำหรับเวลาหมดอายุที่แนะนำ