India Payin API#
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 | INR |
| payment_method | String | Payment method code, please refer to payment method list | Yes | UPI-Intent |
| 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 | |
| user_id | String | Unique user identifier (account or ID) | Yes | test001 |
Request Example#
{
"title": "Collection Order",
"order_no": "pay-00001",
"amount": 1000,
"currency": "INR",
"remark": "test order",
"payment_method": "UPI-Intent",
"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": {
"user_id": "test001"
}
}
| Field Name | Type | Description | Required | Example |
|---|
| code | int | Message status code. 200: Request successful, Others: Error | Yes | 200 |
| msg | String | Description | Yes | SUCCESS |
| data | object | Success data | Yes | Includes the following data |
| trade_no | String | Platform transaction number | Yes | PI0000000000001 |
| order_no | String | Merchant order number | Yes | TX10000000000001 |
| status | String | Status. PROCESSING: In progress | Yes | PROCESSING |
| message | String | Response message | Yes | Success |
| amount | number | Order amount | Yes | 1000.00 |
| due_pay_amount | number | Amount due | Yes | 1000.00 |
| currency | String | Currency | Yes | INR |
| fee | number | Transaction fee | Yes | 20.00 |
| details | object | Payment guidance information | Yes | |
| redirect_url | String | Checkout page redirect link | No | https://www.playacepay-pay.net/payment?no=T76561402743621 |
Response Example - PLATFORM Success{
"code": 200,
"msg": "Success",
"data": {
"trade_no": "PI2009978658270650368",
"order_no": "pay-00003",
"status": "PROCESSING",
"message": "success",
"amount": "1000",
"due_pay_amount": "1000",
"currency": "INR",
"fee": "3",
"details": {
"redirect_url": "https://sandbox.payhub.example.com/pay/PI2009978658270650368",
}
}
}
Response Parameters (return_type = CUSTOM)#
| Field Name | Type | Description | Required | Example |
|---|
| code | int | Status code (200: request success, others: error) | Yes | 200 |
| msg | String | Description | Yes | SUCCESS |
| data | object | Response data | Yes | includes the following fields |
| trade_no | String | Platform order number | Yes | PI0000000000001 |
| order_no | String | Merchant order number | Yes | TX10000000000001 |
| status | String | Order status (PROCESSING: processing) | Yes | PROCESSING |
| message | String | Response message | Yes | success |
| amount | number | Order amount | Yes | 1000.00 |
| due_pay_amount | number | Amount to be paid | Yes | 1000.00 |
| currency | String | Currency | Yes | INR |
| fee | number | Fee | Yes | 20.00 |
| details | object | Payment guidance information | Yes | |
| redirect_url | String | Checkout redirect URL | Yes | https://www.playacepay-pay.net/payment?no=T76561402743621 |
| redirect_uri | String | UPI deep link | No | return_type=CUSTOM |
| qr_code | String | Payment QR code | No | return_type=CUSTOM |
Response Example - CUSTOM Success{
"code": 200,
"msg": "Success",
"data": {
"trade_no": "PI2009978658270650368",
"order_no": "pay-00003",
"status": "PROCESSING",
"message": "success",
"amount": "1000",
"due_pay_amount": "1000",
"currency": "INR",
"fee": "3",
"details": {
"redirect_url": "https://sandbox.payhub.example.com/pay/PI2009978658270650368",
"qr_code": "upi://pay?pa=9835767065@ikwik&cu=INR&am=200&pn=R1J4jh&tn=R1J4jh",
"redirect_uri": "upi://pay?pa=9835767065@ikwik&cu=INR&am=200&pn=R1J4jh&tn=R1J4jh"
}
}
}
Response Example - Failure{
"code": 4002,
"msg": "Payment method code not supported",
"data": null
}
UTR Repair API#
UTR repair operation for India market
/api/v1/transactions/repairOrder
Content-Type: application/json
Request Parameters#
| Field Name | Type | Description | Required | Example |
|---|
| trade_no | String | Platform order number | Yes | PI2008813005176963155 |
| utr | String | UTR reference number | Yes | 568794589 |
Request Example#
{
"trade_no": "PI2008813005176963155",
"utr": "456498120"
}
Response Parameters#
| Field Name | Type | Description |
|---|
| code | int | Status code (200 success, others error, see error code definitions) |
| msg | String | Response message |
| data | object | Response data |
| status | String | SUCCESS / FAIL / ERROR |
| message | String | Result message (e.g., repair failed or already processed) |
Response Example - Success{
"code": 200,
"msg": "操作成功",
"data": {
"status": "SUCCESS",
"message": "补单成功"
}
}
Response Example - Failure{
"code": 1002,
"msg": "System error",
}
Modified at 2026-06-01 11:52:33