Callback การถอนเงิน
เมื่อคำสั่งถอนเงินดำเนินการเสร็จสิ้นหรือล้มเหลว ระบบจะแจ้งเตือนร้านค้าผ่าน Webhook (URL ที่ระบุตอนสร้างคำสั่งถอนเงิน)
โดยส่ง POST request พร้อม Content-Type: application/json ไปยัง notify URL ของร้านค้าพร้อมข้อมูลด้านล่าง Signature จะถูกส่งใน header X-Signature ผู้ใช้ต้องตรวจสอบ Signature ก่อนดำเนินการต่อ
Method : POST
ข้อมูล Callback
{
"merchant_id" : "[merchant id]",
"platform_order_id" : "[platform order id]",
"client_order_id" : "[merchant order id]",
"mode" : "WITHDRAW",
"bank" : "[bank code]",
"account_no" : "[account number]",
"account_name" : "[account name]",
"amount" : "[amount]",
"status" : "PAID",
"timestamp" : [timestamp]
}
คำอธิบาย
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| merchant_id | รหัสร้านค้า |
| platform_order_id | รหัสคำสั่งซื้อของแพลตฟอร์ม |
| client_order_id | รหัสคำสั่งซื้อของร้านค้า |
| mode | WITHDRAW สำหรับการแจ้งเตือนการถอนเงิน |
| bank | รหัสธนาคาร |
| account_no | เลขที่บัญชี |
| account_name | ชื่อบัญชี |
| amount | จำนวนเงิน |
| status | สถานะ SUCCESS FAIL |
ตัวอย่าง HTTP Request ทั้งหมด
POST /callback HTTP/1.1
Content-Type: application/json
Connection: Close
X-Signature: 6cd4a32478f5ec8e69343988dc9137e37d3eb02123adc3248ec4ea0aeca2e922
{
"merchant_id" : "AA12345678",
"platform_order_id" : "THBW2024042821130xxxxxxxxx",
"client_order_id" : "ORDER0123456789789445566",
"mode" : "WITHDRAW",
"bank": "KBANK",
"account_no": "1234567890",
"account_name": "สมชาย นามสมมุติ",
"amount" : "1000.00",
"status" : "SUCCESS",
"timestamp" : 112233445566
}
การจัดการ Callback
เพื่อให้การจัดการ Callback จากระบบ ถูกต้อง กรุณาพัฒนาระบบรับ Webhook โดยคำนึงถึงสิ่งต่อไปนี้:
การตอบกลับ HTTP Status 200: ระบบของคุณต้องตอบกลับด้วย HTTP status code 200 เมื่อได้รับและประมวลผล Callback สำเร็จ หากระบบไม่ได้รับการตอบกลับ 200 ระบบจะส่ง Callback ซ้ำหลังจากรอสักครู่จนกว่าจะได้รับการยืนยัน
การจัดการ Callback ซ้ำ (Idempotency): เป็นเรื่องปกติที่อาจเกิด Callback ซ้ำ ตรวจสอบให้ระบบของคุณยืนยันแต่ละ Callback โดยใช้ platform_order_id หรือ client_order_id ก่อนดำเนินการ พัฒนาระบบให้ Callback ซ้ำไม่ทำให้เกิดการดำเนินการหรือธุรกรรมทางการเงินซ้ำ
ขั้นตอนเหล่านี้เป็นไปตามมาตรฐานอุตสาหกรรมสำหรับการพัฒนา Webhook และช่วยให้การประมวลผล Callback มีความทนทานและเชื่อถือได้