Deposit Submit
Endpoint
POST /v1/api/depositRequest
Parameters
| Key | Required | Type | Example | Description |
|---|---|---|---|---|
mcode | Yes | string | M10086 | Merchant ID |
tno | Yes | string | T202608020001 | Merchant-side order number |
amt | Yes | string | 126.35 | Order amount |
chnl | Yes | string | CHNL_CODE | Channel code |
ip | No | string | 127.0.0.1 | Client IP that initiated the payment |
rtn_url | No | string | https://example.com/return | Synchronous return URL |
ntf_url | Yes | string | https://example.com/notify | Asynchronous callback URL |
ts | Yes | string | 1785138705251 | Request milli timestamp len 13 |
extra | No | string | remark=demo | Extension parameters |
acct | No | object | { "name": "Tom" } | See acct examples below |
| ─ ─ Account name | acct.name | string | Deposit account holder name | |
| ─ ─ Account no. | acct.number | string | Deposit account / account number | |
| ─ ─ Phone | acct.phone | string | Deposit phone / mobile number | |
acct.email | string | Deposit email address | ||
| ─ ─ Bank | acct.bank | string | Deposit bank / bank code (when both bank_code and bank_name are required, this is bank_code; otherwise it is the bank name) | |
| ─ ─ First name | acct.first_name | string | Deposit KYC first_name | |
| ─ ─ Last name | acct.last_name | string | Deposit KYC last_name | |
| ─ ─ Bank name | acct.bank_name | string | Deposit bank name (used when both bank_code and bank_name are required) | |
| ─ ─ User ID | acct.user_id | string | Depositor user ID, product unique ID. Max length: 64 | |
sign | Yes | string | c380be... | Signature value |
Example
{
"mcode": "M10086",
"tno": "T202608020001",
"amt": "50.00",
"chnl": "cscn_cspb",
"ip": "127.0.0.1",
"rtn_url": "https://example.com/return",
"ntf_url": "https://example.com/notify",
"ts": "1785138705251",
"extra": "",
"sign": "9a9cba23f9075ff01b2ed2050f52f42d"
}About the acct field
Requirements for the acct field vary by country/region and channel. Code-level recommendations:
- When real user information is unavailable, pass format-valid placeholder content directly;
- If the target country explicitly requires real information, you must submit normal/real data — otherwise the deposit may fail to be credited.
acct examples by country
PH
{
"...",
"acct": {
"name": "Juan Dela Cruz"
},
"..."
}PK
{
"...",
"acct": {
"name": "Muhammad Ali",
"number": "03001234567"
},
"..."
}BD
{
"...",
"acct": {
"name": "Mohammad Rahman",
"number": "01712345678"
},
"..."
}ID
{
"...",
"acct": {
"name": "Budi Santoso",
"number": "081234567890"
},
"..."
}VN
{
"...",
"acct": {
"name": "Nguyễn Văn A",
"number": "0901234567",
"phone": "0901234567",
"email": "[email protected]",
"bank": "VCB",
"last_name": "Nguyễn",
"bank_name": "Ngân hàng Ngoại thương Việt Nam",
"user_id": "U10086001"
},
"..."
}TH
{
"...",
"acct": {
"name": "สมชาย ใจดี",
"number": "0812345678",
"phone": "0812345678",
"email": "[email protected]",
"bank": "KBANK",
"first_name": "ใจดี",
"last_name":"xxx",
"bank_name": "ธนาคารกสิกรไทย",
"user_id": "U10086002"
},
"..."
}JP
{
"...",
"acct": {
"name": "山田太郎"
},
"..."
}IN
{
"...",
"acct": {
"name": "Rajesh Kumar",
"number": "9876543210"
},
"..."
}acct.bank options by country (if absent, no special requirement)
TH
BANK TRANSFER
| Code | Bank |
|---|---|
KBank | KASIKORN BANK (KBANK) |
KrungThaiBank | KRUNG THAI BANK (KTB) |
SCBBank | SIAM COMMERCIAL BANK (SCB) |
KrungsriBank | KRUNGSRI BANK (BAY) |
BangkokBank | BANGKOK BANK |
BAACBank | BANK FOR AGRICULTURE AND AGRICULTURAL COOPERATIVES (BAAC) |
TTBBank | THANACHART BANK (TTB) |
GSBBank | GOVERNMENT SAVINGS BANK (GSB) |
CimbBankTH | CIMB THAI |
LHBank | LAND AND HOUSES BANK |
KKPBank | KIATNAKIN PHATRA BANK |
GHBank | GOVERNMENT HOUSING BANK |
UOBBankTH | UOB THAI |
QRPAY
| Code | Bank |
|---|---|
PromptPaySCB | SCB PROMPTPAY QR |
PromptPayKTB | KTB PROMPTPAY QR |
PromptPayBAY | BAY PROMPTPAY QR |
PromptPayGSB | GSB PROMPTPAY QR |
PromptPayKBANK | KBANK PROMPTPAY QR |
PromptPayTTB | TTB PROMPTPAY QR |
PromptPayBBL | BBL PROMPTPAY QR |
PromptPayKKP | KKP PROMPTPAY QR |
PromptPayUOB | UOB PROMPTPAY QR |
PromptPayGHB | GHB PROMPTPAY QR |
PromptPayLHB | LHB PROMPTPAY QR |
PromptPayBAAC | BAAC PROMPTPAY QR |
Response
About response validation
Due to recent frequent upstream changes for BDT and IDR, the original behavior of directly returning an order-placement error was not user-friendly. Recent adjustments have been made — upstream order placement failure errors are no longer returned directly:
- The HTTP status of the response is 200, and the
codein the response must be 0 (this convention remains the same as before) - Either
urlordatawithin the response'sdataobject must not be empty — only then is the result considered "successfully obtained". Otherwise, handle errors based on themsgfield or process accordingly.
Parameters
| Field | Key | Type | Description |
|---|---|---|---|
| Status code | code | number | Response code, 0 means success |
| Response data | data | object | Response payload object |
| ─ Merchant code | data.mcode | string | Merchant ID |
| ─ Platform order no. | data.sn | string | Platform order number |
| ─ Merchant order no. | data.tno | string | Merchant order number |
| ─ Amount | data.amt | string | Order amount |
| ─ Fee | data.fee | string | Fee amount |
| ─ Redirect URL | data.url | string | Cashier URL |
| ─ Order status | data.sts | string | Order status |
| ─ Create time | data.ctm | string | Create time |
| ─ Payload data | data.data | object | Original returned payload, fields vary by market |
| ─ ─ Deposit bank | data.data.bank_name | string | Deposit bank, Optional |
| ─ ─ Deposit bank code | data.data.bank_code | string | Deposit bank code, Optional |
| ─ ─ Deposit account no. | data.data.number | string | Deposit account / card number, Optional |
| ─ ─ Deposit account name | data.data.name | string | Deposit account holder name, Optional |
| ─ ─ QR code | data.data.qr | string | QR code data, Optional |
| ─ ─ Reference no. | data.data.ref | string | Reference / voucher number, Optional |
| ─ ─ Link data | data.data.link | string | Link data, Optional |
| ─ ─ Remark | data.data.remark | string | Memo / remark, Optional |
| ─ Signature | data.sign | string | Response signature |
Example
{
"code": 0,
"data": {
"mcode": "B342342",
"sn": "D13JKXGHXZTEL55CO",
"tno": "bbbb1787749056295",
"amt": "120.00",
"fee": "7.20",
"url": "https://example.com/payurl.html",
"data": {
"acct": "dp acct",
"number": "dp number",
"qr": "qrqrqr",
"ref": "dp ref"
},
"sts": "DS_SUBMIT",
"ctm": "2026-08-26T21:22:48+08:00",
"sign": "CVn+gu/gfuD55Cj6KuBPZPkmJtC+EuOBBw6Hsr5P/7U="
}
}Response data examples by country
PH
{
"...",
"data": {
"acct": "Juan Dela Cruz",
"ref": "PH123456789"
},
"..."
}PK
{
"...",
"data": {
"acct": "Muhammad Ali",
"number": "03001234567"
},
"..."
}BD
{
"...",
"data": {
"acct": "Mohammad Rahman",
"number": "01712345678"
},
"..."
}ID
{
"...",
"data": {
"acct": "Budi Santoso",
"number": "081234567890",
"ref": "ID-REF-8899"
},
"..."
}VN
{
"...",
"data": {
"acct": "LE THI HUYNH NHU",
"bank": "ACBNEW",
"number": "26316681",
"qr": "00020101021138520010A000000727012200069704160108263166810208QRIBFTTA530370454061230005802VN62220818CHUYEN KHOAN68A0RG6304DBB2",
"remark": "CHUYEN KHOAN68A0RG",
"user_id": "444444"
},
"..."
}TH
{
"...",
"data": {
"qr": "000201010211...",
"ref": "THB-55667788"
},
"..."
}JP
{
"...",
"data": {
"acct": "山田太郎"
},
"..."
}IN
{
"...",
"data": {
"acct": "Rajesh Kumar",
"number": "9876543210",
"qr": "upi://pay?pa=xxx@upi&pn=Rajesh"
},
"..."
}