How do callbacks work? What if I don't receive callbacks?

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


  • 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": "",
   "path": "/payment_status_callback_url",
   "op": "replace",
   "from": ""


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