Skip to main content
Version: Lastest

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

ParamsTypeDescription
apiKeyStringApi key
partnerCodeStringPartner code
billCodeStringBill code
amountIntegerAmount payment
bankAccountNumberStringAccount number
bankAccountNameStringAccount name
bankCodeStringBank code
requestTimeIntegerSend IPN time
transactionTimeIntegerTransaction time
transactionIdStringTransaction id
extraDataStringExtra data
versionStringVersion IPN
memoStringTransfer content
signatureStringSignature 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)
00Success
11Signature not match
15Duplicate transactionId
16Unknow Error
99Timeout

Example

{
"statusCode": 00,
"statusDetail": "Success"
}