Notification (Callback)
Callback
After successful recharge, BonusPay will send relevant results and user information to the merchant in the form of data stream, and the merchant needs to receive and process it according to the document specifications, and return the response.
Notice
The same notification may be sent to the merchant system multiple times. The merchant system must be able to handle duplicate notifications correctly.
During the background notification interaction, if BonusPay receives a response from the merchant that does not comply with the specifications or times out, BonusPay will determine that the notification has failed, resend the notification until it succeeds (default retry 7 times, time interval: 2, 10, 10, 60, 120, 360, 900, unit: minutes), but BonusPay does not guarantee that the notification will eventually be successful.
If the BonusPay recharge result notification is not received, it is recommended that the merchant actively call the order inquiry interface to confirm the order status.
Notification Parameters
Order Info
acquireOrder
Required
AcquireOrder
-
Example
{
"header": {
"Host": "bonuspay.network",
"X-Forwarded-For": "172.16.12.81",
"Connection": "close",
"Content-Length": "755",
"X-Real-Ip": "172.16.12.81",
"X-Forwarded-Proto": "http",
"X-Forwarded-Port": "80",
"X-Forwarded-Host": "bonuspay.network",
"Partner-Id": "200001200101",
"Sign": "CrjNHPJILbGzUO2syulAwF5Arnh2wmh5SxP2Yd/orMoYKYoLUw4PDDqPrhjt2/zP5X+sDiXdD0UyCmIFdhGAw9A2qg0wO83f6MD2wT+r8lyMfMQcWC+aWz8Rh+Rr1Dz3SZFqZHc6A1TrAaZyvWBWCtSLdlUKbq0yfen6NjYFGp0YU9MKLBkfIouCIgoT+jL+Sf/+GIjkSjOb8Pj/OB2hqj/36TDF+VuNIvUVyQI9Z8u1CbnNogHMrIy4coAWjkfSpqK3/qtlVkGR1Du+f8uQaVrlD6GcadS1P/IPLJyybdTVYhtMLPbDabZaJgGL8jHN6ImEX78WcU2FcAsoF2B0pA==",
"Request-Id": "21116.222799.16370572829643753",
"Prod-Sw6": "1-MjExMTYuMjIyNzk5LjE2MzcwNTcyODI5NjQzNzUz-MjE4NjguNDMwLjE2MzczMzE3NDM4MzM2MTgw-2-21868-21116-MTE5Mw==-Iy9zZ3MvYXBpL2NyeXB0by9wbGFjZU9yZGVy-I1RocmVhZC9vcmcuYXBhY2hlLnNreXdhbGtpbmcuYXBtLnRvb2xraXQudHJhY2UuUnVubmFibGVXcmFwcGVyL3J1bg==",
"Content-Type": "application/json; charset=UTF-8",
"User-Agent": "Apache-HttpClient/4.5.8 (Java/1.8.0_72)",
"Accept-Encoding": "gzip,deflate"
},
"body": {
"notify_time": "20211119182223",
"acquireOrder": {
"merchantOrderNo": "f74b5a0e-cad7-4655-a9bb-b139937de853",
"orderNo": "131710904557001559",
"status": "SUCCESS",
"paymentInfo": {
"paidAmount": {
"currency": "USDT",
"amount": 12.8054
},
"paidTime": 1710904639805,
"payerFeeAmount": {
"currency": "USDT",
"amount": 0
},
"payChannelCode": "PLATON_QRPAY",
"txHash": "0x92b8a19ac4426acebdacc856282d00872e6fc8dd4317e260b96fc01def972e88",
"payeeAddress": "0x6c3103FFF34916Ef2df44CE952BcE610d7e23cB5",
"payerAddress": "0x8d6ce47fc282dd7a390dd7325d2b3deff338f71e"
},
"settlementInfo": {
"settledTime": 1710904639805,
"payeeFeeAmount": {
"currency": "USDT",
"amount": 0.256108
},
"settlementAmount": {
"currency": "USDT",
"amount": 12.5493
}
},
"product": "payment",
"totalAmount": {
"currency": "USDT",
"amount": 12.805378
},
"actualTotalAmount": {
"currency": "USDT",
"amount": 12.805378
},
"payeeMid": "200000344358",
"expiredTime": 1710990915143,
"notifyUrl": "http://yoursite.com/api/notification",
"subject": "ipad",
"requestTime": 1710904515145,
"accessoryContent": {
"terminalDetail": {
"merchantName": "sdfsdffd"
}
},
"paySceneCode": "API",
"reserved": "order desc",
"refAmount": {
"refAmount": {
"currency": "HKD",
"amount": 100
},
"exchangeCurrencyCode": "USDT"
}
},
"_input_charset": "UTF-8",
"notify_timestamp": 1637331743833,
"notify_id": "202111190340008301"
}
}
Response Parameters
After receiving the notification, the merchant returns "SUCCESS" to indicate successful reception, and other values indicate exceptions.
Response Sample
Http Header
{
"Content-Type": "application/json; charset=UTF-8"
}
Http Body
{
SUCCESS
}
Outbound IP address
8.219.8.37
Our system will call your system with this ip address.
Last updated