Skip to main content
Version: Lastest

Process transaction pending

With errorCode: 35 - Pending transaction, AppotaPay will callback to Partner via IPN URL (which you registered with AppotaPay) after we receive the bank result.

Partner provides IPN url information to config on AppotaPay system

Method: POST

Header:

{
"Content-Type": "application/json"
}

Params

ParamsTypeDescription
errorCodeIntegerError code result
messageStringDescription detail error code
transactionObjectTransaction information
transaction.amountIntegerTransaction money
transaction.transferAmountIntegerThe actual amount transferred to the receiver, Will be less if this transaction paid by receiver
transaction.transferStatusstringTransaction transfer status (success, error)
transaction.appotapayTransIdStringTransaction id from AppotaPay
transaction.partnerRefIdStringTransaction id from Partner
transaction.timeStringTransaction time with format: d-m-Y H:i:s
signatureStringSignature of parameter passed to the API, the parameter is included into signature like this: amount + appotapayTransId + errorCode + partnerRefId + time + transferAmount + transferStatus (see more how to generate signature)

Example

Request

{
"errorCode": 0,
"message": "Thành công",
"transaction": {
"amount": 50000,
"transferAmount": 50000,
"transferStatus": "success",
"appotapayTransId": "AP19992831832",
"partnerRefId": "615fb520099dq4",
"time": "27-10-2021 10:03:59"
},
"signature": "681b80d9dff4bc8d17c8b07ee3ef0fb8e3f1a12148184507c7d80a0bee6efe6d"
}

signature = HMAC_SHA256(data, secretKey)

data sign sort params in place by keys in ascending order, exp: data: amount={amount}&appotapayTransId={appotapayTransId}&errorCode={errorCode}&partnerRefId={partnerRefId}&time={time}&transferAmount={transferAmount}&transferStatus={transferStatus}

Response

HTTP Code: 200
Body: {"status": "ok"}

The request is considered as Success whenever receiving HTTP code=200. Unsuccessful Request will be retried maximum 3 times, each 5 minutes

Transaction Status

use transferStatus param for checking transaction status

Transfer StatusStatus
successTransaction successfully
errorTransaction failed

Checking data

Use signature param to check response data from AppotaPay.