Create Withdraw
API Withdraw นี้ช่วยให้ผู้ใช้สามารถเริ่มต้นธุรกรรมการถอนเงินจากบัญชี โดยมีการระบุรายละเอียดต่างๆ เช่น จำนวนเงินที่จะถอน บัญชีปลายทาง และข้อมูลที่จำเป็นอื่นๆ เพื่อดำเนินการธุรกรรมให้สำเร็จ
‼️‼️รายการถอน ห้ามตั้งเวลาหมดอายุรายการ ให้รีเช็คสถานะรายการด้วยการ Resend Callback เท่านั้น และห้ามยิง Retry โดยเด็ดขาด‼️‼️
รายละเอียด Endpoint
POST
/api/v1/client/create_withdraw
Headers
Authorization
Bearer YOUR_SECRET_TOKEN
x-api-key
YOUR_API_KEY
x-signature
YOUR_BASE64_ENCODED_SIGNATURE
Body
{
"amount":0,
"dest_bank_acc_no": "",
"dest_bank_acc_name": "",
"dest_bank_code": "",
"withdraw_code": "",
"callback_url": "",
"order_id": ""
}
amount
number
Required
จำนวนเงินที่ต้องการฝาก มีรูปแบบเป็นตัวเลขพร้อมทศนิยม 2 ตำแหน่ง (ไม่มี comma) เช่น 1000.00 หมายเหตุ: ในบางกรณีระบบอาจปรับค่าเล็กน้อยเพื่อใช้จับคู่กับ QR Code
dest_bank_acc_no
string
Required
เลขบัญชีผู้ถอน
dest_bank_ac_name
string
Required
ชื่อบัญชีผู้ถอน
dest_bank_code
string
Required
รหัสธนาคารของผู้ถอน
withdraw_code
string
Optional
รหัส Pin Code ที่ใส่ยืนยันรายการเมื่อรายการถอนมียอดถอนมากกว่าขั้นต่ำ
callback_url
string
Optional
URL สำหรับรับ Callback หากต้องการเปลี่ยนเฉพาะคำสั่งนี้ หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นที่ตั้งไว้ในหน้า Profile ของร้านค้า
order_id
string
Optional
ของรายการร้านค้า
curl -X POST https://baseUrl/api/v1/client/create_withdraw
-H "Authorization: Bearer YOUR_SECRET_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-signature: YOUR_BASE64_ENCODED_SIGNATURE" \
-H "Content-Type: application/json" \
-d '{
"amount": 500,
"dest_bank_acc_no": "9876543210",
"dest_bank_acc_name": "John Doe",
"dest_bank_code": "004",
"withdraw_code": "635124",
"callback_url": "https://yourcallbackurl.com",
"order_id": "123e4567-426614174000"
}'
การตอบกลับจาก API (Response Example)
{
"status": "string",
"ref_id": "string",
"dest_bank_code": "string",
"dest_bank_acc_no": "string",
"dest_bank_acc_name": "string",
"amount": 0,
"withdraw_time": "string"
}
Callback Response
เมื่อทำการเรียก API เพื่อสร้างการถอนเงิน/client/create_withdraw
ระบบจะส่งข้อมูลการถอนกลับไปที่ URL callback ที่คุณได้ตั้งค่าไว้ในระบบ
เมื่อการทำรายการสำเร็จ ระบบจะส่ง callback กลับไปที่ URL ที่ได้ตั้งค่าไว้ในระบบ โดยมีโครงสร้างข้อมูลดังนี้
{
"type": "WITHDRAW",
"status": "", //AUTO_SUCCESS ,FAILED
"status_desc": "",
"amount": 0,
"mdr_amount": 0,
"stm_desc": "",
"stm_ref_id": "",
"stm_bank_code": "",
"stm_bank_acc_no": "",
"stm_bank_acc_name": "",
"stm_timestamp": "",
"txn_ref_id": "",
"txn_ref_user_id": "",
"txn_ref1": "",
"txn_ref2": "",
"txn_ref_order_id": "",
"txn_ref_bank_code": "",
"txn_ref_bank_acc_no": "",
"txn_ref_bank_acc_name_en": "",
"txn_ref_bank_acc_name_th": "",
"txn_timestamp": "",
}
PROCESSING
กำลังดำเนินการ
AUTO_SUCCESS
ถอนสำเร็จ
PENDING_CONFIRM
รอร้านค้ายืนยันรายการด้วย Withdraw Code(Pin)
FAILED
ถอนล้มเหลว รหัสธนาคารของผู้ถอน
Callback สำหรับรายการสำเร็จและไม่สำเร็จมีข้อมูลเหมือนกัน ต่างกันที่ Status เท่านั้น
JaveScript Example
const axios = require('axios')
try {
const { data } = await axios.post(
`${baseUrl}/api/v1/client/create_withdraw`,
{
amount: 500, // จำนวนเงินที่ต้องการถอน
dest_bank_acc_no: "9876543210", // หมายเลขบัญชีธนาคารปลายทาง
dest_bank_acc_name: "John Doe", // ชื่อเจ้าของบัญชีปลายทาง
dest_bank_code: "004", // รหัสธนาคารปลายทาง (ตัวอย่างคือรหัสธนาคารกรุงเทพ)
withdraw_code: "635124", // รหัสการถอน (ที่ระบบจะใช้ตรวจสอบ)
callback_url: "https://yourcallbackurl.com", // URL ที่จะรับข้อมูลเมื่อการทำรายการเสร็จสิ้น
order_id: "123e4567-426614174000" // รหัสคำสั่งถอนที่ไม่ซ้ำ
},
{
headers: { // การตั้งค่าหัวข้อต่างๆ ที่จำเป็นในการส่งคำขอ
Authorization: 'Bearer YOUR_ACCESS_TOKEN', // ใส่ Access Token ของคุณที่ได้รับ
'x-api-key': 'YOUR_API_KEY', // ใส่ API Key ของคุณที่ได้รับ
'x-signature': 'YOUR_BASE64_ENCODED_SIGNATURE', // ใส่ลายเซ็นที่เข้ารหัส
'Content-Type': 'application/json' // ระบุว่า Content-Type เป็น JSON
},
}
)
}
Last updated