API ธุรกรรมถอนเงิน
คำขอ
API ถอนเงินช่วยให้พ่อค้าสามารถเริ่มต้นธุรกรรมการจ่ายเงินให้กับผู้รับต่างๆ รวมถึงพนักงาน ลูกค้า ผู้จัดจำหน่าย และพันธมิตร 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-03: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 ความยาวสูงสุด: 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 ค่าคงที่: CLP (เปโซชิลี) กำหนดกฎการประมวลผลการชำระเงินและสกุลเงินการชำระบัญชี |
amount | M | Number | จำนวนเงินธุรกรรมในหน่วยสกุลเงินที่เล็กที่สุด รูปแบบ: ค่าจำนวนเต็ม ตัวอย่าง: 20000 แทน CLP 20000 ช่วง: 100-999999999 |
paymentMethod | M | String(6) | วิธีการชำระเงินที่ใช้สำหรับการประมวลผลธุรกรรม รูปแบบ: รหัสวิธีการชำระเงินที่กำหนดไว้ล่วงหน้า ตัวอย่าง: BANCO_ESTADO, BANCO_CHILE, BANCO_SANTANDER ระบุช่องทางการชำระเงินที่ใช้จริง ดู รายการวิธีการชำระเงิน |
cashAccount | M | String(32) | หมายเลขบัญชีธนาคารชิลี รูปแบบ: สตริงตัวอักษรและตัวเลข ความยาวสูงสุด: 32 ตัวอักษร ใช้สำหรับปลายทางการโอนเงิน |
cashAccountType | M | String(32) | ข้อกำหนดประเภทบัญชีธนาคาร รูปแบบ: รหัสประเภทบัญชีที่กำหนดไว้ล่วงหน้า ค่า: CORRIENTE (กระแสรายวัน), AHORROS (ออมทรัพย์) ใช้เพื่อระบุประเภทบัญชีสำหรับการโอนเงิน |
receiver | M | Object | ภาชนะข้อมูลผู้รับเงิน ประกอบด้วยการระบุตัวตนผู้รับผลประโยชน์และรายละเอียดการติดต่อ ดู โมเดลผู้รับเงิน |
name | M | String | ชื่อเต็มของผู้รับเงิน รูปแบบ: สตริงที่เข้ารหัส UTF-8 ตัวอย่าง: "Maria Rodriguez Silva" ใช้สำหรับการระบุตัวตนผู้รับผลประโยชน์และบันทึกธุรกรรม |
M | String | ที่อยู่อีเมลของผู้รับเงิน รูปแบบ: ที่อยู่อีเมลที่ถูกต้อง ตัวอย่าง: "[email protected]" ใช้สำหรับการสื่อสารและการแจ้งเตือนธุรกรรม | |
phone | M | String | หมายเลขโทรศัพท์ของผู้รับเงิน รูปแบบ: รูปแบบหมายเลขโทรศัพท์ชิลี ตัวอย่าง: "+56912345678" ใช้สำหรับการสื่อสารและการยืนยัน |
idType | M | String | ประเภทเอกสารแสดงตน รูปแบบ: รหัสประเภทเอกสารแสดงตนที่กำหนดไว้ล่วงหน้า ค่า: DNI (บัตรประชาชน), CE (บัตรชาวต่างชาติ), PAS (หนังสือเดินทาง), RUT (เลขประจำตัวผู้เสียภาษี) ใช้สำหรับการยืนยันตัวตน |
identity | M | String | หมายเลขเอกสารแสดงตน รูปแบบ: สตริงตัวอักษรและตัวเลข ตัวอย่าง: "12345678-9" ใช้สำหรับการยืนยันตัวตนและบันทึกธุรกรรม |
callbackUrl | O | String(256) | URL การแจ้งเตือน Webhook สำหรับการอัปเดตสถานะธุรกรรม รูปแบบ: URL HTTP/HTTPS ที่ถูกต้อง ความยาวสูงสุด: 256 ตัวอักษร ใช้สำหรับการแจ้งเตือนสถานะธุรกรรมแบบเรียลไทม์ |
หมายเหตุสำคัญ
1. รหัสธุรกรรม:
orderNo
ต้องไม่ซ้ำกันในธุรกรรมทั้งหมดสำหรับพ่อค้า
2. รูปแบบจำนวนเงิน: จำนวนเงินควรให้ในหน่วยสกุลเงินที่เล็กที่สุด (เปโซสำหรับ CLP)
3. เขตเวลา: ไทม์สแตมป์ทั้งหมดใช้เขตเวลาชิลี (UTC-3)
4. บัญชีธนาคาร: ต้องเป็นหมายเลขบัญชีธนาคารชิลีที่ถูกต้อง
5. ประเภทเอกสารแสดงตน: รองรับเอกสารแสดงตนของชิลีและชาวต่างชาติ
6. วิธีการชำระเงิน: รองรับธนาคารหลักและสถาบันการเงินของชิลีทั้งหมด
ตัวอย่าง Body – คำขอจ่ายเงิน:
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-03:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001
{
"cashAccount": "12532481501",
"cashAccountType": "CORRIENTE",
"receiver": {
"idType": "DNI",
"identity": "12345678-9",
"name": "Maria Rodriguez Silva",
"phone": "+56912345678",
"email": "[email protected]"
},
"merchant": {
"merchantId": "20001"
},
"money": {
"amount": 20000,
"currency": "CLP"
},
"orderNo": "2000102900000000000001",
"paymentMethod": "BANCO_ESTADO",
"purpose": "Salary payment for March 2024"
}
การตอบกลับ
การตอบกลับ HTTP
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
Content-Type | M | String | ข้อกำหนดประเภทเนื้อหาการตอบกลับ HTTP ค่าคงที่: application/json ระบุรูปแบบการตอบกลับ JSON |
X-TIMESTAMP | M | String | รูปแบบวันที่เวลา ISO 8601 พร้อม offset เขตเวลา รูปแบบ: yyyy-MM-ddTHH:mm:ss±HH:mm ตัวอย่าง: 2020-12-17T10:55:00-03:00 |
พารามิเตอร์ Body
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
code | M | String | รหัสสถานะการตอบสนอง API ที่ระบุผลการดำเนินการ รูปแบบ: สตริงสองหลัก สำเร็จ: "00", ข้อผิดพลาด: รหัสอื่นๆ ใช้สำหรับการจัดการการตอบสนองแบบโปรแกรม |
message | M | String | คำอธิบายสถานะการตอบสนองที่อ่านได้ รูปแบบ: สตริงที่เข้ารหัส UTF-8 ให้ข้อมูลรายละเอียดเกี่ยวกับผลการดำเนินการ แปลเป็นภาษาตามภาษาของคำขอ |
orderNo | M | String | ตัวระบุธุรกรรมเฉพาะที่ให้ในคำขอ รูปแบบ: สตริงตัวอักษรและตัวเลข เหมือนกับ orderNo ที่ให้ในคำขอ ใช้สำหรับการติดตามและอ้างอิงธุรกรรม |
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 ค่าคงที่: CLP (เปโซชิลี) กำหนดกฎการประมวลผลการชำระเงินและสกุลเงินการชำระบัญชี |
amount | M | Number | จำนวนเงินธุรกรรมในหน่วยสกุลเงินที่เล็กที่สุด รูปแบบ: ค่าจำนวนเต็ม ตัวอย่าง: 20000 แทน CLP 20000 ช่วง: 100-999999999 |
disbursementTime | M | String | ไทม์สแตมป์การเสร็จสิ้นธุรกรรม รูปแบบ: yyyy-MM-ddTHH:mm:ss ตัวอย่าง: 2020-12-17T10:55:00-03:00 ใช้สำหรับการจับเวลาธุรกรรมและการตรวจสอบ |
channel | M | Object | ภาชนะข้อมูลช่องทางการชำระเงิน ประกอบด้วยวิธีการชำระเงินและรายละเอียดการประมวลผล ดู โมเดลช่องทาง |
tradeNo | O | String | หมายเลขอ้างอิงธุรกรรมภายในสำหรับการติดตามระบบ รูปแบบ: สตริงตัวอักษรและตัวเลขที่สร้างโดยระบบ ใช้สำหรับการจัดการธุรกรรมภายในและการสนับสนุน |
status | O | String | สถานะการประมวลผลธุรกรรมปัจจุบัน รูปแบบ: รหัสสถานะที่กำหนดไว้ล่วงหน้า ตัวอย่าง: PROCESSING, SUCCESS, FAILED, CANCELLED ระบุสถานะปัจจุบันของธุรกรรม ดู โมเดลสถานะ |
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-03:00
{
"code": "00",
"message": "successful",
"orderNo": "2000102900000000000001",
"tradeNo": "1722000109e998347483949",
"status": "PROCESSING",
"disbursementTime": "2020-12-17T10:55:00-03:00",
"merchant": {
"merchantId": "20001",
"merchantName": "test",
"accountNo": "2000124234782342"
},
"money": {
"currency": "CLP",
"amount": 20000
},
"channel": {
"paymentMethod": "BANCO_ESTADO",
"cashAccount": "12532481501",
"accountName": "Maria Rodriguez Silva"
}
}
การแจ้งเตือน
คำขอ HTTP
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
Content-Type | M | String | ข้อกำหนดประเภทเนื้อหาคำขอ HTTP ค่าคงที่: application/json ระบุรูปแบบคำขอ JSON |
X-TIMESTAMP | M | String | รูปแบบวันที่เวลา ISO 8601 พร้อม offset เขตเวลา รูปแบบ: yyyy-MM-ddTHH:mm:ss±HH:mm ตัวอย่าง: 2020-12-17T10:55:00-03:00 |
X-SIGNATURE | M | String | ลายเซ็นดิจิทัลสำหรับการยืนยันตัวตนการแจ้งเตือน ดู การตรวจสอบลายเซ็น Callback |
พารามิเตอร์ Body
ฟิลด์ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
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 | วิธีการชำระเงินที่ใช้สำหรับการประมวลผลธุรกรรม รูปแบบ: รหัสวิธีการชำระเงินที่กำหนดไว้ล่วงหน้า ตัวอย่าง: BANCO_ESTADO, BANCO_CHILE, BANCO_SANTANDER ระบุช่องทางการชำระเงินที่ใช้จริง |
transactionTime | M | String | ไทม์สแตมป์การเสร็จสิ้นธุรกรรม รูปแบบ: yyyy-MM-ddTHH:mm:ss ตัวอย่าง: 2020-12-17T10:55:00-03:00 ใช้สำหรับการจับเวลาธุรกรรมและการตรวจสอบ |
status | M | String | สถานะการประมวลผลธุรกรรมขั้นสุดท้าย รูปแบบ: รหัสสถานะที่กำหนดไว้ล่วงหน้า ตัวอย่าง: SUCCESS, FAILED, CANCELLED ระบุสถานะขั้นสุดท้ายของธุรกรรม ดู โมเดลสถานะ |
money | M | Object | รายละเอียดจำนวนเงินธุรกรรมพร้อมข้อกำหนดสกุลเงิน ประกอบด้วยจำนวนเงินธุรกรรมที่ยืนยันและสกุลเงิน ดู โมเดลเงิน |
currency | M | String | ข้อกำหนดรหัสสกุลเงิน ISO 4217 ค่าคงที่: CLP (เปโซชิลี) กำหนดกฎการประมวลผลการชำระเงินและสกุลเงินการชำระบัญชี |
amount | M | Number | จำนวนเงินธุรกรรมในหน่วยสกุลเงินที่เล็กที่สุด รูปแบบ: ค่าจำนวนเต็ม ตัวอย่าง: 20000 แทน CLP 20000 ช่วง: 100-999999999 |
การตอบกลับ
การตอบสนองที่สำคัญ
การตอบสนองการแจ้งเตือน: กรุณาตอบกลับเฉพาะสตริง
SUCCESS
เพื่อยืนยันการรับการแจ้งเตือน
{
"merchantId": "20001",
"merchantName": "test",
"money": {
"amount": 20000,
"currency": "CLP"
},
"orderNo": "2000102900000000000001",
"status": "SUCCESS",
"tradeNo": "1722000109e998347483949",
"transactionTime": "2020-12-17T10:55:00-03:00"
}
SUCCESS