API ธุรกรรมถอนเงิน
About 2 min
คำขอ
API ถอนเงินช่วยให้พ่อค้าเริ่มต้นธุรกรรมการจ่ายเงินให้กับผู้รับ
วิธีการจ่ายเงินที่รองรับรวมถึง:
การโอนเงินธนาคาร
กระเป๋าเงินดิจิทัล
บัญชีเสมือน
ช่องทางการชำระเงินอิเล็กทรอนิกส์อื่นๆ
เส้นทางคำขอ:
sandbox:
https://sandbox-gateway.smilepayz.com/v2.0/disbursement/pay-out
production:https://gateway.smilepayz.com/v2.0/disbursement/pay-out
พารามิเตอร์ Header
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
Content-Type | M | String | ข้อกำหนดประเภทเนื้อหา HTTP ค่าคงที่: application/json จำเป็นสำหรับการแยกวิเคราะห์คำขอที่เหมาะสม |
X-TIMESTAMP | M | String | รูปแบบวันที่เวลา ISO 8601 พร้อม offset เขตเวลา รูปแบบ: yyyy-MM-ddTHH:mm:ss±HH:mm ตัวอย่าง: 2020-12-17T10:55:00+07:00 หมายเหตุ: ต้องเป็นเวลาเซิร์ฟเวอร์ปัจจุบันภายใน ±5 นาที |
X-SIGNATURE | M | String | ลายเซ็นดิจิทัลสำหรับการยืนยันตัวตนคำขอ ดู การสร้างลายเซ็น |
X-PARTNER-ID | M | String | ตัวระบุพ่อค้าเฉพาะที่ได้รับมอบหมายจากแพลตฟอร์ม รูปแบบ: สตริงตัวอักษรและตัวเลข ใช้สำหรับการยืนยันตัวตนพ่อค้าและการเส้นทางธุรกรรม กรุณาใส่ merchantID |
พารามิเตอร์ Body
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
orderNo | M | String(32) | ตัวระบุธุรกรรมเฉพาะสำหรับการติดตามพ่อค้า รูปแบบ: ตัวอักษรและตัวเลขเท่านั้น ความยาว: 6-32 ตัวอักษร ต้องไม่ซ้ำกันภายในขอบเขตพ่อค้า |
purpose | M | String(64) | คำอธิบายธุรกรรมที่อ่านได้ รูปแบบ: สตริงที่เข้ารหัส UTF-8 ความยาว: 1-64 ตัวอักษร ใช้สำหรับประวัติธุรกรรมและการรายงาน |
merchant | M | Object | ภาชนะข้อมูลการระบุตัวตนและธุรกิจของพ่อค้า ประกอบด้วยรายละเอียดพ่อค้าหลักและพ่อค้าย่อย จำเป็นสำหรับการเส้นทางธุรกรรมและการชำระบัญชี |
merchantId | M | String | ตัวระบุพ่อค้าหลักที่ได้รับมอบหมายจากแพลตฟอร์ม รูปแบบ: สตริงตัวอักษรและตัวเลข ใช้สำหรับการเส้นทางธุรกรรมและการประมวลผลการชำระบัญชี |
merchantName | O | String | ชื่อธุรกิจที่ลงทะเบียนของพ่อค้า รูปแบบ: สตริงที่เข้ารหัส UTF-8 แสดงในบันทึกธุรกรรม |
subMerchantId | O | String | ตัวระบุพ่อค้าย่อยสำหรับโครงสร้างพ่อค้าหลายระดับ รูปแบบ: สตริงตัวอักษรและตัวเลข จำเป็นสำหรับการประมวลผลธุรกรรมพ่อค้าย่อย |
subMerchantName | O | String | ชื่อธุรกิจพ่อค้าย่อยสำหรับการแสดงผล รูปแบบ: สตริงที่เข้ารหัส UTF-8 แสดงในบันทึกธุรกรรม |
money | M | Object | ภาชนะข้อกำหนดจำนวนเงินและสกุลเงินธุรกรรม กำหนดมูลค่าการจ่ายเงินและหน่วยเงิน จำเป็นสำหรับการประมวลผลการชำระเงินและการชำระบัญชี |
currency | M | String | ข้อกำหนดรหัสสกุลเงิน ISO 4217 ค่าคงที่: THB (บาทไทย) กำหนดกฎการประมวลผลการชำระเงินและสกุลเงินการชำระบัญชี |
amount | M | Number | จำนวนเงินธุรกรรมในหน่วยสกุลเงินที่เล็กที่สุด รูปแบบ: ค่าจำนวนเต็ม ตัวอย่าง: 200 แทน THB 200.00 ช่วง: 100-999999999 |
paymentMethod | M | String | ข้อกำหนดวิธีการจ่ายเงิน รูปแบบ: รหัสวิธีการชำระเงินที่กำหนดไว้ล่วงหน้า ตัวอย่าง: KBANK, BBL, SCB กำหนดช่องทางการจ่ายเงินที่ใช้ ดู รายการวิธีการชำระเงิน |
cashAccount | M | String(32) | ตัวระบุบัญชีผู้รับสำหรับการจ่ายเงิน รูปแบบ: หมายเลขบัญชีธนาคารหรือบัญชีกระเป๋าเงินอิเล็กทรอนิกส์ ตัวอย่าง: บัญชีธนาคาร (17385238451), บัญชีกระเป๋าเงินดิจิทัล ต้องเป็นบัญชีที่ถูกต้องและใช้งานได้สำหรับการโอนที่สำเร็จ |
callbackUrl | O | String(256) | URL ปลายทางการแจ้งเตือน Webhook รูปแบบ: URL HTTP/HTTPS ที่ถูกต้อง ความยาวสูงสุด: 256 ตัวอักษร รับการอัปเดตสถานะธุรกรรมแบบเรียลไทม์ |
ตัวอย่าง Body – คำขอถอนเงิน:
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001
{
"orderNo": "2000102900000000000001",
"paymentMethod": "KBANK",
"purpose": "Purpose For Disbursement from Java SDK",
"cashAccount": "17385238451",
"merchant": {
"merchantId": "20001"
},
"money": {
"amount": 200,
"currency": "THB"
}
}
การตอบสนอง
การตอบสนอง HTTP
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
Content-Type | M | String | ข้อกำหนดประเภทเนื้อหาการตอบสนอง HTTP ค่าคงที่: application/json ระบุรูปแบบการตอบสนอง JSON |
X-TIMESTAMP | M | String | รูปแบบวันที่เวลา ISO 8601 พร้อมออฟเซ็ตเขตเวลา รูปแบบ: yyyy-MM-ddTHH:mm:ss±HH:mm ตัวอย่าง: 2020-12-17T10:55:00+07:00 |
พารามิเตอร์เนื้อหา
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
code | M | String | รหัสสถานะการตอบสนอง API ที่ระบุผลลัพธ์การดำเนินการ รูปแบบ: สตริงสองหลัก สำเร็จ: "00", ข้อผิดพลาด: รหัสอื่นๆ ใช้สำหรับการจัดการการตอบสนองแบบโปรแกรม |
message | M | String | คำอธิบายสถานะการตอบสนองที่อ่านได้โดยมนุษย์ รูปแบบ: สตริงที่เข้ารหัส UTF-8 ให้ข้อมูลรายละเอียดเกี่ยวกับผลลัพธ์การดำเนินการ แปลเป็นภาษาตามภาษาของคำขอ |
orderNo | M | String | หมายเลขอ้างอิงธุรกรรมพ่อค้าเดิมสำหรับการอ้างอิง รูปแบบ: เหมือนกับ orderNo ในคำขอ ใช้สำหรับการติดตามธุรกรรมและการตรวจสอบ |
tradeNo | O | String | หมายเลขอ้างอิงธุรกรรมภายในสำหรับการติดตามระบบ รูปแบบ: สตริงตัวอักษรและตัวเลขที่สร้างโดยระบบ ใช้สำหรับการจัดการธุรกรรมภายในและการสนับสนุน |
merchant | M | Object | ภาชนะข้อมูลพ่อค้าพร้อมรายละเอียดบัญชี ประกอบด้วยการระบุตัวตนพ่อค้าและข้อมูลบัญชี ดู โมเดลพ่อค้า |
merchantId | M | String | ตัวระบุพ่อค้าหลักที่กำหนดโดยแพลตฟอร์ม รูปแบบ: สตริงตัวอักษรและตัวเลข ใช้สำหรับการเส้นทางธุรกรรมและการประมวลผลการชำระบัญชี |
merchantName | O | String | ชื่อธุรกิจที่ลงทะเบียนของพ่อค้า รูปแบบ: สตริงที่เข้ารหัส UTF-8 แสดงในบันทึกธุรกรรม |
subMerchantId | O | String | ตัวระบุพ่อค้าย่อยสำหรับโครงสร้างพ่อค้าหลายระดับ รูปแบบ: สตริงตัวอักษรและตัวเลข จำเป็นสำหรับการประมวลผลธุรกรรมพ่อค้าย่อย |
subMerchantName | O | String | ชื่อธุรกิจพ่อค้าย่อยสำหรับการแสดงผล รูปแบบ: สตริงที่เข้ารหัส UTF-8 แสดงในบันทึกธุรกรรม |
accountNo | O | String | หมายเลขบัญชาพ่อค้าสำหรับการประมวลผลธุรกรรม รูปแบบ: สตริงตัวอักษรและตัวเลข ใช้สำหรับการเส้นทางธุรกรรมและการชำระบัญชี |
money | M | Object | รายละเอียดจำนวนธุรกรรมพร้อมข้อกำหนดสกุลเงิน ประกอบด้วยจำนวนการถอนเงินที่ยืนยันและสกุลเงิน ดู โมเดลเงิน |
currency | M | String | ข้อกำหนดรหัสสกุลเงิน ISO 4217 ค่าคงที่: THB (บาทไทย) กำหนดกฎการประมวลผลการชำระเงินและสกุลเงินการชำระบัญชี |
amount | M | Number | จำนวนธุรกรรมในหน่วยสกุลเงินที่เล็กที่สุด รูปแบบ: ค่าจำนวนเต็ม ตัวอย่าง: 200 แทน THB 200.00 ช่วง: 100-999999999 |
disbursementTime | M | String | รูปแบบวันที่เวลา ISO 8601 (yyyy-MM-ddTHH:mm:ss±HH:mm) ตัวอย่าง: 2020-12-17T10:55:00+07:00 เวลาที่ระบบประมวลผลการถอนเงิน |
channel | M | Object | รายละเอียดช่องทางการประมวลผลการถอนเงิน ประกอบด้วยวิธีการชำระเงินและข้อมูลบัญชีผู้รับ ดู โมเดลช่องทาง |
paymentMethod | M | String | วิธีการถอนเงินที่ใช้สำหรับการประมวลผลธุรกรรม รูปแบบ: รหัสวิธีการชำระเงินที่กำหนดไว้ล่วงหน้า ตัวอย่าง: KBANK, BBL, SCB ระบุช่องทางการถอนเงินที่ใช้จริง |
cashAccount | M | String | ตัวระบุบัญชีผู้รับสำหรับการถอนเงิน รูปแบบ: หมายเลขบัญชีธนาคารหรือบัญชีกระเป๋าเงินอิเล็กทรอนิกส์ ใช้สำหรับการประมวลผลการถอนเงินและการยืนยัน |
accountName | O | String | ชื่อเจ้าของบัญชีผู้รับสำหรับการยืนยัน รูปแบบ: สตริงที่เข้ารหัส UTF-8 ใช้สำหรับการยืนยันบัญชีและบันทึกธุรกรรม |
status | O | String | สถานะการประมวลผลธุรกรรมปัจจุบัน รูปแบบ: รหัสสถานะที่กำหนดไว้ล่วงหน้า ตัวอย่าง: PROCESSING, SUCCESS, FAILED ดู โมเดลสถานะ |
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00
{
"code": "00",
"message": "successful",
"orderNo": "2000102900000000000001",
"tradeNo": "20001032432400001",
"status": "PROCESSING",
"disbursementTime": "2020-12-17T10:55:00+07:00",
"merchant": {
"merchantId": "10002",
"merchantName": "Betty",
"accountNo": "2000124234782342"
},
"money": {
"currency": "THB",
"amount": 10000
},
"channel": {
"paymentMethod": "KBANK",
"cashAccount": "17385238451",
"accountName": "test"
}
}
แจ้งเตือน/การเรียกกลับ
คำขอ HTTP
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
Content-Type | M | String | ข้อกำหนดประเภทเนื้อหา HTTP สำหรับการแจ้งเตือน ค่าคงที่: application/json ระบุรูปแบบข้อมูล JSON |
X-TIMESTAMP | M | String | รูปแบบวันที่เวลา ISO 8601 พร้อมออฟเซ็ตเขตเวลา รูปแบบ: yyyy-MM-ddTHH:mm:ss±HH:mm ตัวอย่าง: 2020-12-17T10:55:00+07:00 |
X-SIGNATURE | M | String | ลายเซ็นดิจิทัลสำหรับการยืนยันการแจ้งเตือน รูปแบบ: ลายเซ็นที่เข้ารหัส Base64 ใช้เพื่อยืนยันความถูกต้องของการแจ้งเตือน ดู วิธีตรวจสอบค่านี้ |
พารามิเตอร์เนื้อหา
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
orderNo | M | String | หมายเลขอ้างอิงธุรกรรมพ่อค้าเดิมสำหรับการอ้างอิง รูปแบบ: เหมือนกับ orderNo ในคำขอ ใช้สำหรับการตรวจสอบและติดตามธุรกรรม |
tradeNo | M | String | หมายเลขอ้างอิงธุรกรรมภายในสำหรับการติดตามระบบ รูปแบบ: สตริงตัวอักษรและตัวเลขที่สร้างโดยระบบ ใช้สำหรับการจัดการธุรกรรมภายในและการสนับสนุน |
merchantId | M | String | ตัวระบุพ่อค้าหลักสำหรับการเส้นทางธุรกรรม รูปแบบ: สตริงตัวอักษรและตัวเลข ใช้สำหรับการระบุตัวตนพ่อค้าและการประมวลผลการชำระบัญชี |
merchantName | M | String | ชื่อธุรกิจที่ลงทะเบียนของพ่อค้าสำหรับการแสดงผล รูปแบบ: สตริงที่เข้ารหัส UTF-8 แสดงในบันทึกธุรกรรมและรายงาน |
subMerchantId | O | String | ตัวระบุพ่อค้าย่อยสำหรับโครงสร้างหลายระดับ รูปแบบ: สตริงตัวอักษรและตัวเลข รวมเมื่อพ่อค้าย่อยเกี่ยวข้องกับธุรกรรม |
subMerchantName | O | String | ชื่อธุรกิจพ่อค้าย่อยสำหรับการแสดงผล รูปแบบ: สตริงที่เข้ารหัส UTF-8 รวมเมื่อพ่อค้าย่อยเกี่ยวข้องกับธุรกรรม |
paymentMethod | M | String | วิธีการชำระเงินที่ใช้สำหรับการประมวลผลธุรกรรม รูปแบบ: รหัสวิธีการชำระเงินที่กำหนดไว้ล่วงหน้า ตัวอย่าง: KBANK, BBL, SCB ระบุช่องทางการถอนเงินที่ใช้จริง |
transactionTime | M | String | รูปแบบวันที่เวลา ISO 8601 (yyyy-MM-ddTHH:mm:ss) เวลาที่ผู้ให้บริการการชำระเงินเสร็จสิ้นธุรกรรม |
money | M | Object | รายละเอียดจำนวนธุรกรรมสุดท้ายพร้อมสกุลเงิน ประกอบด้วยจำนวนการถอนเงินที่ยืนยันและสกุลเงิน อาจแตกต่างจากจำนวนคำขอเนื่องจากค่าธรรมเนียมหรือการปรับปรุง ดู โมเดลเงิน |
currency | M | String | ข้อกำหนดรหัสสกุลเงิน ISO 4217 ค่าคงที่: THB (บาทไทย) กำหนดกฎการประมวลผลการชำระเงินและสกุลเงินการชำระบัญชี |
amount | M | Number | จำนวนธุรกรรมในหน่วยสกุลเงินที่เล็กที่สุด รูปแบบ: ค่าจำนวนเต็ม ตัวอย่าง: 200 แทน THB 200.00 ช่วง: 100-999999999 |
status | M | String | สถานะการประมวลผลธุรกรรมสุดท้าย รูปแบบ: รหัสสถานะที่กำหนดไว้ล่วงหน้า ตัวอย่าง: SUCCESS, FAILED ระบุผลลัพธ์สุดท้ายของธุรกรรม ดู โมเดลสถานะ |
การคืนค่า
สำคัญ
การแจ้งเตือนกรุณาคืนเฉพาะสตริง SUCCESS
{
"merchantId": "20001",
"merchantName": "test",
"money": {
"amount": 1000,
"currency": "THB"
},
"orderNo": "0TIn7z0G96HAGV8I734290310",
"status": "SUCCESS",
"tradeNo": "112200012412160218303176",
"transactionTime": "2024-12-16T02:18:30"
}
SUCCESS