Disbursement Result Notification
- Endpoint:
POST /disbursementResultNotifyUrl - Tags: Disbursement Service
Description
You do not need to request this url. The following request.body is the callback content from PayerMax regarding the order status. You need to respond with {"msg": "Success","code": "SUCCESS"} upon receiving the callback.
Parameters
| Field | In | Type | Required | Constraints | Description |
|---|---|---|---|---|---|
Content-Type | header | string | Yes | ||
sign | header | string | Yes | 签名信息请参考技术文档 |
Parameter Examples
Content-Type:"application/json"sign:"FPFVT3o227JrFRbqu19boZCpVVTF9KznxyRawUmxpfXilHV/0yK46haPhAjNu1hPUMy7Vw/ILXhfzffNm4Fj0apWknlTY9OJxnSoQxS9BTFtc61tn5yV1q69x/kkBl82/qwg+XTJ4fOzy7Mar3VaC1E2PlDA6RkkKBUyNE6RYgsdB+Su7an4+4HVTNAnoe74WyvBgxTLMNg28igBTdqxaO3w/UBY6ObVp7vkqkQGdL1Y+HgmMYaAVwrM3+ALWGId0sJ+YqTY4WJ+0xCRGhaSnybiIjZsQEYyID68WNUfuavDLDsEhaMm/HfQvf5p0R1Ltovp3wwJnEbQcjY458iX5A=="
Request Body
Content-Type: application/json
| Field | Type | Required | Constraints | Description | Enum |
|---|---|---|---|---|---|
code | string | Yes | maxLength: 32 | Callback notification code, APPLY_SUCCESS means this is a valid callback. | |
msg | string | Yes | maxLength: 256 | Callback notification description:Success. | |
keyVersion | string | Yes | maxLength: 8 | Key version, current value 1 | |
appId | string | Yes | maxLength: 64 | Merchant AppID, the unique identifier assigned to the merchant app by PayerMax. | |
merchantNo | string | Yes | maxLength: 32 | MerchantNo, the unique identifier generated when the merchant signs the contract with PayerMax. | |
notifyTime | string | Yes | maxLength: 32 | Notification time, in line with rfc3339 specification, format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX. | |
notifyType | string | Yes | maxLength: 16 | Notification type, PAYOUT. | |
data | object | Yes | Response data body. | ||
data.outTradeNo | string | Yes | maxLength: 64, minLength: 1 | Merchant Order Id. | |
data.tradeNo | string | Yes | maxLength: 64 | PayerMax transaction serial Order Number. | |
data.transactionUtcTime | string | Yes | maxLength: 32 | Transaction creation time, conforming to rfc3339 specification, format: "yyyy-MM-dd'T'HH:mm:ss Z". | |
data.fundsFreezeTime | string | No | Fund deduct time, conforms to rfc3339 specification, format: "yyyy-MM-dd'T'HH:mm:ss Z". | ||
data.fundsReturnTime | string | No | Fund return time, conforms to rfc3339 specification, format: "yyyy-MM-dd'T'HH:mm:ss Z". | ||
data.payFinishTime | string | No | maxLength: 32 | Transaction completion time, in line with rfc3339 specification, format: "yyyy-MM-dd'T'HH:mm:ss Z". | |
data.bounceBackTime | string | No | maxLength: 32 | Order bounced back time, in line with rfc3339 specification, format: "yyyy-MM-dd'T'HH:mm:ss Z". | |
data.redeemCode | string | No | maxLength: 32 | 1. FAWRY withdrawal code, 2. Carrier recharge PIN code. | |
data.expiryTime | string | No | maxLength: 32 | Order expiration time, in line with rfc3339 specification, format: "yyyy-MM-dd'T'HH:mm:ss Z". | |
data.status | string | Yes | maxLength: 32 | Transaction status, SUCCESS succeeded, FAILED failed, PENDING in progress, BOUNCEBACK bounce back. | |
data.subStatus | string | No | Transaction sub-status. When the transaction status of an order is PENDING,PayerMax provides sub-statuses to display the transaction processing progress. For specific enumeration values, please refer to:【Transaction Sub-Status Introduction】. If not returned, please contact technical support for an upgrade. | ||
data.trade | object | Yes | Transaction information. | ||
data.trade.amount | string | Yes | maxLength: 12 | The trade amount input by the merchant in the request. | |
data.trade.currency | string | Yes | maxLength: 3 | The currency code of trade input by the merchant in the request. | |
data.source | object | Yes | Disbursement Information (Merchant). | ||
data.source.amount | string | Yes | maxLength: 12 | Payer - Deduction Amount. | |
data.source.currency | string | Yes | maxLength: 3 | Payer - Deduction Currency. | |
data.source.exchangeRate | string | No | maxLength: 16 | The exchange rate for converting the trade currency to the source currency. | |
data.source.fee | string | No | maxLength: 12 | Payer - handling fee. | |
data.source.feeCurrency | string | No | maxLength: 3 | Payer - handing fee currency. | |
data.source.tax | string | No | maxLength: 12 | Payer - Tax fee. | |
data.source.taxCurrency | string | No | maxLength: 3 | Payer - Tax fee Currency. | |
data.destination | object | Yes | Payee Information (User). | ||
data.destination.amount | string | Yes | maxLength: 12 | Payee - Amount to account. | |
data.destination.currency | string | Yes | maxLength: 3 | Payee - Receiving Currency. | |
data.destination.exchangeRate | string | No | maxLength: 16 | The exchange rate for converting the trade currency to the deduction currency. | |
data.destination.fee | string | No | maxLength: 12 | Payee - handling fee. | |
data.destination.feeCurrency | string | No | maxLength: 3 | Payee - handing fee currency. | |
data.destination.tax | string | No | maxLength: 12 | Payee - Tax fee. | |
data.destination.taxCurrency | string | No | maxLength: 3 | Payee - Tax fee currency. | |
data.reference | string | No | maxLength: 512 | A pass-through parameter, which will be returned the same in the notification callback API. This field is primarily to hold customized data from merchant. | |
data.notifyPhone | string | No | maxLength: 32 | Payee notification phone number. | |
data.notifyEmail | string | No | maxLength: 64 | Payee notification email address. | |
data.responseCode | string | No | maxLength: 32 | Order failed error code.Refer to details【Error Codes Doc】. | |
data.responseMsg | string | No | maxLength: 256 | Order failed error code description. | |
data.additionalIdentifier | object | No | Additional transaction information, this field will be returned only after the withdrawal callback is upgraded to version 3.0 or above. If necessary, you can contact PayerMax technical support for adjustments. | ||
data.additionalIdentifier.referenceId | string | No | The transaction order number of the receiving bank/institution (based on historical experience, currently only the order number returned by BankTransfer in Saudi Arabia can be used as a voucher to confirm with the receiving bank whether the account has been received. The transaction order number format is such as: 20240418SAARNBARNB1B44410558522170) |
Example
json
{
"code": "APPLY_SUCCESS",
"data": {
"destination": {
"amount": "30.00",
"currency": "IDR",
"exchangeRate": "1.0000000000",
"fee": "0.00",
"feeCurrency": "IDR",
"tax": "0.00",
"taxCurrency": "IDR"
},
"source": {
"amount": "31.00",
"currency": "IDR",
"exchangeRate": "1.0000000000",
"fee": "1.00",
"feeCurrency": "IDR",
"tax": "0.00",
"taxCurrency": "IDR"
},
"trade": {
"amount": "30.00",
"currency": "IDR"
},
"transactionUtcTime": "2023-03-08T10:22:05 +0000",
"payFinishTime": "2023-03-08T10:23:05 +0000",
"expiryTime": "2023-03-12 02:37:37",
"bounceBackTime": "",
"reference": "Excepteur in non Ut elit",
"status": "SUCCESS",
"redeemCode": "123456",
"tradeNo": "20230308080847PO9876298789038049001",
"outTradeNo": "outTradeNo167823423411",
"notifyPhone": "08123456789",
"notifyEmail": "example@gmail.com",
"responseCode": "",
"responseMsg": ""
},
"additionalIdentifier": {
"referenceId": "2024041710121481030100166528590615003"
},
"keyVersion": "1",
"appId": "6666c83333a24666674497c444a33333",
"merchantNo": "010213834123456",
"msg": "Success.",
"notifyTime": "2023-03-08T16:22:05 +0000",
"notifyType": "PAYOUT"
}Responses
200
| Field | Type | Required | Constraints | Description | Enum |
|---|---|---|---|---|---|
msg | string | Yes | Response message | ||
code | string | Yes | Response code |
Response Example: 1
成功示例
json
{
"msg": "Success",
"code": "SUCCESS"
}Response Example: 2
异常示例
json
{
"bizCode": "9998",
"message": "data is invalid"
}