API Create ebill
Endpoint: /api/v1/service/ebill/create
Method: POST
Header: How to generate JWT_TOKEN
{
"X-APPOTAPAY-AUTH": Bearer JWT_TOKEN,
"Content-Type": "application/json"
}
Params
Params | Required | Type | Description |
---|---|---|---|
billCode | √ | String | Bill code, is the unique code for each order |
billInfo | √ | String | Bill information |
billExpiryTime | Integer | Transaction expiry time payment bill (Note) | |
customerName | √ | String | Account name or card name Client want to check. - Vietnamese unsigned - Only text - Do not fill special character: Example: -,_,\ |
serviceCode | String | Service code | |
amount | √ | Integer | Transaction amount |
paymentCondition | √ | String | Payment conditions includes: EQ: Transfer amount is equal bill amount LTE: Transfer amount is less than or equal bill amount GTE: ransfer amount is greater or Equal bill amount NO: No condition (Value column "amount" can set any value >= 10000, Ex: amount=10000) Payment condition depend on the bank, partner should check amount value when receiving IPN (Note) |
bankCode | √ | String | Bank code |
notifyUrl | √ | String | Partner API is used by AppotaPay to send payment result using IPN (Server to server) method |
extraData | String | Extra data | |
signature | √ | String | Signature of parameter passed to the API, the parameter is included into signature like this: amount + bankCode + billCode + billExpiryTime + billInfo + customerName + extraData + notifyUrl + paymentCondition + serviceCode (more how to generate signature) |
Data result
Params | Type | Description |
---|---|---|
errorCode | Integer | Error result |
message | String | Description error code detail |
billCode | String | Bill code, is the unique code for each order |
payment | Object | Payment information |
payment.bankAccounts | Array of Object | Bank account information |
payment.bankAccounts.bankCode | String | Bank code |
payment.bankAccounts.bankName | String | Bank name |
payment.bankAccounts.bankBranch | String | Bank branch |
payment.bankAccounts.accountNo | String | Account number |
payment.bankAccounts.accountName | String | Account name |
signature | String | Signature of parameter passed to the API, the parameter is included into signature like this: billCode + errorCode + json_encode(payment) (see more how to generate signature) |
Example
Request
{
"billCode": "60586f8d6a684",
"billInfo": "Thanh toán hóa đơn Gamota",
"serviceCode": "GAME",
"customerName": "PHAM MINH TUAN",
"notifyUrl": "https://appotapay.com",
"amount": 50000,
"billExpiryTime": 1616818154,
"paymentCondition": "NO",
"bankCode": "WOORIBANK",
"signature": "abc123"
}
Response
{
"errorCode": 0,
"message": "Thành công",
"billCode": "60586f8d6a684",
"payment": {
"bankAccounts": [{
"bankCode": "WOORIBANK",
"bankName": "WOORIBANK",
"bankBranch": "",
"accountNo": "902000225675",
"accountName": "VAP001 PHAM MINH TUAN"
}]
},
"signature": "07a0127c496a24e1a72e5eb123da1e7bc603bbf444babc41fde20 63e5438a89f"
}