How callbacks works
- You get notified about the agreement and payment status via REST callbacks.
- You have real-time information about your customer agreement and subscriptions
- We are sending callbacks in two ways:
- A batch that runs every 2 mins. It contains Subscription payments with status: Declined/Rejected/Failed/Executed/OneOff_Expired. So in theory, there is a possible delay of 2 mins.
- Right after the user made an action. It contains OneOff_Reserved/OneOff_Rejected.
- Every two minutes we take up to 1000 events (notifications about payment state), group them by merchant and make the calls. Therefore, as for merchant you should get up to 1 call every two minutes.
- We will post the integrator or merchant a callback, and expect a HTTP 2xx response. If not we will retry 8 times.
- For example:
- Agreement: When the Agreement’s status changes from Pending we will do a callback to the merchant’s system
- Payment: If a payment changes status e.g. declined by users, a callback on the specific payment will be made
Payment_status_callback_url
- You set the payment_status_callback_url yourself by making a call to our API. Go to -> APIs -> Subscriptions and find the
patch
method to set the payment_status_callback_url - We cannot send callbacks to you, unless you have set the
payment_status_callback
- The payment_status_callback_url does not need to be whitelisted at MobilePay side.
Example of body (please insert your values)
[ { "value": "http://example.com", "path": "/payment_status_callback_url", "op": "replace", "from": "http://example.com" } ] |
What should I do if my system was not able to receive or correctly process the callback?
- The callback service will try to deliver its message through our retry mechanism - we make up to 8 retries.
- When a callback goes through whole cycle of multiple retries, it ends up in MobilePay Error Queue. You do not access to this Queue.
- You should use our API to retrieve a current status of the entity.
- Please configure the
payment_status_callback_url
before you start to send payment requests.
Read more here