To understand how your payments progress in their lifecycle, you can set up notifications to track changes. To do this, you can use our Webhooks endpoint.
webhook (also called a web callback) allows your system to receive an
event from a different app immediately after it happens. You can set up webhooks for different events and your system will receive a notification to a specified URL whenever each of these events happen.
You can use our Merchant API to setup a webhook URL and specify the
events in the request body that you would like to receive.
You need a URL to receive the events. This needs to be an endpoint on your server to which our internal systems can send
POST requests whenever the events happen.
Once the events you have subscribed to occur, we will send a callback to the URL you have provided. It is now up to you to handle the information that your system receives.
Example structure of the events our system sends:
"merchant_order_ext_ref": "Test #3928"
We cannot guarantee the delivery order of the events. You might receive the events in an unexpected order. Make sure your server does not rely on the temporal order of events.
If a request sent to your webhook URL returns an HTTP error response or times out and the delivery of the events fails, Revolut will retry sending the webhook event 3 more times, each with a 10-minute interval.
Now that you can use webhooks to track the payment lifecycle more effectively, there are two scenarios where we recommend using webhooks:
onSuccess callback that is executed from the widget, set up a webhook URL for receiving
ORDER_COMPLETED events. This is a much more robust approach to moving your own orders to a "successful" state and giving your product or service to your customers.
ORDER_PAYMENT_FAILED and the
ORDER_PAYMENT_DECLINED events. This will allow your backend to track when a payment for an order fails. You can use this together with the
decline_reason parameter in the payment object. You can retrieve the
decline_reason by retrieving the corresponding order for the payment.