Payments report CSV
CSV output for `payments_report` report type. Contains all payments including failed and declined ones. The first row is a header row with column names. Subsequent rows contain payment data, one row per payment. For failed and declined payments, `fee_amount` and `fee_currency` are omitted. For payments made without a card, card-related columns are omitted. :::note The actual response is a raw `text/csv` string. The object schema below is a documentation convention only: OpenAPI's schema language (JSON Schema) describes JSON data shapes and has no native construct for typed CSV columns, so each property here corresponds to a CSV column header rather than a JSON field. :::
Properties
| Name | Type | Description |
|---|---|---|
| payment_id | string | Unique identifier of the payment attempt in the acquiring system. Corresponds to `id` in the IC++ fee breakdown report for the same payment. Not the same as `transaction_id` in the settlement or payou |
| type | string | Type of the payment. | Value | Description | | ----- | ----------- | | `PAYMENT` | A payment attempt made against the order. | | `REFUND` | A refund record reversing a previously completed payment. | |
| description | string | Description of the payment. |
| original_payment_id | string | For refunds, the acquiring ID of the original payment that this record reverses. Corresponds to `payment_id` on the original payment row. Populated only when `type` is `REFUND`. |
| order_id | string | Unique identifier of the order associated with this payment. An order can have multiple payment attempts — for example, a retry after a declined payment. Use `order_id` to cross-reference with the set |
| state | string | State of the payment. | Value | Description | | ----- | ----------- | | `COMPLETED` | The payment completed successfully. | | `FAILED` | The payment failed during processing. | | `DECLINED` | The paym |
| reason | string | Reason code for a failed or declined payment. Present only when `state` is `FAILED` or `DECLINED`. Example values: `INSUFFICIENT_FUNDS`, `DO_NOT_HONOUR`, `EXPIRED_CARD`, `INVALID_CVV`, `THREE_DS_CHALL |
| amount | number | Total amount of the payment. |
| currency | string | The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the payment. |
| surcharge_amount | number | Surcharge amount applied to the payment. Empty when no surcharge applies — this field is empty, not set to `0`. |
| tip_amount | number | Tip amount included in the payment, if any. |
| refunded_amount | number | Amount refunded for the payment. |
| created_date | string | Date and time the payment was created. |
| captured_date | string | Date and time the payment was captured, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC date-time format. Empty when the payment has not been captured. |
| merchant_order_ext_ref | string | Merchant's order reference. The value of the `merchant_order_data.reference` field set when the order was created. |
| payment_method | string | Payment method used. |
| location_id | string | Unique identifier of the location where the payment was made. |
| customer_id | string | Unique identifier of the customer. |
| customer_card_number | string | Masked card number used for the payment. |
| customer_card_country | string | Country of the card used for the payment, as an [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code. |
| customer_card_brand | string | Card brand used for the payment. Derived from BIN data. Example values include `VISA`, `MASTERCARD`, `MASTERCARD_DEBIT`, `MAESTRO`, `AMEX`, `DINERS`, `DISCOVER`, `JCB`. |
| customer_card_type | string | Card funding type. | Value | Description | | ----- | ----------- | | `DEBIT` | Debit card. | | `CREDIT` | Credit card. | | `PREPAID` | Prepaid card. | | `DEFERRED_DEBIT` | Deferred debit card. | | `CH |
| customer_card_category | string | Card commercial category. | Value | Description | | ----- | ----------- | | `consumer` | Personal card. | | `commercial` | Business or corporate card. | |
| customer_email | string | Email address of the customer. |
| fee_amount | number | Total fee amount charged for the payment. Omitted for failed and declined payments. |
| fee_currency | string | The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the fee. Omitted for failed and declined payments. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/revolut/main/json-schema/revolut-report-run-csv-payments-schema.json",
"title": "Payments report CSV",
"description": "CSV output for `payments_report` report type. Contains all payments including failed and declined ones.\n\nThe first row is a header row with column names. Subsequent rows contain payment data, one row per payment.\n\nFor failed and declined payments, `fee_amount` and `fee_currency` are omitted. For payments made without a card, card-related columns are omitted.\n\n:::note\nThe actual response is a raw `text/csv` string. The object schema below is a documentation convention only: OpenAPI's schema language (JSON Schema) describes JSON data shapes and has no native construct for typed CSV columns, so each property here corresponds to a CSV column header rather than a JSON field.\n:::",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/revolut-report-runs-api-openapi.yml#/components/schemas/Report-Run-Csv-Payments",
"type": "object",
"properties": {
"payment_id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier of the payment attempt in the acquiring system. Corresponds to `id` in the IC++ fee breakdown report for the same payment. Not the same as `transaction_id` in the settlement or payout reports — a payment and its resulting ledger transaction have different UUIDs. Use `order_id` to cross-reference with the settlement or payout reports."
},
"type": {
"type": "string",
"description": "Type of the payment.\n\n| Value | Description |\n| ----- | ----------- |\n| `PAYMENT` | A payment attempt made against the order. |\n| `REFUND` | A refund record reversing a previously completed payment. |",
"enum": [
"PAYMENT",
"REFUND"
]
},
"description": {
"type": "string",
"description": "Description of the payment."
},
"original_payment_id": {
"type": "string",
"format": "uuid",
"description": "For refunds, the acquiring ID of the original payment that this record reverses. Corresponds to `payment_id` on the original payment row. Populated only when `type` is `REFUND`."
},
"order_id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier of the order associated with this payment. An order can have multiple payment attempts — for example, a retry after a declined payment. Use `order_id` to cross-reference with the settlement or payout reports."
},
"state": {
"type": "string",
"description": "State of the payment.\n\n| Value | Description |\n| ----- | ----------- |\n| `COMPLETED` | The payment completed successfully. |\n| `FAILED` | The payment failed during processing. |\n| `DECLINED` | The payment was rejected by the issuer or payment flow. |\n| `CANCELLED` | The payment was cancelled before completion. |\n| `PROCESSING` | The payment is still being processed. |",
"enum": [
"COMPLETED",
"FAILED",
"DECLINED",
"CANCELLED",
"PROCESSING"
]
},
"reason": {
"type": "string",
"description": "Reason code for a failed or declined payment. Present only when `state` is `FAILED` or `DECLINED`.\n\nExample values: `INSUFFICIENT_FUNDS`, `DO_NOT_HONOUR`, `EXPIRED_CARD`, `INVALID_CVV`, `THREE_DS_CHALLENGE_FAILED`, `SUSPECTED_FRAUD`, `LOST_CARD`, `STOLEN_CARD`, `TECHNICAL_ERROR`."
},
"amount": {
"type": "number",
"description": "Total amount of the payment."
},
"currency": {
"type": "string",
"description": "The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the payment."
},
"surcharge_amount": {
"type": "number",
"description": "Surcharge amount applied to the payment. Empty when no surcharge applies — this field is empty, not set to `0`."
},
"tip_amount": {
"type": "number",
"description": "Tip amount included in the payment, if any."
},
"refunded_amount": {
"type": "number",
"description": "Amount refunded for the payment."
},
"created_date": {
"type": "string",
"format": "date-time",
"description": "Date and time the payment was created."
},
"captured_date": {
"type": "string",
"format": "date-time",
"description": "Date and time the payment was captured, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC date-time format. Empty when the payment has not been captured."
},
"merchant_order_ext_ref": {
"type": "string",
"description": "Merchant's order reference. The value of the `merchant_order_data.reference` field set when the order was created."
},
"payment_method": {
"type": "string",
"description": "Payment method used."
},
"location_id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier of the location where the payment was made."
},
"customer_id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier of the customer."
},
"customer_card_number": {
"type": "string",
"description": "Masked card number used for the payment."
},
"customer_card_country": {
"type": "string",
"description": "Country of the card used for the payment, as an [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code."
},
"customer_card_brand": {
"type": "string",
"description": "Card brand used for the payment. Derived from BIN data. Example values include `VISA`, `MASTERCARD`, `MASTERCARD_DEBIT`, `MAESTRO`, `AMEX`, `DINERS`, `DISCOVER`, `JCB`."
},
"customer_card_type": {
"type": "string",
"description": "Card funding type.\n\n| Value | Description |\n| ----- | ----------- |\n| `DEBIT` | Debit card. |\n| `CREDIT` | Credit card. |\n| `PREPAID` | Prepaid card. |\n| `DEFERRED_DEBIT` | Deferred debit card. |\n| `CHARGE` | Charge card. |",
"enum": [
"DEBIT",
"CREDIT",
"PREPAID",
"DEFERRED_DEBIT",
"CHARGE"
]
},
"customer_card_category": {
"type": "string",
"description": "Card commercial category.\n\n| Value | Description |\n| ----- | ----------- |\n| `consumer` | Personal card. |\n| `commercial` | Business or corporate card. |",
"enum": [
"consumer",
"commercial"
]
},
"customer_email": {
"type": "string",
"format": "email",
"description": "Email address of the customer."
},
"fee_amount": {
"type": "number",
"description": "Total fee amount charged for the payment. Omitted for failed and declined payments."
},
"fee_currency": {
"type": "string",
"description": "The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the fee. Omitted for failed and declined payments."
}
}
}
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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/revolut-report-run-csv-payments"
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.