OnionPay API Reference (1.0.0)
Safest and fastest way to collect payments for your business.
Payment Create
Create a payment
Request Body schema: application/json
appId | string Your Payment App ID |
amount | string Numeric string with two decimal places. |
currency | string |
merTransNo | string Merchant's trade No. |
notifyUrl | string |
returnUrl | string |
sign | string Checksum of params |
version | string 1.1 |
object |
Responses
Request samples
- Payload
{- "appId": "Your Payment App ID",
- "amount": "1.00",
- "currency": "INR",
- "merTransNo": "6486e4cd691e407184e67d3d513d8153",
- "sign": "string",
- "version": "1.1",
- "extInfo": {
- "citizenId": "string",
- "taxNo": "string",
- "deviceId": "string",
- "userIp": "string",
- "registerTime": "string",
- "latitude": "string",
- "longitude": "string"
}
}
Response samples
- 200
{- "code": "200",
- "msg": "Ok",
- "timestamp": "1654674426737",
- "data": {
- "resultCode": "0000",
- "message": "success",
- "amount": "1.00",
- "currency": "INR",
- "merTransNo": "6486e4cd691e407184e67d3d513d8153",
- "tradeNo": "20220609091914600809950013807798",
- "processAmount": "1.00",
- "processCurrency": "INR",
- "doing": "redirect",
- "sign": "4a3a5104a49358c55ecc33d0e84f960d1ec67d9b446cd483b8d4e8042ce0a890"
}
}
Payment Query
Request Body schema: application/json
merchantId | string Your Payment App ID |
merTransNo | string Merchant's trade No. |
tradeNo | string Payment Gateway's trade No. |
version | string 1.1 |
sign | string Checksum of params |
Responses
Request samples
- Payload
{- "merchantId": "Your Payment App ID",
- "merTransNo": "6486e4cd691e407184e67d3d513d8153",
- "tradeNo": "20220609091914600809950013807798",
- "version": "1.1",
- "sign": "string"
}
Response samples
- 200
{- "code": "200",
- "msg": "Ok",
- "timestamp": "1654674527571",
- "data": {
- "resultCode": "0000",
- "message": "success",
- "merTransNo": "6486e4cd691e407184e67d3d513d8153",
- "tradeNo": "20220609091914600809950013807798",
- "utr": null,
- "amount": "1.00",
- "currency": "INR",
- "processCurrency": "INR",
- "processAmount": "1.00",
- "tradeStatus": "pending",
- "pmId": null,
- "paymentType": null,
- "paymentChannel": null,
- "userId": null,
- "merCustomize": null,
- "createTime": "2022-06-08 13:17:06",
- "updateTime": "2022-06-08 13:18:47",
- "sign": "5070c7b9e69099836aae2cf9699b6d0c57b1fb8f1197392b9a0ca733b03f3acd",
- "tradeCount": null
}
}
Refund Create
Request Body schema: application/json
merchantId | string Your Payment App ID |
tradeNo | string Payment Gateway's trade No. |
merRefundNo | string Merchant's refund No. |
amount | string Numeric string with two decimal places. |
currency | string Currency |
notifyUrl | string |
sign | string Checksum of params |
version | string 2.0 |
Responses
Request samples
- Payload
{- "merchantId": "Your Payment App ID",
- "tradeNo": "20220609091914600809950013807798",
- "merRefundNo": "refund-demo-0000000001",
- "amount": "1.00",
- "currency": "INR",
- "sign": "string",
- "version": "2.0"
}
Response samples
- 200
{- "code": "200",
- "msg": "Ok",
- "timestamp": "1654748663403",
- "data": {
- "amount": "1.00",
- "createTime": null,
- "currency": "INR",
- "merRefundNo": "refund-demo-0000000001",
- "message": "success",
- "processAmount": null,
- "processCurrency": null,
- "refundNo": "20220609095423500809024013805348",
- "resultCode": "0000",
- "sign": "58adf9863b8e6d2edbfa1fee6394ff2ee4e94bcd9dbaa5a110e1b4455b5510b6",
- "status": null,
- "updateTime": null
}
}
Refund Query
Request Body schema: application/json
merchantId | string Your Payment App ID |
refundNo | string Payment Gateway's refund No. |
merRefundNo | string Merchant's refund No. |
sign | string Checksum of params |
version | string 1.1 |
Responses
Request samples
- Payload
{- "merchantId": "Your Payment App ID",
- "refundNo": "20220609095423500809024013805348",
- "merRefundNo": "refund-demo-0000000001",
- "sign": "string",
- "version": "1.1"
}
Response samples
- 200
{- "code": "200",
- "msg": "Ok",
- "timestamp": "1654748663403",
- "data": {
- "amount": "1.00",
- "createTime": null,
- "currency": "INR",
- "merRefundNo": "refund-demo-0000000001",
- "message": "success",
- "processAmount": null,
- "processCurrency": null,
- "refundNo": "20220609095423500809024013805348",
- "resultCode": "0000",
- "sign": "58adf9863b8e6d2edbfa1fee6394ff2ee4e94bcd9dbaa5a110e1b4455b5510b6",
- "status": null,
- "updateTime": null
}
}
This API is used to disburse fund from Merchant's balance accounts to bank account using VPA / Mobile number / Bank account number and IFSC code.
Payout Create
Request Body schema: application/json
appId | string Your Payout App ID |
amount | string Numeric string with two decimal places. |
currency | string |
merTransNo | string Merchant's payout No. |
notifyUrl | string |
version | string 1.1 |
sign | string Checksum of params |
object |
Responses
Request samples
- Payload
{- "appId": "Your Payout App ID",
- "amount": "1.00",
- "currency": "INR",
- "merTransNo": "payout-demo-0000000001",
- "version": "1.1",
- "sign": "string",
- "extInfo": {
- "accountNumber": "string",
- "accountHolderName": "string",
- "bankCode": "string",
- "payeePhone": "string",
- "payeeEmail": "string",
- "citizenId": "string",
- "taxNo": "string",
- "userId": "string",
- "deviceId": "string",
- "userIp": "string",
- "registerTime": "string",
- "latitude": "string",
- "longitude": "string"
}
}
Response samples
- 200
{- "code": "200",
- "msg": "Ok",
- "timestamp": "1654752475664",
- "data": {
- "amount": "1.00",
- "currency": "INR",
- "merTransNo": "payout-demo-0000000001",
- "message": "success",
- "resultCode": "0000",
- "sign": "48893c33ad691c2a7fbb7cd07b5a356a379d2dcb72cbaf86327ae9b1acf4cd17",
- "tradeNo": "20220609105755200809565013895720"
}
}
Payout Query
Request Body schema: application/json
merchantId | string Your Payout App ID |
tradeNo | string Payout Gateway's trade No. |
version | string 1.1 |
sign | string Checksum of params |
Responses
Request samples
- Payload
{- "merchantId": "Your Payout App ID",
- "tradeNo": "20220609105755200809565013895720",
- "version": "1.1",
- "sign": "string"
}
Response samples
- 200
{- "code": "200",
- "msg": "Ok",
- "timestamp": "1654752572302",
- "data": {
- "amount": "1.00",
- "createTime": "2022-06-09 10:57:56",
- "currency": "INR",
- "merTransNo": "payout-demo-0000000001",
- "message": "pending",
- "pmId": "UPI",
- "resultCode": "0000",
- "sign": "e830efbd48f88827a7fbbb7758ab1fd86a0e3070a74014ed63662357b8c78d97",
- "totalFee": "6.01",
- "tradeNo": "20220609105755200809565013895720",
- "tradeStatus": "pending",
- "updateTime": "2022-06-09 10:59:32",
- "utr": ""
}
}
Account Query
Request Body schema: application/json
merchantId | string Your Payment App ID |
accType | string |
version | string 1.1 |
sign | string Checksum of params |
Responses
Request samples
- Payload
{- "merchantId": "Your Payment App ID",
- "accType": "default",
- "version": "1.1",
- "sign": "string"
}
Response samples
- 200
{- "code": "200",
- "msg": "Ok",
- "timestamp": "1654753923155",
- "data": {
- "resultCode": "0000",
- "message": "success",
- "merchantId": "80",
- "accounts": [
- {
- "accId": "2",
- "accType": "default",
- "balance": "20050846.98",
- "currency": "INR",
- "frozenAmount": "29675037.44",
- "merchantId": "80",
- "status": "actived"
}
]
}
}
Please refer to Signature Document for the specific algorithm.