Skip to main content

API การทำรายการรับเงิน (Pay-In)

smilepayz teamsAbout 3 min

Request

Pay-In API เปิดให้ร้านค้าสามารถเริ่มต้นธุรกรรมการรับเงินจากลูกค้าได้ API นี้รองรับวิธีการชำระเงินด้วยคริปโทเคอร์เรนซีหลายประเภท เพื่อให้การรับและจัดการสินทรัพย์ดิจิทัลมีความปลอดภัยและมีประสิทธิภาพ

Request Path:

sandbox: https://sandbox-gateway.smilepayz.com/v2.0/transaction/pay-in
production: https://gateway.smilepayz.com/v2.0/transaction/pay-in

Header Parameters

FieldRequiredTypeDescription
Content-TypeMStringระบุประเภทข้อมูลของ HTTP
ค่าคงที่: application/json
จำเป็นสำหรับการแปลงและประมวลผลคำขอให้ถูกต้อง
X-TIMESTAMPMStringวันที่และเวลาในรูปแบบ ISO 8601 พร้อมส่วนต่างของเขตเวลา (timezone offset)
รูปแบบ: yyyy-MM-ddTHH:mm:ss±HH:mm
ตัวอย่าง: 2020-12-17T10:55:00+07:00
หมายเหตุ: ต้องเป็นเวลาปัจจุบันใกล้เคียงกับเวลาเซิร์ฟเวอร์ (±5 นาที)
X-SIGNATUREMStringลายเซ็นดิจิทัลสำหรับยืนยันความถูกต้องของคำขอ (request authentication)
ดูรายละเอียดที่ Signature Generation
X-PARTNER-IDMStringรหัสร้านค้าที่ยูนีค ซึ่งออกให้โดยระบบแพลตฟอร์ม
รูปแบบ: สตริงตัวอักษรและตัวเลข
ใช้เพื่อยืนยันตัวตนร้านค้าและกำหนดเส้นทางของธุรกรรม
โปรดกรอกค่า merchantID

Body Parameters

FieldRequiredTypeDescription
orderNoMString(32)หมายเลขอ้างอิงธุรกรรมที่ไม่ซ้ำกัน
รูปแบบ: สตริงตัวอักษรและตัวเลข (ตัวเลขและตัวอักษรเท่านั้น)
ความยาว: 6-32 ตัวอักษร
ใช้สำหรับติดตามและอ้างอิงธุรกรรม
purposeMString(64)วัตถุประสงค์หรือคำอธิบายของธุรกรรม
รูปแบบ: สตริงเข้ารหัส UTF-8
ความยาวสูงสุด: 64 ตัวอักษร
ใช้เพื่ออ้างอิงและรายงานธุรกรรม
merchantMObjectข้อมูลร้านค้า
ประกอบด้วยข้อมูลระบุตัวตนและรายละเอียดทางธุรกิจของร้านค้า
ดูรายละเอียดที่ Merchant Model
    merchantIdMStringรหัสร้านค้าที่ยูนีค ซึ่งออกให้โดยแพลตฟอร์ม
รูปแบบ: สตริงตัวอักษรและตัวเลข
ใช้เพื่อยืนยันตัวตนร้านค้าและกำหนดเส้นทางธุรกรรม
    merchantNameOStringชื่อธุรกิจหรือชื่อที่แสดงของร้านค้า
รูปแบบ: สตริงเข้ารหัส UTF-8
ใช้เพื่อระบุและรายงานร้านค้า
    subMerchantIdOStringรหัสซับเมอร์ชันต์ สำหรับโครงสร้างร้านค้ามากกว่าหนึ่งระดับ
รูปแบบ: สตริงตัวอักษรและตัวเลข
ใช้เพื่อระบุและรายงานซับเมอร์ชันต์
    subMerchantNameOStringชื่อธุรกิจหรือชื่อที่แสดงของซับเมอร์ชันต์
รูปแบบ: สตริงเข้ารหัส UTF-8
ใช้เพื่อระบุและรายงานซับเมอร์ชันต์
moneyMObjectรายละเอียดจำนวนเงินของธุรกรรมพร้อมสกุลเงิน
ประกอบด้วยจำนวนเงินและข้อมูลสกุลเงินของธุรกรรม
ดู Money Model
    currencyMStringรหัสสกุลเงินตามมาตรฐาน ISO 4217
ค่าคงที่: USDT (Tether USD)
ใช้กำหนดกติกาการประมวลผลการชำระเงินและสกุลเงินในการรับเงิน
    amountMNumberจำนวนเงินของธุรกรรมในหน่วยย่อยที่สุดของสกุลเงิน
รูปแบบ: จำนวนเต็ม
ตัวอย่าง: 10000 หมายถึง USDT 10000
ช่วงที่รองรับ: 100-999999999
networkMStringเครือข่ายบล็อกเชนที่ใช้สำหรับสกุลเงินดิจิทัล
รูปแบบ: รหัสเครือข่ายที่กำหนดไว้ล่วงหน้า
ตัวอย่าง: ERC20, BEP20, TRC20
ระบุเครือข่ายบล็อกเชนที่ใช้ประมวลผลธุรกรรม
productDetailOString(128)รายละเอียดสินค้า หรือบริการ
รูปแบบ: สตริงเข้ารหัส UTF-8
ความยาวสูงสุด: 128 ตัวอักษร
ใช้เพื่อระบุและรายงานธุรกรรม
paymentMethodOStringวิธีการชำระเงินที่ใช้ในธุรกรรม
รูปแบบ: รหัสวิธีการชำระเงินที่กำหนดไว้ล่วงหน้า
ตัวอย่าง: USDT, BTC, ETH
ใช้ระบุช่องทางการชำระเงินจริงที่ใช้
ดู Payment Method List
expiryPeriodONumberระยะเวลาหมดอายุของธุรกรรม (วินาที)
รูปแบบ: จำนวนเต็ม
ค่าเริ่มต้น: 3600 (1 ชั่วโมง)
ค่าสูงสุด: 86400 (24 ชั่วโมง)
ใช้กำหนดช่วงเวลาที่คำสั่งชำระเงินยังคงมีผล
redirectUrlOString(256)URL ที่ใช้เปลี่ยนเส้นทางลูกค้าหลังชำระเงินเสร็จสิ้น
รูปแบบ: URL แบบ HTTP/HTTPS ที่ถูกต้อง
ความยาวสูงสุด: 256 ตัวอักษร
ใช้เพื่อเปลี่ยนเส้นทางลูกค้าไปยังหน้าที่ต้องการหลังการประมวลผลการชำระเงิน
callbackUrlOString(256)URL สำหรับ Webhook เพื่อรับการแจ้งเตือนสถานะธุรกรรมแบบเรียลไทม์
รูปแบบ: URL แบบ HTTP/HTTPS ที่ถูกต้อง
ความยาวสูงสุด: 256 ตัวอักษร
ใช้สำหรับการแจ้งเตือนอัปเดตสถานะธุรกรรม

ข้อมูลสำคัญ

1. Transaction ID: orderNo ต้องมีค่าไม่ซ้ำกันในทุกธุรกรรมของร้านค้านั้น
2. Amount Format: ต้องส่งจำนวนเงินในหน่วยย่อยที่สุดของสกุลเงิน (เช่น เซนต์ของ USDT)
3. Timezone: เวลาทั้งหมดใช้เขตเวลา UTC+7
4. Network Selection: เลือกเครือข่ายบล็อกเชนให้เหมาะสมตามความต้องการของลูกค้าและต้นทุนค่าธรรมเนียมธุรกรรม
5. Payment Method: หากไม่ได้ระบุ ระบบ Smilepayz จะส่งหน้าชำระเงินที่แสดงตัวเลือกการชำระเงินทั้งหมดที่ใช้ได้
6. Expiration: ธุรกรรมจะหมดอายุโดยอัตโนมัติ หากไม่ได้ชำระเงินให้เสร็จสิ้นภายในเวลาที่กำหนด

Example Body – Transaction Request:

Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001

Response

HTTP Response

FieldRequiredTypeDescription
Content-TypeMStringระบุประเภทข้อมูลของ HTTP Response
ค่าคงที่: application/json
แสดงว่าข้อมูลตอบกลับอยู่ในรูปแบบ JSON
X-TIMESTAMPMStringวันที่และเวลาในรูปแบบ ISO 8601 พร้อมส่วนต่างของเขตเวลา (timezone offset)
รูปแบบ: yyyy-MM-ddTHH:mm:ss±HH:mm
ตัวอย่าง: 2020-12-17T10:55:00+07:00

Body Parameters

FieldRequiredTypeDescription
codeMStringรหัสผลลัพธ์ของ API ใช้ระบุผลการทำงาน
รูปแบบ: สตริง 2 หลัก
สำเร็จ: "00", อื่น ๆ หมายถึงข้อผิดพลาด
ใช้สำหรับประมวลผลผลลัพธ์เชิงโปรแกรม (programmatic handling)
messageMStringข้อความบรรยายผลลัพธ์ของการทำงานของ API ในรูปแบบที่มนุษย์อ่านเข้าใจได้
รูปแบบ: สตริงเข้ารหัส UTF-8
อธิบายรายละเอียดเพิ่มเติมเกี่ยวกับผลการทำงาน
อาจถูกแปลตามภาษาที่ร้องขอ
orderNoMStringหมายเลขอ้างอิงธุรกรรมที่ร้านค้าส่งมาในคำขอ
รูปแบบ: สตริงตัวอักษรและตัวเลข
มีค่าเหมือนกับ orderNo ที่ส่งในคำขอเดิม
ใช้สำหรับติดตามและอ้างอิงธุรกรรม
merchantMObjectข้อมูลร้านค้า
ประกอบด้วยข้อมูลระบุตัวตนและรายละเอียดทางธุรกิจของร้านค้า
ดู Merchant Model
    merchantIdMStringรหัสร้านค้าที่ยูนีค ซึ่งออกให้โดยแพลตฟอร์ม
รูปแบบ: สตริงตัวอักษรและตัวเลข
ใช้เพื่อยืนยันตัวตนร้านค้าและกำหนดเส้นทางธุรกรรม
    merchantNameOStringชื่อธุรกิจหรือชื่อที่แสดงของร้านค้า
รูปแบบ: สตริงเข้ารหัส UTF-8
ใช้เพื่อระบุและรายงานร้านค้า
    subMerchantIdOStringรหัสซับเมอร์ชันต์ สำหรับโครงสร้างร้านค้าที่มีหลายระดับ
รูปแบบ: สตริงตัวอักษรและตัวเลข
ใช้เพื่อระบุและรายงานซับเมอร์ชันต์
    subMerchantNameOStringชื่อธุรกิจหรือชื่อที่แสดงของซับเมอร์ชันต์
รูปแบบ: สตริงเข้ารหัส UTF-8
ใช้เพื่อระบุและรายงานซับเมอร์ชันต์
moneyMObjectรายละเอียดจำนวนเงินของธุรกรรมพร้อมสกุลเงินที่ยืนยันแล้ว
ประกอบด้วยจำนวนเงินสุดท้ายและข้อมูลสกุลเงิน
ดู Money Model
    currencyMStringรหัสสกุลเงินตามมาตรฐาน ISO 4217
ค่าคงที่: USDT (Tether USD)
ใช้กำหนดกติกาการประมวลผลและสกุลเงินในการรับเงิน
    amountMNumberจำนวนเงินของธุรกรรมในหน่วยย่อยที่สุดของสกุลเงิน
รูปแบบ: จำนวนเต็ม
ตัวอย่าง: 10000 หมายถึง USDT 10000
ช่วงที่รองรับ: 100-999999999
transactionTimeMStringเวลาที่ทำธุรกรรมเสร็จสิ้น
รูปแบบ: yyyy-MM-ddTHH:mm:ss
ตัวอย่าง: 2020-12-17T10:55:00+07:00
ใช้สำหรับติดตามเวลาและการตรวจสอบย้อนหลัง (audit)
channelMObjectข้อมูลช่องทางการชำระเงิน
ประกอบด้วยวิธีการชำระเงินและรายละเอียดการประมวลผล
ดู Channel Model
tradeNoOStringหมายเลขอ้างอิงธุรกรรมภายในระบบ สำหรับการติดตามภายใน
รูปแบบ: สตริงตัวอักษรและตัวเลขที่ระบบสร้างให้
ใช้สำหรับการจัดการธุรกรรมภายในและการสนับสนุน (support)
statusOStringสถานะการประมวลผลของธุรกรรมในปัจจุบัน
รูปแบบ: รหัสสถานะที่กำหนดไว้ล่วงหน้า
ตัวอย่าง: PROCESSING, SUCCESS, FAILED, CANCELLED
ใช้แสดงสถานะปัจจุบันของธุรกรรม
ดู Status Model
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00

Notification

HTTP Request

FieldRequiredTypeDescription
Content-TypeMStringระบุประเภทข้อมูลของ HTTP Request
ค่าคงที่: application/json
แสดงว่าข้อมูลคำขออยู่ในรูปแบบ JSON
X-TIMESTAMPMStringวันที่และเวลาในรูปแบบ ISO 8601 พร้อมส่วนต่างของเขตเวลา (timezone offset)
รูปแบบ: yyyy-MM-ddTHH:mm:ss±HH:mm
ตัวอย่าง: 2020-12-17T10:55:00+07:00
X-SIGNATUREMStringลายเซ็นดิจิทัลสำหรับยืนยันความถูกต้องของการแจ้งเตือน (notification authentication)
ดู Callback Signature Verification

Body Parameters

FieldRequiredTypeDescription
orderNoMStringหมายเลขอ้างอิงธุรกรรมของร้านค้า
รูปแบบ: สตริงตัวอักษรและตัวเลข
มีค่าเหมือนกับ orderNo ในคำขอเดิม
ใช้เพื่อระบุและตรวจสอบธุรกรรม
tradeNoMStringหมายเลขอ้างอิงธุรกรรมภายในระบบ สำหรับการติดตามภายใน
รูปแบบ: สตริงตัวอักษรและตัวเลขที่ระบบสร้างให้
ใช้สำหรับการจัดการธุรกรรมภายในและการสนับสนุน
merchantIdMStringรหัสร้านค้าที่ยูนีค ซึ่งออกให้โดยแพลตฟอร์ม
รูปแบบ: สตริงตัวอักษรและตัวเลข
ใช้เพื่อยืนยันตัวตนร้านค้าและกำหนดเส้นทางธุรกรรม
merchantNameMStringชื่อธุรกิจหรือชื่อที่แสดงของร้านค้า
รูปแบบ: สตริงเข้ารหัส UTF-8
ใช้เพื่อระบุและรายงานร้านค้า
subMerchantIdOStringรหัสซับเมอร์ชันต์ สำหรับโครงสร้างร้านค้าที่มีหลายระดับ
รูปแบบ: สตริงตัวอักษรและตัวเลข
ใช้เพื่อระบุและรายงานซับเมอร์ชันต์
subMerchantNameOStringชื่อธุรกิจหรือชื่อที่แสดงของซับเมอร์ชันต์
รูปแบบ: สตริงเข้ารหัส UTF-8
ใช้เพื่อระบุและรายงานซับเมอร์ชันต์
paymentMethodMStringวิธีการชำระเงินที่ใช้ในธุรกรรม
รูปแบบ: รหัสวิธีการชำระเงินที่กำหนดไว้ล่วงหน้า
ตัวอย่าง: USDT, BTC, ETH
ใช้ระบุช่องทางการชำระเงินจริงที่ใช้
transactionTimeMStringเวลาที่ธุรกรรมเสร็จสมบูรณ์
รูปแบบ: yyyy-MM-ddTHH:mm:ss
ตัวอย่าง: 2020-12-17T10:55:00+07:00
ใช้สำหรับติดตามเวลาและการตรวจสอบย้อนหลัง (audit)
statusMStringสถานะสุดท้ายของการประมวลผลธุรกรรม
รูปแบบ: รหัสสถานะที่กำหนดไว้ล่วงหน้า
ตัวอย่าง: SUCCESS, FAILED, CANCELLED
ใช้แสดงผลลัพธ์สุดท้ายของธุรกรรม
ดู Status Model
moneyMObjectรายละเอียดจำนวนเงินของธุรกรรมพร้อมสกุลเงินที่ยืนยันแล้ว
ประกอบด้วยจำนวนเงินสุดท้ายและข้อมูลสกุลเงิน
ดู Money Model
    currencyMStringรหัสสกุลเงินตามมาตรฐาน ISO 4217
ค่าคงที่: USDT (Tether USD)
ใช้กำหนดกติกาการประมวลผลและสกุลเงินในการรับเงิน
    amountMNumberจำนวนเงินของธุรกรรมในหน่วยย่อยที่สุดของสกุลเงิน
รูปแบบ: จำนวนเต็ม
ตัวอย่าง: 10000 หมายถึง USDT 10000
ช่วงที่รองรับ: 100-999999999
payerMObjectข้อมูลผู้ชำระเงิน
ประกอบด้วยข้อมูลระบุตัวตนและช่องทางติดต่อของลูกค้า
ดู Payer Model

Return

การตอบกลับที่สำคัญ

Notification Response: โปรดตอบกลับด้วยสตริง SUCCESS เพียงอย่างเดียว เพื่อยืนยันว่าระบบของคุณได้รับการแจ้งเตือนแล้ว

{
  "merchantId": "20001",
  "merchantName": "test",
  "money": {
    "amount": 150,
    "currency": "USDT"
  },
  "orderNo": "20001f7d65167e8b1419896f2dfb",
  "payer": {
    "name": "payerName"
  },
  "paymentMethod": "USDT",
  "status": "SUCCESS",
  "tradeNo": "111200012412151710505955",
  "transactionTime": "2024-12-15T17:10:51"
}
Last update: