Revolut · Schema

Payment Intent

Represents a payment intent that has been pushed to a Revolut Terminal device. When the payment intent reaches `completed` state, it includes a `payment_id` that can be used to [retrieve the final payment status](https://developer.revolut.com/docs/api/merchant#retrieve-payment-details).

CompanyFintechPaymentsBankingOpen BankingMerchant AcquiringCryptocurrencyCardsConsumer Banking

Properties

Name Type Description
id object
state object
terminal_id object
order_id object
payment_id object
amount object
currency object
created_at string The date and time the payment intent was created.
updated_at string The date and time the payment intent was last updated.
View JSON Schema on GitHub

JSON Schema

revolut-payment-intent-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/revolut/main/json-schema/revolut-payment-intent-schema.json",
  "title": "Payment Intent",
  "description": "Represents a payment intent that has been pushed to a Revolut Terminal device.\n\nWhen the payment intent reaches `completed` state, it includes a `payment_id` that can be used to [retrieve the final payment status](https://developer.revolut.com/docs/api/merchant#retrieve-payment-details).",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/revolut-payment-intents-api-openapi.yml#/components/schemas/Payment-Intent",
  "type": "object",
  "properties": {
    "id": {
      "$ref": "#/$defs/Payment-Intent-Id"
    },
    "state": {
      "$ref": "#/$defs/Payment-Intent-State"
    },
    "terminal_id": {
      "$ref": "#/$defs/Terminal-Id"
    },
    "order_id": {
      "$ref": "#/$defs/Order-Id"
    },
    "payment_id": {
      "$ref": "#/$defs/Payment-Id"
    },
    "amount": {
      "$ref": "#/$defs/Payment-Intent-Amount"
    },
    "currency": {
      "$ref": "#/$defs/Currency"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the payment intent was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the payment intent was last updated."
    }
  },
  "required": [
    "id",
    "order_id",
    "state",
    "amount",
    "currency",
    "terminal_id",
    "created_at",
    "updated_at"
  ],
  "$defs": {
    "Currency": {
      "type": "string",
      "format": "ISO 4217",
      "minLength": 3,
      "maxLength": 3,
      "description": "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in upper case.\n\n:::info\nFor more information about the supported currencies, see: [Help Center](https://help.revolut.com/business/help/merchant-accounts/payments/in-which-currencies-can-i-accept-payments/).\n:::"
    },
    "Order-Id": {
      "type": "string",
      "format": "uuid",
      "description": "Permanent order ID used to retrieve, capture, cancel, or refund an order after authorization."
    },
    "Payment-Id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the payment."
    },
    "Payment-Intent-Amount": {
      "title": "Payment Intent amount",
      "type": "integer",
      "description": "The payment amount expressed in minor currency units, according to the [ISO 4217 standard](https://en.wikipedia.org/wiki/ISO_4217). For example, `7034` in `EUR` corresponds to €70.34.\n\n:::info\nConversion 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](https://en.wikipedia.org/wiki/ISO_4217).\n:::"
    },
    "Payment-Intent-Id": {
      "title": "Payment Intent ID",
      "type": "string",
      "format": "uuid",
      "description": "The unique identifier of the payment intent."
    },
    "Payment-Intent-State": {
      "type": "string",
      "description": "The current state of the payment intent.\n\n| State | Description |\n|-------|-------------|\n| `pending` | Payment intent created and sent to terminal, customer has not yet started interacting |\n| `processing` | Customer is actively interacting with the terminal (e.g., inserting card, entering PIN) |\n| `completed` | Payment authorization is complete, includes a `payment_id` in the response |\n| `cancelled` | Payment intent was cancelled (by system or customer) |\n| `failed` | Payment intent failed due to technical issues (timeout, terminal unavailable, network error) |",
      "enum": [
        "pending",
        "processing",
        "completed",
        "cancelled",
        "failed"
      ]
    },
    "Terminal-Id": {
      "title": "Terminal ID",
      "type": "string",
      "format": "uuid",
      "description": "The unique identifier of the terminal."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/revolut-payment-intent"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.