Pay for an order
Initiate a payment to pay full amount for an order using a customer's saved payment method.
The /orders/{order_id}/confirm
endpoint has been deprecated. It will be only supported for already existing implementations.
This endpoint is part of a new API, pay attention to the different endpoint URL.
For more information about how to save and charge payment methods, see: Charge a customer's saved payment method.
The following table shows who can initiate payments on saved payment methods (initiator
parameter), depending on if the payment method was saved for the customer or the merchant (savedPaymentMethodFor
parameter):
savePaymentMethodFor: customer | savePaymentMethodFor: merchant | |
---|---|---|
initiator: customer | Allowed | Allowed |
initiator: merchant | Not allowed | Allowed |
Using this endpoint, only merchant initiated payments are supported with Revolut Pay.
For more information about customers' payment methods, see the Retrieve all payment methods of a customer operation.
Authorization
Each Merchant API request must contain an authorization header in the following format to make a call:
'Authorization: Bearer <yourSecretApiKey>'
Before you start, ensure that you've successfully applied for a Merchant Account in your Revolut Business Account.
The Public key is on the same path in your Revolut Business account as the Secret key. There are two different functions for each:
- Public key should be provided with payment methods at checkout
- Secret key is used as a part of the authorization header for all server calls, e.g., creating order
Complete the following steps to generate the Production API keys (Secret, Public):
- Log in to your Revolut Business portal.
- On the top left corner, click your account name, click APIs then select Merchant API.
- Under the Production API Secret key and Production API Public key sections you will find the API keys needed. If it's your first time on this page, you will need to click the Generate button to create your unique API keys.
You can also use this link to directly open the Merchant API page.
Use these keys only for the production environment. For the Revolut Business Sandbox environment, use the sandbox API keys.
SSL
This authentication protocol is used exclusively when using Fast checkout.
Connection over HTTPS is using SSL authentication. For successful authentication, your system's certificate should be issued by a Public Certificate Authority (PCA) and your system should trust Revolut's public certificate.
Revolut-Pay-Payload-Signature
This authentication protocol is used exclusively when using Fast checkout.
Data integrity and authorship will be verified using a payload-based signature. The response of a successful URL registration for address validation (see: Register address validation for Fast checkout) will contain a secret signing key.
The signing key will be used by Revolut to compute a Hash-based Message Authentication Code (HMAC) payload signature whenever the registered URL is called, which should be verified by your backend.
Request
Response
Payment initiated