API ธุรกรรมชำระเงิน
About 2 min
คำขอ
Pay-In API ช่วยให้พ่อค้าสามารถเริ่มต้นธุรกรรมการรับการชำระเงินจากลูกค้า API นี้รองรับวิธีการชำระเงินต่างๆ สำหรับการรับเงินที่ปลอดภัยและมีประสิทธิภาพในตลาดชิลี
เส้นทางคำขอ:
sandbox:
https://sandbox-gateway.smilepayz.com/v2.0/transaction/pay-in
production:https://gateway.smilepayz.com/v2.0/transaction/pay-in
พารามิเตอร์ 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 |
payer | M | Object | ภาชนะข้อมูลผู้จ่ายเงิน ประกอบด้วยการระบุตัวตนลูกค้าและรายละเอียดการติดต่อ ดู โมเดลผู้จ่ายเงิน |
name | M | String | ชื่อเต็มของผู้จ่ายเงิน รูปแบบ: สตริงที่เข้ารหัส UTF-8 ตัวอย่าง: "Carlos Rodriguez Silva" ใช้สำหรับการระบุตัวตนผู้จ่ายเงินและบันทึกธุรกรรม |
paymentMethod | M | String | วิธีการชำระเงินที่ใช้สำหรับการประมวลผลธุรกรรม รูปแบบ: รหัสวิธีการชำระเงินที่กำหนดไว้ล่วงหน้า ค่าคงที่: CASHIER_CL ระบุช่องทางการชำระเงินที่ใช้จริง ดู รายการวิธีการชำระเงิน |
expiryPeriod | O | Number | เวลาหมดอายุธุรกรรมเป็นวินาที รูปแบบ: ค่าจำนวนเต็ม ค่าเริ่มต้น: 3600 (1 ชั่วโมง) สูงสุด: 86400 (24 ชั่วโมง) ใช้เพื่อตั้งค่าวันที่หมดอายุธุรกรรม |
redirectUrl | O | String(256) | URL การเปลี่ยนเส้นทางลูกค้าหลังการเสร็จสิ้นการชำระเงิน รูปแบบ: URL HTTP/HTTPS ที่ถูกต้อง ความยาวสูงสุด: 256 ตัวอักษร ใช้เพื่อเปลี่ยนเส้นทางลูกค้าหลังการประมวลผลการชำระเงิน |
callbackUrl | O | String(256) | URL การแจ้งเตือน Webhook สำหรับการอัปเดตสถานะธุรกรรม รูปแบบ: URL HTTP/HTTPS ที่ถูกต้อง ความยาวสูงสุด: 256 ตัวอักษร ใช้สำหรับการแจ้งเตือนสถานะธุรกรรมแบบเรียลไทม์ |
หมายเหตุสำคัญ
1. รหัสธุรกรรม:
orderNo
ต้องไม่ซ้ำกันในธุรกรรมทั้งหมดสำหรับพ่อค้า
2. รูปแบบจำนวนเงิน: จำนวนเงินควรให้ในหน่วยสกุลเงินที่เล็กที่สุด (เปโซสำหรับ CLP)
3. เขตเวลา: ไทม์สแตมป์ทั้งหมดใช้เขตเวลาชิลี (UTC-3)
4. วิธีการชำระเงิน: ปัจจุบันรองรับ CASHIER_CL สำหรับตลาดชิลี
5. การหมดอายุ: ธุรกรรมหมดอายุโดยอัตโนมัติหากไม่เสร็จสิ้นภายในช่วงเวลาที่กำหนด
ตัวอย่าง Body – คำขอธุรกรรม:
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-03:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001
{
"merchant": {
"merchantId": "20011"
},
"payer": {
"name": "Carlos Rodriguez Silva"
},
"money": {
"amount": 20000,
"currency": "CLP"
},
"orderNo": "200110edbb466abb04682968b40",
"paymentMethod": "CASHIER_CL",
"purpose": "Payment for online purchase",
"redirectUrl": "https://www.example.com/success"
}
การตอบกลับ
การตอบกลับ 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 represents CLP 20000 ช่วง: 100-999999999 |
transactionTime | 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
{
"channel": {
"additionalInfo": {},
"paymentMethod": "CASHIER_CL",
"paymentUrl": "https://gateway.smilepayz.com/cashier/#/loading?tradeNo=131200112412130836186234",
"qrString": ""
},
"code": "00",
"merchant": {
"accountNo": "17320011202402290943",
"merchantId": "20011",
"merchantName": "bradytest123www"
},
"message": "Successful",
"money": {
"amount": 20000,
"currency": "CLP"
},
"orderNo": "20011db2773a6fb2542dfa5cb34c",
"status": "PROCESSING",
"tradeNo": "151200112412130836186234",
"transactionTime": "2024-12-12T23:36:19-03:00"
}
แจ้งเตือน
คำขอ 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 | วิธีการชำระเงินที่ใช้สำหรับการประมวลผลธุรกรรม รูปแบบ: รหัสวิธีการชำระเงินที่กำหนดไว้ล่วงหน้า ค่าคงที่: CASHIER_CL ระบุช่องทางการชำระเงินที่ใช้จริง |
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 represents CLP 20000 ช่วง: 100-999999999 |
payer | O | Object | ภาชนะข้อมูลผู้จ่ายเงิน ประกอบด้วยการระบุตัวตนลูกค้าและรายละเอียดการติดต่อ ดู โมเดลผู้จ่ายเงิน |
การตอบกลับ
การตอบกลับสำคัญ
การตอบกลับแจ้งเตือน: โปรดคืนเฉพาะสตริง
SUCCESS
เพื่อยืนยันการรับข้อมูลแจ้งเตือน
{
"merchantId": "20001",
"merchantName": "test",
"money": {
"amount": 100000,
"currency": "CLP"
},
"orderNo": "2000102900000000000001",
"status": "SUCCESS",
"tradeNo": "171200012410241325417215",
"transactionTime": "2020-12-17T10:55:00-03:00"
}
SUCCESS