Merchant API
Register address validation endpoint for Fast checkout
api
post
/api/synchronous-webhooks

Register address validation endpoint for Fast checkout

Use this endpoint to register a URL where Revolut can send shipping address(es) from a Revolut Pay customer for validation during the Fast checkout process.

Revolut Pay can support Fast checkout for delivering goods. Once your customer selects a shipping address, Revolut needs to validate if the merchant (or their shipping partner) delivers to the address provided. This is done by contacting the merchant's backend and asking for such validation and information.

In order for your backend to support Fast checkout, you need to:

  1. Register an URL to handle address validation
  2. Validate the shipping address sent to your backend
  3. Respond with a JSON object containing the result of the validation

Additionally, Revolut Pay can support multiple webhooks if you have multiple stores. For more information, see:

note

To set up a webhook for tracking order completion, failure, error, etc. events, use the Webhooks endpoints.

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):

  1. Log in to your Revolut Business portal.
  2. On the top left corner, click your account name, click APIs then select Merchant API.
  3. 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.

Merchant API - Settings

note

Use these keys only for the production environment. For the Revolut Business Sandbox environment, use the sandbox API keys.

SSL

note

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

note

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

Request body
Body object

Possible values: [fast_checkout.validate_address]

Type of event this synchronous webhook is configured for.

note

At the moment, synchronous webhooks only support address validation events.

The valid URL of the endpoint, that uses the HTTPS URL schema. Revolut sends the shipping address of the customer to this URL for validation.

Unique ID representing the location where merchants sells products.

note

Currently, only online locations are supported.

info

For more information, see: Locations.

Response

OK

Response body
Body object

The ID of the synchronous webhook object.

Possible values: Value must match regular expression ^swsk_[a-zA-Z0-9]{32}$

A randomly generated signing key, which can be used by merchants to authenticate requests from Revolut by verifying the signature. For more information, see: Payload Signature.

The valid URL of the endpoint, that uses the HTTPS URL schema. Revolut sends the shipping address of the customer to this URL for validation.

Possible values: [fast_checkout.validate_address]

Type of event this synchronous webhook is configured for.

note

At the moment, synchronous webhooks only support address validation events.

Unique ID representing the location where merchants sells products.

note

Currently, only online locations are supported.

info

For more information, see: Locations.

Was this page helpful?
Loading...