A webhook
(also called a web callback) allows your system to receive an event from a different app immediately after it happens.
For example, you can subscribe to a webhook when an order changes from pending
to completed
status. When the payment is cleared and the order is completed, Revolut servers send a notification to the URL of your choice. This is a more efficient way to know when an order is paid as opposed to trying to get the status of the order every few seconds.
Many events that happen to a Revolut Merchant account are synchronous, which means they arrive instantly and have immediate results. For example, a successful request to create a customer immediately returns a Customer
object. Such requests don't require webhooks.
The Revolut Merchant API supports webhooks for events including ORDER_COMPLETED
and ORDER_AUTHORISED
.
Because we cannot guarantee the delivery order of the status (events
), you might receive the status not in the expected order. Make sure that your implementation does not rely on the order that the events are being received in.
For example, for a completed order, you should receive the ORDER_AUTHORISED
status first and then ORDER_COMPLETED
. However, if the ORDER_AUTHORISED
status isn't sent successfully at first, it's moved to the queue to be resent in the next few minutes. Before then, if the ORDER_COMPLETED
status is sent successfully, you get ORDER_COMPLETED
first and then ORDER_AUTHORISED
.
Check out our tutorial for Using webhooks to keep track of the payment lifecycle.
For more information about the order and payment lifecycle, see: Order and payment lifecycle.