Instant Payment Notification
Partner build URL IPN to receive result return from AppotaPay. AppotaPay request included params to notifyUrl when transaction received transfer.
Note
Double check the amount & signature fields
IPN
Method: POST
Header:
{
"Content-Type": "application/json"
}
Data post to IPN URL
Params | Type | Description |
---|---|---|
apiKey | String | Api key |
partnerCode | String | Partner code |
billCode | String | Bill code |
amount | Integer | Amount payment |
bankAccountNumber | String | Account number |
bankAccountName | String | Account name |
bankCode | String | Bank code |
requestTime | Integer | Send IPN time |
transactionTime | Integer | Transaction time |
transactionId | String | Transaction id |
extraData | String | Extra data |
version | String | Version IPN |
memo | String | Transfer content |
signature | String | Signature of parameter passed to the API, the parameter is included into signature like this: amount + apiKey + bankAccountName + bankAccountNumber + bankCode + billCode + extraData + memo + partnerCode + requestTime + transactionId + transactionTime + version (see more how to generate signature) |
Example
Response
{
"apiKey": "oMhJpkz7K6HDcR6S",
"partnerCode": "TEST",
"billCode": "123456",
"amount": 100000,
"bankAccountNumber": "902098898909",
"bankAccountName": "NGUYEN VAN A",
"bankCode": "WOORIBANK",
"requestTime": 1577811600,
"transactionTime": 1577811600,
"transactionId": "AP1212121212",
"extraData": "test",
"version": "1.0",
"memo": "test chuyen tien",
"signature": "b10294bae53e89919b3efd62a763bf3228e260ef1a329..."
}
Data from IPN return
StatusCode (String) | StatusDetail (String) |
---|---|
00 | Success |
11 | Signature not match |
15 | Duplicate transactionId |
16 | Unknow Error |
99 | Timeout |
Example
{
"statusCode": 00,
"statusDetail": "Success"
}