Create Order (Bank Account)
Introduction
Create order for bank-account based transactions.
API Description
Request Method:POST
Request Path:open/api/transfer/payment
Parameters
Request Parameters
| Parameter | Sign | Mandatory | Type | Length | Description |
|---|---|---|---|---|---|
| appId | Y | Y | string | 64 | AppId is unique for merchant |
| sign | N | Y | string | 512 | Sign click here |
| merchantOrderNo | Y | Y | string | 64 | Merchant order number (must be unique) |
| amount | Y | Y | string | 20 | Order amount (unit as fiat currency, 1=1.00) Mexican Peso: MXN (supports two decimal places)Nigerian Naira: NGN (does not retain decimal places)Zambia Kwacha: ZMW(supports two decimal places)Bangladeshi Taka: BDT(supports two decimal places)Brazil: BRL(supports two decimal places)Vietnam: VND(does not retain decimal places)Philippines: PHP(supports two decimal places)Kenyan Shilling: KES (supports two decimal places)Egyptian Pound: EGP(supports two decimal places)India Rupee: INR(does not retain decimal places)Pakistani Rupee: PKR(supports two decimal places) |
| currency | Y | Y | string | 20 | Fiat currency (unit of amount) |
| N | Y | string | 64 | User email | |
| userId | Y | Y | string | 64 | Email/ Phone number |
| userIp | Y | Y | string | 64 | User IP |
| feeType | Y | Y | string | 32 | Outer buckle: OUTER_BUCKLEUser Buckle: USER_BUCKLE |
| callbackUrl | Y | Y | string | 128 | The address receiving order webhook |
| bankParam | N | N | object | 1024 | Bank account expend parameter |
| customParam | N | N | object | 1024 | Custom fields |
| remark | N | N | string | 1024 | Remark |
BDT bankParam Expend Parameter
| Parameter | Sign | Mandatory | Type | Length | Description |
|---|---|---|---|---|---|
| mobile | Y | Y | String | 32 | Mobile phone number |
| payMethod | Y | Y | String | 32 | BD_BKASH/BD_NAGAD |
PKR bankParam Expend Parameter
| Parameter | Mandatory | Sign | Type | Length | Description |
|---|---|---|---|---|---|
| payMethod | Y | Y | String | 32 | Payment Method |
| bankCode | Y | Y | String | 32 | Bank Name |
| accountNumber | Y | Y | String | 32 | Mobile (JazzCash/EasyPaisa, 03XXXXXXXXX) |
INR bankParam Expend Parameter
| Parameter | Mandatory | Sign | Type | Length | Description |
|---|---|---|---|---|---|
| bankAccountNumber | Y | Y | String | 32 | Payee UPI VPA |
KES bankParam Expend Parameter
| Parameter | Mandatory | Sign | Type | Length | Description |
|---|---|---|---|---|---|
| accountType | Y | Y | String | 32 | Account type |
| bankCode | Y | Y | String | 32 | Bank / Wallet Code |
| bankAccountNumber | Y | Y | String | 32 | Account Number / Phone Number |
EGP bankParam Expend Parameter
| Parameter | Mandatory | Sign | Type | Length | Description |
|---|---|---|---|---|---|
| accountType | Y | Y | String | 32 | Account type |
| bankCode | Y | Y | String | 32 | Bank / Wallet Code |
| bankAccountNumber | Y | Y | String | 32 | Account Number / Phone Number |
PHP bankParam Expend Parameter
| Parameter | Sign | Mandatory | Type | Length | Description |
|---|---|---|---|---|---|
| productNumber | Y | Y | String | 32 | Product no |
| bankCode | Y | Y | String | 32 | Bank code, refers to Bank Transfer Account Form api response |
| bankAccountNumber | Y | Y | String | 32 | Bank Account Number/Card Number/E-Wallet Account Number |
VND bankParam Expend Parameter
| Parameter | Sign | Mandatory | Type | Length | Description |
|---|---|---|---|---|---|
| type | Y | Y | String | 32 | ACCOUNT_NUMBER/CARD_NUMBER |
| bankCode | Y | Y | String | 32 | Bank code, refers to Bank Transfer Account Form api response |
| bankAccountNumber | Y | Y | String | 32 | Bank Account Number/Card Number |
NGN / MXN bankParam Expend Parameter
| Parameter | Sign | Mandatory | Type | Length | Description |
|---|---|---|---|---|---|
| bankCode | Y | Y | String | 32 | Bank code, refers to Bank Transfer Account Form api response |
| bankName | Y | Y | String | 32 | Bank name, refers to Bank Transfer Account Form api response |
| bankAccountNumber | Y | Y | String | 32 | Bank Account Number (When user Choose NGN Opay, enter phone number, example:7012345678) |
ZMW bankParam Expend Parameter
| Parameter | Sign | Mandatory | Type | Length | Description |
|---|---|---|---|---|---|
| mobile | Y | Y | String | 32 | Mobile phone number |
BRL bankParam Expend Parameter
| Parameter | Sign | Mandatory | Type | Length | Description |
|---|---|---|---|---|---|
| pixKey | Y | Y | String | 64 | CPF/CNPJ/Phone/Email/EVP |
Request Parameter Example
{
"appId": "TEST000001",
"sign": "TEST000001",
"merchantOrderNo": "11187",
"amount": "10000",
"currency": "NGN", //MSN,NGN,ZMW,BDT
"feeType": "INNER_BUCKLE",
"userId": "[email protected]",
"userIp": "14.232.142.199",
"email": "[email protected]",
"callbackUrl": "http://127.0.0.1:8022/open/api/callback",
"bankParam": {
"bankCode": "123",
"bankName": "Mock Bank",
"bankAccountNumber": "032434**"
}
}Response Parameters
| Parameter | Type | Description |
|---|---|---|
| success | boolean | Success |
| error | boolean | Error |
| code | long | Response code |
| msg | string | Response message |
| traceId | string | Trace id |
| model | object | Response content |
Response Parameter Example
{
"code": "0",
"msg": "success",
"model": {
"amount": "6.45",
"orderNo": "400017506670013450114"
},
"traceId": "68590ef3ef9bd17e8671b85313daf949",
"success": true,
"error": false
}Request Signature Guidelines
Signature Mechanism Filter fields:
- Remove the sign field from the request body.
- Sort fields: Sort all remaining top-level parameters alphabetically by their keys (ASCII order).
- Handle Nested Objects (Crucial): If a field contains a nested object (e.g., bankParam), do not stringify it to standard JSON. Instead, sort the inner keys alphabetically, join them with an ampersand (&), and append this raw string directly to the parent key.
- Concatenate: Join all sorted top-level fields in a key=value format, separated by an ampersand (&).
- Append Secret Key: Append the merchant secret key at the end of the string in the format of &key=YOUR_SECRET_KEY.
- Generate signature
Signature Example
Original Request Body (JSON)
{
"amount": "12345",
"appId": "xxxxxxx",
"bankParam": {
"bankCode": "xxx",
"bankAccountNumber": "2",
"bankName": "Zenith Bank"
},
"callbackUrl": "https://xxx.com/callback",
"currency": "NGN",
"feeType": "OUTER_BUCKLE",
"merchantOrderNo": "test1234",
"sign": "XXXXX",
"userId": "test1234",
"userIp": "XX.XX.XX.XX"
}Special Notice on Nested Objects
bankAccountNumber=2&bankCode=xxx&bankName=Zenith Bank
Constructed String for Signing
amount=12345&appId=xxxxxxx&bankParam=bankAccountNumber=2&bankCode=xxx&bankName=Zenith Bank&callbackUrl=https://xxx.com/callback¤cy=NGN&feeType=OUTER_BUCKLE&merchantOrderNo=test1234&userId=test1234&userIp=XX.XX.XX.XX&key=XXXXX
Updated 16 days ago
Did this page help you?
