Business API
Retrieve a transaction
api
get
/transaction/{id}

Retrieve a transaction

Retrieve the details of a specific transaction. The details can include, for example, cardholder details for card payments.

You can retrieve a transaction with its details either by its transaction ID or by the request ID that was provided for this transaction at the time of its creation, for example, when you created a payment.

  • To retrieve a transaction by its transaction ID, use:

    /transaction/{transaction_id}
  • To retrieve a transaction by a request ID provided at transaction creation, use:

    /transaction/{request_id}?id_type=request_id

For more details, see the guides: Retrieve transaction data.

Access Token

Each Business API request must contain an authorization header in the following format to make a call: Bearer <your_access_token>.

The access token will be obtained the first time you set up your application and has an expiration of 40 minutes. During setup, a refresh_token will also be obtained which allows to obtain a new access_token.

danger

Never share your client-assertion JWT (JSON web token), access_token and refresh_token with anyone, as these can be used to access your banking data and initiate transactions.

Access tokens can be issued with four security scopes and require a JWT (JSON Web Token) signature to be obtained:

  • READ: Permissions for GET operations.

  • WRITE: Permissions to update counterparties, webhooks, and issue payment drafts.

  • PAY: Permissions to initiate or cancel transactions and currency exchanges.

  • READ_SENSITIVE_CARD_DATA: Permissions to retrieve sensitive card details.

    caution

    If you enable the READ_SENSITIVE_CARD_DATA scope for your access token, you must set up IP whitelisting. Failing to do so will prevent you from accessing any Business API endpoint.

    IP whitelisting means that you must specify an IP or a set of IPs which will be the only IPs from which requests to the API will be accepted. To do so:

    1. Go to the Revolut Business web app settings -> APIs -> Business API.
    2. Select the corresponding API certificate.
    3. In Production IP whitelist, provide the IP(s) which should be whitelisted, and save.

To configure your JWT and obtain the refresh and first access tokens, complete the following steps:

  1. Sign up for a Revolut Business account
  2. Prepare your Sandbox environment
  3. Make your first API request

Request

Path Parameters
Path Parameters

The ID of the transaction, or the request ID provided at payment creation if id_type = request_id.

Query Parameters
Query Parameters

Possible values: [request_id]

The type of the ID to retrieve the transaction by.

Response

The information about a specific transaction

Response body
Body object

The ID of the transaction.

Possible values: [atm, card_payment, card_refund, card_chargeback, card_credit, exchange, transfer, loan, fee, refund, topup, topup_return, tax, tax_refund]

Indicates the transaction type.

The request ID that you provided previously.

Possible values: [created, pending, completed, declined, failed, reverted]

Indicates the transaction state. Possible values:

  • created: The transaction has been created and is either processed asynchronously or scheduled for a later time.
  • pending: The transaction is pending until it's being processed. If the transfer is made between Revolut accounts, this state is skipped and the transaction is executed instantly.
  • completed: The transaction was successful.
  • declined: The transaction was unsuccessful. This can happen for a variety of reasons, for example, insufficient account balance, wrong receiver information, etc.
  • failed: The transaction was unsuccessful. This can happen for a variety of reasons, for example, invalid API calls, blocked payments, etc.
  • reverted: The transaction was reverted. This can happen for a variety of reasons, for example, the receiver being inaccessible.

The reason code when the transaction state is declined or failed.

The date and time the transaction was created in ISO 8601 format.

The date and time the transaction was last updated in ISO 8601 format.

The date and time the transaction was completed in ISO 8601 format. This is required when the transaction state is completed.

The scheduled date of the payment, if applicable. Provided in ISO 8601 format.

The ID of the original transaction to which this transaction is related. Returned, for example, when this transaction is a refund of the related transaction, or for transactions related to cashback.

The information about the merchant (only for card transactions).

The name of the merchant.

The city of the merchant.

The category code of the merchant.

Possible values: Value must match regular expression ^[A-Z]{2,3}$

The bank country of the counterparty as the 2-letter ISO 3166 code.

The payment reference.

The legs of the transaction:

  • For transactions between your Revolut accounts, there can be 2 legs, for example, an internal transfer made out of the GBP account and into the EUR account.
  • For transactions in other cases, there is only 1 leg.

The ID of the leg.

The amount of the transaction.

The amount of the transaction fee.

Possible values: Value must match regular expression ^[A-Z]{3}$

ISO 4217 currency code in upper case.

The billing amount for cross-currency payments.

Possible values: Value must match regular expression ^[A-Z]{3}$

ISO 4217 currency code in upper case.

The ID of the account that the transaction is associated with.

The ID of the counterparty account.

Possible values: [self, revolut, external]

Indicates the type of the account.

The ID of the counterparty.

The transaction leg purpose.

The total balance of the account that the transaction is associated with.

The details of the card associated with the transaction.

The ID of the card.

The masked card number.

The first name of the cardholder.

The last name of the cardholder.

The phone number of the cardholder in the E.164 format.

Was this page helpful?
Loading...