Revolut Domestic payment API

*Domestic payments*, which you can use for local payments in the local currency of the user. :::note Revolut supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries. ::: As a regulated third party provider, you can use the provided endpoints to initiate a domestic payment in the following high-level workflow: - Create a consent. - Get the consent. - Create a payment. - Get the payment. Before you begin, ensure that you've registered your application with the `payments` scope. For more information, see [Tutorials: Initiate your first payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment). :::tip See also [Domestic scheduled payments](https://developer.revolut.com/docs/api/open-banking#tag-domestic-scheduled-payment) and [Domestic standing orders](https://developer.revolut.com/docs/api/open-banking#tag-domestic-standing-order). :::

OpenAPI Specification

revolut-domestic-payment-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  version: '1.0'
  title: Business Accounting Domestic payment API
  description: "As a Revolut Business customer with a Business Account, you can use the Business API to automate your own business processes.\nSave time, reduce your costs, and avoid errors by using the Business API. \n\n:::tip[Before you get started]\nTo learn more about the Business API and its features, check the [**user guides**](https://developer.revolut.com/docs/guides/manage-accounts/introduction).\n\nYou can reach them at any time from the main navigation bar **→ Guides → Business**.\n:::\n\nYou can view accounts, manage counterparties, make payments or currency exchanges without manual effort in the Web UI:\n\n- Accounting: [Account management](https://developer.revolut.com/docs/api/business#get-account), [Accounting settings](https://developer.revolut.com/docs/api/business#tag-accounting), [Expense management](https://developer.revolut.com/docs/api/business#get-expense), [Transactions](https://developer.revolut.com/docs/api/business#get-transactions) \n- Payments: \n  - [Counterparty management](https://developer.revolut.com/docs/api/business#get-counterparties)\n  - Payment management: [Payment drafts](https://developer.revolut.com/docs/api/business#delete-payment-draft), [Payout links](https://developer.revolut.com/docs/api/business#get-payout-link), [Transfers](https://developer.revolut.com/docs/api/business#tag-transfers)\n  - [Foreign exchange](https://developer.revolut.com/docs/api/business#tag-foreign-exchange)\n- Business team: [Card management](https://developer.revolut.com/docs/api/business#delete-card), [Card invitation management](https://developer.revolut.com/docs/api/business#update-card-invitation), [Team member management](https://developer.revolut.com/docs/api/business#delete-team-member)\n- Developer tools: [Sandbox simulations](https://developer.revolut.com/docs/api/business#tag-simulations), [Webhook management](https://developer.revolut.com/docs/api/business#tag-webhooks-v2)\n\nTo see the reference for the specific endpoints and operations of this API, browse the menu on the left.\n\n### Test the Business API\n\nYou can test the Business API in Postman by forking this collection:\n\n[![View in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/revolut-api/workspace/revolut-developers/overview)"
  contact: {}
servers:
- url: https://b2b.revolut.com/api/1.0
  description: Production server (uses live data)
- url: https://sandbox-b2b.revolut.com/api/1.0
  description: Sandbox server (uses test data)
tags:
- name: Domestic payment
  description: '*Domestic payments*, which you can use for local payments in the local currency of the user.


    :::note

    Revolut supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.

    :::


    As a regulated third party provider, you can use the provided endpoints to initiate a domestic payment in the following high-level workflow:


    - Create a consent.

    - Get the consent.

    - Create a payment.

    - Get the payment.


    Before you begin, ensure that you''ve registered your application with the `payments` scope.

    For more information, see [Tutorials: Initiate your first payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).


    :::tip

    See also [Domestic scheduled payments](https://developer.revolut.com/docs/api/open-banking#tag-domestic-scheduled-payment) and [Domestic standing orders](https://developer.revolut.com/docs/api/open-banking#tag-domestic-standing-order).

    :::'
paths:
  /domestic-payment-consents:
    post:
      tags:
      - Domestic payment
      summary: Create a domestic payment consent
      security:
      - AccessToken:
        - payments
        JWS:
        - payments
      description: 'Create a domestic payment consent described in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).


        Use domestic payments for local payments in the local currency of the user.


        :::note

        Revolut supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.

        :::


        Because Revolut Business users can have multiple accounts in the same currency, they can choose which account they want to be charged in the consent authorization UI.


        When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the `x-jws-signature` request header. Note:

        - The JWS is generated from the request body with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) signing key that is specified in the JWS header.

        - The JWS consists of a header and a signature in the `<jws_header>..<jws_signature>` format.


        To see how to create a JWS, see the guide: [Work with JSON Web Signatures](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures).


        See also [Tutorials: Initiate your first payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#2-create-a-domestic-payment-consent).'
      operationId: CreateDomesticPaymentConsents
      parameters:
      - name: x-fapi-financial-id
        in: header
        description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.

          The ID of Revolut is `001580000103UAvAAM`.'
        required: true
        schema:
          type: string
      - name: x-fapi-customer-last-logged-time
        in: header
        description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).


          All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.

          For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.'
        schema:
          pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
          type: string
      - name: x-fapi-customer-ip-address
        in: header
        description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
        schema:
          type: string
      - name: x-fapi-interaction-id
        in: header
        description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
        schema:
          type: string
      - name: Authorization
        in: header
        description: 'The access token that you''ve generated.

          For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
        required: true
        schema:
          type: string
      - name: x-idempotency-key
        in: header
        description: 'Each request is processed only once per `x-idempotency-key`.

          The idempotency key is valid for 24 hours.'
        required: true
        schema:
          maxLength: 40
          pattern: ^(?!\s)(.*)(\S)$
          type: string
      - name: x-jws-signature
        in: header
        description: A [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
        required: true
        schema:
          type: string
      - name: x-customer-user-agent
        in: header
        description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OBWriteDomesticConsent2'
            example:
              Data:
                Initiation:
                  InstructionIdentification: ID412
                  EndToEndIdentification: E2E123
                  InstructedAmount:
                    Amount: '10.0'
                    Currency: GBP
                  CreditorAccount:
                    SchemeName: UK.OBIE.SortCodeAccountNumber
                    Identification: '11223321325698'
                    Name: Receiver Co.
                  RemittanceInformation:
                    Unstructured: Shipment fee
              Risk:
                PaymentContextCode: EcommerceGoods
                MerchantCategoryCode: '5967'
                MerchantCustomerIdentification: '1238808123123'
                DeliveryAddress:
                  AddressLine:
                  - '7'
                  StreetName: Apple Street
                  BuildingNumber: '1'
                  PostCode: E2 7AA
                  TownName: London
                  Country: UK
        required: true
      responses:
        '201':
          description: Domestic Payment Consents Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBWriteDomesticConsentResponse2'
              example:
                Data:
                  Status: AwaitingAuthorisation
                  StatusUpdateDateTime: '2022-09-23T08:34:43.275221Z'
                  CreationDateTime: '2022-09-23T08:34:43.275221Z'
                  ConsentId: 0d4b6692-xxxx-4938-xxxx-99e125231cf9
                  Initiation:
                    InstructionIdentification: ID412
                    EndToEndIdentification: E2E123
                    InstructedAmount:
                      Amount: '10.0'
                      Currency: GBP
                    CreditorAccount:
                      SchemeName: UK.OBIE.SortCodeAccountNumber
                      Identification: '11223321325698'
                      Name: Receiver Co.
                    RemittanceInformation:
                      Unstructured: Shipment fee
                Risk:
                  PaymentContextCode: EcommerceGoods
                  MerchantCategoryCode: '5967'
                  MerchantCustomerIdentification: '1238808123123'
                  DeliveryAddress:
                    AddressLine:
                    - '7'
                    StreetName: Apple Street
                    BuildingNumber: '1'
                    PostCode: E2 7AA
                    TownName: London
                    Country: UK
                Links:
                  Self: https://oba-auth.revolut.com/domestic-payment-consents/0d4b6692-xxxx-4938-xxxx-99e125231cf9
                Meta:
                  TotalPages: 1
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '401':
          description: Unauthorized
          content: {}
        '403':
          description: Forbidden
          content: {}
        '405':
          description: Method Not Allowed
          content: {}
        '406':
          description: Not Acceptable
          content: {}
        '415':
          description: Unsupported Media Type
          content: {}
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
      x-codegen-request-body-name: OBWriteDomesticConsent2Param
  /domestic-payment-consents/{ConsentId}:
    get:
      tags:
      - Domestic payment
      summary: Retrieve a domestic payment consent
      security:
      - AccessToken:
        - payments
      description: 'Get the details of a domestic payment consent.


        See also [Tutorials: Initiate your first payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).'
      operationId: GetDomesticPaymentConsentsConsentId
      parameters:
      - name: ConsentId
        in: path
        description: The ID of the account access consent.
        required: true
        schema:
          type: string
      - name: x-fapi-financial-id
        in: header
        description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.

          The ID of Revolut is `001580000103UAvAAM`.'
        required: true
        schema:
          type: string
      - name: x-fapi-customer-last-logged-time
        in: header
        description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).


          All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.

          For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.'
        schema:
          pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
          type: string
      - name: x-fapi-customer-ip-address
        in: header
        description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
        schema:
          type: string
      - name: x-fapi-interaction-id
        in: header
        description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
        schema:
          type: string
      - name: Authorization
        in: header
        description: 'The access token that you''ve generated.

          For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
        required: true
        schema:
          type: string
      - name: x-customer-user-agent
        in: header
        description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
        schema:
          type: string
      responses:
        '200':
          description: Domestic Payment Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBWriteDomesticConsentResponse2'
              example:
                Data:
                  Status: AwaitingAuthorisation
                  StatusUpdateDateTime: '2022-09-23T08:34:43.275221Z'
                  CreationDateTime: '2022-09-23T08:34:43.275221Z'
                  ConsentId: 0d4b6692-xxxx-4938-xxxx-99e125231cf9
                  Initiation:
                    CreditorAccount:
                      Name: Receiver Co.
                      SchemeName: UK.OBIE.SortCodeAccountNumber
                      Identification: '11223321325698'
                    InstructedAmount:
                      Amount: '10.0'
                      Currency: GBP
                    RemittanceInformation:
                      Unstructured: Shipment fee
                    EndToEndIdentification: E2E123
                    InstructionIdentification: ID412
                Risk:
                  DeliveryAddress:
                    Country: UK
                    PostCode: E2 7AA
                    TownName: London
                    StreetName: Apple Street
                    AddressLine:
                    - '7'
                    BuildingNumber: '1'
                  PaymentContextCode: EcommerceGoods
                  MerchantCategoryCode: '5967'
                  MerchantCustomerIdentification: '1238808123123'
                Links:
                  Self: https://oba-auth.revolut.com/domestic-payment-consents/0d4b6692-xxxx-4938-xxxx-99e125231cf9
                Meta:
                  TotalPages: 1
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '401':
          description: Unauthorized
          content: {}
        '403':
          description: Forbidden
          content: {}
        '405':
          description: Method Not Allowed
          content: {}
        '406':
          description: Not Acceptable
          content: {}
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
  /domestic-payment-consents/{ConsentId}/funds-confirmation:
    get:
      tags:
      - Domestic payment
      summary: Get funds confirmation for a domestic payment consent
      security:
      - AccessToken:
        - payments
      description: 'Check the funds for a domestic payment with the given consent.

        You can get the information only if the user has authorized the related consent.


        See also [Tutorials: Initiate your first payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).'
      operationId: GetDomesticPaymentConsentsConsentIdFundsConfirmation
      parameters:
      - name: ConsentId
        in: path
        description: The ID of the account access consent.
        required: true
        schema:
          type: string
      - name: x-fapi-financial-id
        in: header
        description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.

          The ID of Revolut is `001580000103UAvAAM`.'
        required: true
        schema:
          type: string
      - name: x-fapi-customer-last-logged-time
        in: header
        description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).


          All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.

          For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.'
        schema:
          pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
          type: string
      - name: x-fapi-customer-ip-address
        in: header
        description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
        schema:
          type: string
      - name: x-fapi-interaction-id
        in: header
        description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
        schema:
          type: string
      - name: Authorization
        in: header
        description: 'The access token that you''ve generated.

          For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
        required: true
        schema:
          type: string
      - name: x-customer-user-agent
        in: header
        description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
        schema:
          type: string
      responses:
        '200':
          description: Domestic Payment Consents Funds Confirmation Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1'
              example:
                Data:
                  FundsAvailableResult:
                    FundsAvailableDateTime: '2022-09-23T09:08:27.508922Z'
                    FundsAvailable: true
                Links:
                  Self: https://oba-auth.revolut.com/domestic-payment-consents/e3884854-be36-xxxx-xxxx-9ce807ab1335/funds-confirmation
                Meta:
                  TotalPages: 1
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '401':
          description: Unauthorized
          content: {}
        '403':
          description: Forbidden
          content: {}
        '405':
          description: Method Not Allowed
          content: {}
        '406':
          description: Not Acceptable
          content: {}
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
  /domestic-payments:
    post:
      tags:
      - Domestic payment
      summary: Create a domestic payment
      security:
      - AccessToken:
        - payments
        JWS:
        - payments
      description: 'Create a domestic payment.


        :::note

        As is defined in the Open Banking Specifications, the `/Data/Initiation` and the `/Data/Risk` sections of the request must be an exact match for the related consent passed in `ConsentId`.

        :::


        See also [Tutorials: Initiate your first payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#6-initiate-the-domestic-payment).'
      operationId: CreateDomesticPayments
      parameters:
      - name: x-fapi-financial-id
        in: header
        description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.

          The ID of Revolut is `001580000103UAvAAM`.'
        required: true
        schema:
          type: string
      - name: x-fapi-customer-last-logged-time
        in: header
        description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).


          All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.

          For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.'
        schema:
          pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
          type: string
      - name: x-fapi-customer-ip-address
        in: header
        description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
        schema:
          type: string
      - name: x-fapi-interaction-id
        in: header
        description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
        schema:
          type: string
      - name: Authorization
        in: header
        description: 'The access token that you''ve generated.

          For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
        required: true
        schema:
          type: string
      - name: x-idempotency-key
        in: header
        description: 'Each request is processed only once per `x-idempotency-key`.

          The idempotency key is valid for 24 hours.'
        required: true
        schema:
          maxLength: 40
          pattern: ^(?!\s)(.*)(\S)$
          type: string
      - name: x-jws-signature
        in: header
        description: A [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
        required: true
        schema:
          type: string
      - name: x-customer-user-agent
        in: header
        description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OBWriteDomestic2'
            example:
              Data:
                ConsentId: ec62477b-xxxx-41e2-xxxx-4d760c425a3e
                Initiation:
                  InstructionIdentification: ID412
                  EndToEndIdentification: E2E123
                  InstructedAmount:
                    Amount: '10.0'
                    Currency: GBP
                  CreditorAccount:
                    SchemeName: UK.OBIE.SortCodeAccountNumber
                    Identification: '11223321325698'
                    Name: Receiver Co.
                  RemittanceInformation:
                    Unstructured: Shipment fee
              Risk:
                PaymentContextCode: EcommerceGoods
                MerchantCategoryCode: '5967'
                MerchantCustomerIdentification: '1238808123123'
                DeliveryAddress:
                  AddressLine:
                  - '7'
                  StreetName: Apple Street
                  BuildingNumber: '1'
                  PostCode: E2 7AA
                  TownName: London
                  Country: UK
        required: true
      responses:
        '201':
          description: Domestic Payment Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBWriteDomesticResponse2'
              examples:
                Pending:
                  value:
                    Data:
                      ConsentId: ec62477b-xxxx-41e2-xxxx-4d760c425a3e
                      CreationDateTime: '2022-09-23T14:57:45.899155Z'
                      DomesticPaymentId: 632dc969-xxxx-ae29-xxxx-50cefc4ceae7
                      Initiation:
                        CreditorAccount:
                          Identification: '11223321325698'
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                        EndToEndIdentification: E2E123
                        InstructedAmount:
                          Amount: '10.0'
                          Currency: GBP
                        InstructionIdentification: ID412
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                      Status: Pending
                      StatusUpdateDateTime: '2022-09-23T14:57:45.899155Z'
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payments/632dc969-xxxx-ae29-xxxx-50cefc4ceae7
                    Meta:
                      TotalPages: 1
                AcceptedSettlementInProcess:
                  value:
                    Data:
                      ConsentId: ec62477b-xxxx-41e2-xxxx-4d760c425a3e
                      CreationDateTime: '2022-09-23T14:57:45.899155Z'
                      DomesticPaymentId: 632dc969-xxxx-ae29-xxxx-50cefc4ceae7
                      Initiation:
                        CreditorAccount:
                          Identification: '11223321325698'
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                        EndToEndIdentification: E2E123
                        InstructedAmount:
                          Amount: '10.0'
                          Currency: GBP
                        InstructionIdentification: ID412
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                      Status: AcceptedSettlementInProcess
                      StatusUpdateDateTime: '2022-09-23T14:57:45.899155Z'
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payments/632dc969-xxxx-ae29-xxxx-50cefc4ceae7
                    Meta:
                      TotalPages: 1
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '401':
          description: Unauthorized
          content: {}
        '403':
          description: Forbidden
          content: {}
        '405':
          description: Method Not Allowed
          content: {}
        '406':
          description: Not Acceptable
          content: {}
        '415':
          description: Unsupported Media Type
          content: {}
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/compon

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revolut/refs/heads/main/openapi/revolut-domestic-payment-api-openapi.yml