Retrieve a payment intent

Retrieve the current state and details of a payment intent.

This endpoint is used to poll the payment intent status after pushing a payment request to a Revolut Terminal. You should poll this endpoint repeatedly until the payment intent reaches a final state.

Payment intent states:

StateDescription
pendingPayment intent created and sent to terminal, customer has not yet started interacting
processingCustomer is actively interacting with the terminal (e.g., inserting card, entering PIN)
completedPayment authorisation is complete, response includes a payment_id that you should use to retrieve the final payment status
cancelledPayment intent was cancelled (by your system or by the customer on the terminal)
failedPayment intent failed due to technical issues (e.g., timeout, terminal became unavailable)
Polling strategy
  • Poll every second while the state is pending or processing
  • Set a reasonable timeout (e.g., 60 seconds) to handle cases where the customer abandons the payment
Info

For the complete push payments flow, see: Push payments to Revolut Terminal.

Request

Path parameters
Path parameters

The unique identifier of the payment intent.

Header parameters
Header parameters

Example: "Bearer sk_1234567890ABCdefGHIjklMNOpqrSTUvwxYZ_1234567890-Ab_cdeFGHijkLMNopq"

This parameter accepts the Merchant API Secret key to authorise requests coming from the merchant's backend.

It ensures that ensures that each request is authenticated and authorised by verifying the secret key. The secret key should be included in all request headers as a Bearer token.

Info

For more information, see: Authentication

Possible values: [2023-09-01, 2024-05-01, 2024-09-01, 2025-10-16, 2025-12-04, 2026-03-12, 2026-04-20]
Example: "2026-04-20"

The version of the Merchant API, specified in YYYY-MM-DD format.

Info

For more information about API versioning, see: API versions.

Response

OK

Response body
Body object

The unique identifier of the payment intent.

Possible values: [pending, processing, completed, cancelled, failed]

The current state of the payment intent.

StateDescription
pendingPayment intent created and sent to terminal, customer has not yet started interacting
processingCustomer is actively interacting with the terminal (e.g., inserting card, entering PIN)
completedPayment authorization is complete, includes a payment_id in the response
cancelledPayment intent was cancelled (by system or customer)
failedPayment intent failed due to technical issues (timeout, terminal unavailable, network error)

The unique identifier of the terminal.

Permanent order ID used to retrieve, capture, cancel, or refund an order after authorization.

The ID of the payment.

The payment amount expressed in minor currency units, according to the ISO 4217 standard. For example, 7034 in EUR corresponds to €70.34.

Info

Conversion between major and minor units varies by currency. For instance, 100 minor units equal £1.00 in GBP, whereas in ISK they represent 100 units. For more details, see the ISO 4217 standard.

Possible length: >= 3 characters and <= 3 characters

ISO 4217 currency code in upper case.

Info

For more information about the supported currencies, see: Help Center.

The date and time the payment intent was created.

The date and time the payment intent was last updated.

Was this page helpful?