Payment Payin Order - Vietnam#
Content-Type: application/json
Request Parameters#
| Field Name | Type | Description | Required | Example |
|---|
| title | String | Order title | No | Collection order |
| order_no | String | Merchant order number (max 64 characters, must be unique) | Yes | TX10000000000001 |
| amount | number | Order amount | Yes | 1000 |
| currency | String | Currency | Yes | VND |
| payment_method | String | Payment method code, please refer to payment method list | Yes | MOMO / BANK_TRANSFER / ZALOPAY |
| callback_url | String | Callback notification URL | Yes | http://www.aaa.com/callback |
| return_url | String | Redirect URL after payment completion | Yes | http://www.aaa.com/pay_success.html |
| user_ip | String | User real IP address. To improve success rate, please provide real IP | Yes | |
| return_type | String | Response type: PLATFORM (hosted checkout), CUSTOM (custom checkout), default PLATFORM | No | PLATFORM |
| remark | String | Transaction description (max 200 characters) | No | Collection order test |
| expire_seconds | int | Order expiration time (seconds) | No | 3600 |
| payer | object | Payer information | Yes | |
| bank_code | String | Bank code | No | TPBank / Techcombank |
| user_id | String | Unique user identifier (account or ID) | Yes | test001 |
Request Example#
{
"title": "收款订单",
"order_no": "P3435435654700020",
"amount": 1000,
"currency": "VND",
"remark": "test pay order",
"payment_method": "BANK_TRANSFER",
"return_url": "http://localhost:8080/cashier",
"callback_url": "http://localhost:8080/cb/test/Titan003",
"expire_seconds": 3600,
"user_ip": "10.10.2.108",
"return_type": "PLATFORM",
"payer": {
"bank_code": "TPBank",
"user_id": "test001"
}
}
Response Parameters#
| Field Name | Type | Description | Required | Example |
|---|
| code | int | Response status code 200: request success, others: error | Yes | 200 |
| msg | String | Description | Yes | SUCCESS |
| data | object | Success data | Yes | Contains the following fields |
| trade_no | String | Platform transaction number | Yes | PI0000000000001 |
| order_no | String | Merchant order number | Yes | TX10000000000001 |
| status | String | Status PROCESSING: processing | Yes | PROCESSING |
| message | String | Response message | Yes | success |
| amount | number | Order amount | Yes | 1000.00 |
| due_pay_amount | number | Amount due to pay | Yes | 1000.00 |
| currency | String | Currency | Yes | VND |
| fee | number | Fee | Yes | 20.00 |
| details | object | Payment guidance information | Yes | |
| redirect_url | String | Checkout redirect URL | No | https://www.playacepay-pay.net/payment?no=T76561402743621 |
Response Example - Order Created Successfully{
"code": 200,
"msg": "Success",
"data": {
"trade_no": "PI2009978658270650368",
"order_no": "pay-00003",
"status": "PROCESSING",
"message": "success",
"amount": "1000",
"due_pay_amount": "1000",
"currency": "VND",
"fee": "3",
"details": {
"redirect_url": "https://sandbox.payhub.example.com/pay/PI2009978658270650368"
}
}
}
Response Example - Order Creation Failed{
"code": 4002,
"msg": "Payment method code not supported",
"data": null
}
Response Example - Order Created Successfully, Transaction Failed{
"code": 7002,
"msg": "Channel fail",
"data": null
}
Modified at 2026-06-01 11:49:24