Tribe Payments Payment API

The Payment API from Tribe Payments — 4 operation(s) for payment.

Operations 4

POST /payments/status Payment Status
POST /payments Initiate a single new payment.
GET /payments/{paymentId} Retrieve content of an initiated payment.
GET /payments/{paymentId}/status Retrieve current status of an initiated payment.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/tribe-payments-payment-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

tribe-payments-payment-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tribe Payments Payment API
  version: 2.0.0
  description: 'Operations tagged Payment across 2 of this provider''s published API definitions: tribe-payments-obb-bank-api-openapi.json, tribe-payments-obb-tpp-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: '%bank_api_url%/bank/v2'
- url: '%tpp_api_url%/tpp/v2'
tags:
- name: Payment
paths:
  /payments/status:
    post:
      summary: Payment Status
      description: 'In case of payment status changes, the Bank should inform TPP of it by calling this endpoint.

        '
      tags:
      - Payment
      requestBody:
        description: The payload containing payment status information.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentStatusRequest'
      responses:
        '200':
          description: Payment status updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentStatusResponse'
    servers:
    - url: '%bank_api_url%/bank/v2'
  /payments:
    post:
      tags:
      - Payment
      summary: Initiate a single new payment.
      description: "**Scope:** `payments.single`. \n\nThe action is initiated by the TPP, and it is a part of the [Payment flow](#appendix--workflow--payment). \n\n In `TPP-Redirect-URI` header, an URL to which PSU is redirected after payment confirmation needs to be provided,\nadditional parameters indicating `status` and `paymentId` (optionally message) are added to the URL after the redirect.\nThis can be used to indicate if payment was confirmed successfully.\n\nIn the case of debtorAccount and creditorAccount, at least one of iban, bban or accountNumber with sortCode has to be provided, depending on the paymentScheme and type of payment that is being initiated."
      parameters:
      - name: TPP-Redirect-URI
        in: header
        required: true
        description: The URI of the TPP, where the transaction flow shall be redirected to after successful SCA.
        schema:
          type: string
          example: http://example.com/payment-initiated
      - name: Accept-Language
        in: header
        description: "\tThe SCA page is displayed based on the BCP47 language identifiers used in this standard HTTP header. Used when ASPSP requires a separate indication of language preference from the PSU’s browser’s Accept-Language. \n Only the most preferred language is being passed."
        schema:
          type: string
          example: en-US
      - name: Digest
        in: header
        description: A hash (SHA256, SHA512) of the request content encoded in base64.
        required: false
        schema:
          type: string
          example: SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=
      - name: X-Request-Id
        in: header
        description: A randomly generated request ID - must be a valid UUID.
        required: true
        schema:
          type: string
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
      - name: Signature
        in: header
        description: A calculated HTTP Signature for the request.
        required: false
        schema:
          type: string
          example: keyId="SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA",algorithm="rsa-sha256",headers="digest x-request-id x-client-id",signature="fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w=="
      - name: Tpp-Signature-Certificate
        in: header
        description: A certificate that was used to sign the request. Provided as a base64 encoded value.
        required: false
        schema:
          type: string
          example: MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==
      - name: Date
        in: header
        required: false
        description: A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).
        schema:
          type: string
          example: Thu, 18 Apr 2024 11:02:45 GMT
      requestBody:
        description: The information about the executed payment.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SinglePayment'
        required: true
      responses:
        '201':
          description: A successful response indicating a payment initiation request was created. Payment execution does not start until the PSU performs the SCA.
          headers:
            X-Rate-Limit-Limit:
              schema:
                type: integer
                example: 4
              description: The number of requests allowed per day.
              required: true
            X-Rate-Limit-Remaining:
              schema:
                type: integer
                example: 4
              description: The number of remaining requests.
              required: true
            X-Rate-Limit-Reset:
              schema:
                type: integer
                example: 3566
              description: A number of seconds remaining until a limit reset.
              required: true
            X-Request-Id:
              schema:
                type: string
                example: 39c97edf-7469-42af-96ca-169a902fd8a6
              description: The same value as provided in the request.
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: A generic error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized, e.g., expired token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden, not allowed to access the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '405':
          description: A forbidden HTTP method.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAllowedError'
        '406':
          description: An unsupported Accept header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAcceptableError'
        '415':
          description: An unsupported Content-Type header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnsupportedMediaTypeError'
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessExceededError'
        '500':
          description: An Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      security:
      - tokenAuth: []
      - clientId: []
    servers:
    - url: '%tpp_api_url%/tpp/v2'
  /payments/{paymentId}:
    get:
      tags:
      - Payment
      summary: Retrieve content of an initiated payment.
      description: "**Scope:** `payments.single` \n\n The action is initiated by the TPP and it is a part of the [Get data flow](#appendix--workflow--get-data)."
      parameters:
      - name: paymentId
        in: path
        required: true
        description: The ID of a payment to retrieve.
        schema:
          type: string
      - name: Digest
        in: header
        description: A hash (SHA256, SHA512) of the request content encoded in base64.
        required: false
        schema:
          type: string
          example: SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=
      - name: X-Request-Id
        in: header
        description: A randomly generated request ID - must be a valid UUID.
        required: true
        schema:
          type: string
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
      - name: Signature
        in: header
        description: A calculated HTTP Signature for the request.
        required: false
        schema:
          type: string
          example: keyId="SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA",algorithm="rsa-sha256",headers="digest x-request-id x-client-id",signature="fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w=="
      - name: Tpp-Signature-Certificate
        in: header
        description: A certificate that was used to sign the request. Provided as a base64 encoded value.
        required: false
        schema:
          type: string
          example: MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==
      - name: Date
        in: header
        required: false
        description: A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).
        schema:
          type: string
          example: Thu, 18 Apr 2024 11:02:45 GMT
      responses:
        '200':
          description: The successful response returns the content of a previously initiated payment.
          headers:
            X-Rate-Limit-Limit:
              schema:
                type: integer
                example: 4
              description: The number of requests allowed per day.
              required: true
            X-Rate-Limit-Remaining:
              schema:
                type: integer
                example: 4
              description: The number of remaining requests.
              required: true
            X-Rate-Limit-Reset:
              schema:
                type: integer
                example: 3566
              description: A number of seconds remaining until a limit reset.
              required: true
            X-Request-Id:
              schema:
                type: string
                example: 39c97edf-7469-42af-96ca-169a902fd8a6
              description: The same value as provided in the request.
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SinglePayment'
        '400':
          description: A generic error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized, e.g., expired token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden, not allowed to access the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Forbidden, not allowed to access the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '405':
          description: A forbidden HTTP method.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAllowedError'
        '406':
          description: An unsupported Accept header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAcceptableError'
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessExceededError'
        '500':
          description: An Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      security:
      - tokenAuth: []
      - clientId: []
    servers:
    - url: '%tpp_api_url%/tpp/v2'
  /payments/{paymentId}/status:
    get:
      tags:
      - Payment
      summary: Retrieve current status of an initiated payment.
      description: "**Scope:** `payments.single` \n\n The action is initiated by the TPP and it is a part of the [Get data flow](#appendix--workflow--get-data)."
      parameters:
      - name: paymentId
        in: path
        required: true
        description: The ID of a payment to retrieve.
        schema:
          type: string
      - name: Digest
        in: header
        description: A hash (SHA256, SHA512) of the request content encoded in base64.
        required: false
        schema:
          type: string
          example: SHA-256=LsUn8L4rScYKhYKf8eNr5QIbiB+1n9wFioBJ0C3XSU8=
      - name: X-Request-Id
        in: header
        description: A randomly generated request ID - must be a valid UUID.
        required: true
        schema:
          type: string
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
      - name: Signature
        in: header
        description: A calculated HTTP Signature for the request.
        required: false
        schema:
          type: string
          example: keyId="SN=3595A71FCB74E837959C3F0CF5F73A03B31F1952,CA=TribePayments CA",algorithm="rsa-sha256",headers="digest x-request-id x-client-id",signature="fNQmDCpFT5K8qAx0bNvNQsRfCm9mGKN/Srv7pufS07s8VuEGGk7HTVGVfwkYFrhpnXxtWimu77/3o+U+v61ZYsLdfOyKpv3v8u3jwee3warI6u+FyZbBvMFDnzWND68lecWB5OTdh6GlNQp8fQKp/ef/mJOVGhZ1wMVVTMH9kbH6/hVV6OoYpMs0kpIpfglnWXDJSiu8glTAGi7iC5n9eWCDunoH0a2QT2vr/gI6acEvPIin2Cqm8rIGCYk43G8K1fhdVaMDvhkyG76ld/IM7wVWzBkxiwrDYf1h3nDpzxPhJKHUv4d/BMcUd2JuVW+y5yYMd8RUnf6Ti5mmSEC90w=="
      - name: Tpp-Signature-Certificate
        in: header
        description: A certificate that was used to sign the request. Provided as a base64 encoded value.
        required: false
        schema:
          type: string
          example: MIIFLjCCBBagAwIBAgIBEzANBgkqhkiG9w0BAQsFADCBszElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTEZMBcGA1UECgwQVHJpYmVQYXltZW50cyBDQTEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQIDAZMb25kb24xCzAJBgNVBAYTAkdCMB4XDTIxMDkyODE1MTA0NVoXDTMxMDkyNjE1MTA0NVowgcsxCzAJBgNVBAYTAkdCMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEWMBQGA1UECgwNVHJpYmVQYXltZW50czEZMBcGA1UECwwQT3BlbmJhbmtpbmcgVGVhbTElMCMGA1UEAwwcVHBwU2FuZGJveCBRc2VhbCBDZXJ0aWZpY2F0ZTElMCMGCSqGSIb3DQEJARYWaW5mb0B0cmliZXBheW1lbnRzLmNvbTEZMBcGA1UEYQwQR0ItVFNULTAwMDAwMDAwMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxZeuMSN1RyuMj/xNfwPzfW3ffepWQ4PYSE6kdja75EALosifw6n5RhDte9De57xxXnQAzyJcCGC/4GCpMfzecN/hcmSxHZhe8zbITqRmyLPXbcaEswDnGYRxIGNqGG2RWKZ6I0wSGK89t1Fw1Kz8ob8Lzh6k0UQNfujYOItTaVM4JCgKp5yjTb0HWcqp7X2Jb0eamMWfY5cxKolbJYSIlclt4loAhpEdCiqVJi5hc05+GrsSjchjNQzUpwot/GZFfm2faBPSR5sfxV0B+pXLehmzXdF7nA6Q2hAqXb8jjpbIXgDzcSRdaP7kNBLzXzNuUUUNf2LL4rFkTn5k2XgrcCAwEAAaOCATEwggEtMB0GA1UdDgQWBBSmFBRxrHvtWHkjDHg6Do6GrW5evDAfBgNVHSMEGDAWgBSmFBRxrHvtWHkjDHg6Do6GrW5evDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tghBtYWlsLmV4YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb20wLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL3RwcC12YWxpZGF0b3Iub3BlbmJhbmsubG9jYWwvb2NzcDATBgNVHSUEDDAKBggrBgEFBQcDCTANBgkqhkiG9w0BAQsFAAOCAQEAXgIfFYqAv/KKh/7l8XfnsQC6QXhQ6h+0Cm9lO03XxoUcZDGlPLYrjhaiTs7gfGcQjktBRnY+mSLMVfea+bSHI3tj+e8fkRNKryU2wLQpFfmTN2e7lF5tIc1KxHusxU5nSqRxVq/tmGx4Jt2G2lVmdjdrBGnpzbce8+YjPJGAHB+lxC7rX2qp8yNvFXWAEn8T6FjZN7/yBqIzIXUyGAuAuFB/zQm1O73JLhkeLJA6+5NYRgPGYMANjsMmQvUu68Ztk8wX1+HYXcHIQ6NHuDhjtzYwMPio9rr2uXBvIopKwkOivic6vHMb4pEiowZjBswIaN2ppjtn8Z+VFDb8/2fKyA==
      - name: Date
        in: header
        required: false
        description: A standard HTTP header element defines the date and time at which the request originated (as defined by RFC 7231).
        schema:
          type: string
          example: Thu, 18 Apr 2024 11:02:45 GMT
      responses:
        '200':
          description: A successful response returns the content with the transaction status indication. The transaction status is filled with codes of the ISO 20022.
          headers:
            X-Rate-Limit-Limit:
              schema:
                type: integer
                example: 4
              description: The number of requests allowed per day.
              required: true
            X-Rate-Limit-Remaining:
              schema:
                type: integer
                example: 4
              description: The number of remaining requests.
              required: true
            X-Rate-Limit-Reset:
              schema:
                type: integer
                example: 3566
              description: A number of seconds remaining until a limit reset.
              required: true
            X-Request-Id:
              schema:
                type: string
                example: 39c97edf-7469-42af-96ca-169a902fd8a6
              description: The same value as provided in the request.
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionStatus'
        '400':
          description: A generic error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized, e.g., expired token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden, not allowed to access the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Forbidden, not allowed to access the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '405':
          description: A forbidden HTTP method.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAllowedError'
        '406':
          description: An unsupported Accept header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAcceptableError'
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessExceededError'
        '500':
          description: An Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      security:
      - tokenAuth: []
      - clientId: []
    servers:
    - url: '%tpp_api_url%/tpp/v2'
components:
  schemas:
    PaymentStatusResponse:
      type: object
      properties:
        status:
          type: string
          description: Confirms the correct response by returning the success status.
    PaymentStatusRequest:
      type: object
      properties:
        paymentId:
          type: string
          description: The Payment ID.
        paymentStatus:
          type: string
          description: The Payment Status.
      required:
      - paymentId
      - paymentStatus
    PaymentResponse:
      type: object
      description: A JSON body.
      required:
      - paymentId
      - transactionStatus
      properties:
        paymentId:
          type: string
          description: The unique payment identifier.
          example: 1234-wertiq-983
          maxLength: 255
        transactionStatus:
          type: string
          description: The transaction status is filled with codes of ISO 20022. See [Payment status](#appendix--enum--payment-statuses).
          example: RCVD
          minLength: 4
          maxLength: 4
        _links:
          $ref: '#/components/schemas/PaymentLinks'
    BankReference:
      type: object
      description: The information about the payment receiver's institution. Mandatory to use with the [SWIFT](#appendix--enum--payment-schemes) payment scheme.
      properties:
        name:
          type: string
          description: The name of the institution.
          example: Example bank
        bic:
          type: string
          description: The Business Identifier Code is an international standard for routing business transactions and identifying business parties.
          example: FAKEBICX
        country:
          type: string
          description: Two characters as defined by ISO 3166.
          maxLength: 2
          minLength: 2
          example: GB
    AccountReference:
      type: object
      description: The identifier of the addressed account.
      properties:
        iban:
          description: The IBAN of the account.
          type: string
          example: GB29NWBK60161331926819
          maxLength: 34
        bban:
          type: string
          description: The local ASPSP identifier of the account.
          example: '29823529'
          maxLength: 30
        accountNumber:
          type: string
          description: 'The account number. Used to identify the account in the United Kingdom.

            '
          minLength: 8
          maxLength: 8
          example: '29823529'
        sortCode:
          type: string
          description: The sort code. Used to identify the account in the United Kingdom.
          minLength: 6
          maxLength: 6
          example: '902127'
    UnsupportedMediaTypeError:
      type: object
      description: An unsupported `Content-Type` header.
      required:
      - code
      - requestId
      - timestamp
      properties:
        code:
          type: string
          description: The message code to explain the nature of the underlying error.
          example: REQUEST_FORMAT_INVALID
        title:
          type: string
          description: The short, human-readable description of the error.
          example: Only application/json supported
          maxLength: 70
        timestamp:
          type: string
          description: ISO-8601 timestamp
          example: 2023-04-19T13:33:42+0000
        requestId:
          type: string
          description: The request ID as communicated in the `X-Request-Id` header.
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
        additionalErrors:
          $ref: '#/components/schemas/EmptyAdditionalErrors'
    TransactionStatus:
      type: object
      description: Contains status of the payment.
      properties:
        transactionStatus:
          type: string
          description: The transaction status is filled with codes of ISO 20022. See [Payment status](#appendix--enum--payment-statuses).
          example: RCVD
          minLength: 4
          maxLength: 4
    NotFoundError:
      type: object
      description: Not found.
      required:
      - code
      - requestId
      - timestamp
      properties:
        code:
          type: string
          description: The message code to explain the nature of the underlying error.
          example: RESOURCE_NOT_FOUND
        title:
          type: string
          description: The short, human-readable description of the error.
          example: Account not found
          maxLength: 70
        timestamp:
          type: string
          description: ISO-8601 timestamp
          example: 2023-04-19T13:33:42+0000
        requestId:
          type: string
          description: The request ID as communicated in the `X-Request-Id` header.
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
        additionalErrors:
          $ref: '#/components/schemas/EmptyAdditionalErrors'
    NotAcceptableError:
      type: object
      description: An unsupported `Accept` header.
      required:
      - code
      - requestId
      - timestamp
      properties:
        code:
          type: string
          description: The message code to explain the nature of the underlying error.
          example: REQUESTED_FORMATS_INVALID
        title:
          type: string
          description: The short, human-readable description of the error.
          example: Only application/json supported
          maxLength: 70
        timestamp:
          type: string
          description: ISO-8601 timestamp
          example: 2023-04-19T13:33:42+0000
        requestId:
          type: string
          description: The request ID as communicated in the `X-Request-Id` header.
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
        additionalErrors:
          $ref: '#/components/schemas/EmptyAdditionalErrors'
    EmptyAdditionalErrors:
      type: array
      example: []
      items:
        $ref: '#/components/schemas/AdditionalError'
    NotAllowedError:
      type: object
      description: A forbidden HTTP method.
      required:
      - code
      - requestId
      - timestamp
      properties:
        code:
          type: string
          description: The message code to explain the nature of the underlying error.
          example: SERVICE_INVALID
        title:
          type: string
          description: The short, human-readable description of the error.
          example: Used HTTP method not supported for current action
          maxLength: 70
        timestamp:
          type: string
          description: ISO-8601 timestamp
          example: 2023-04-19T13:33:42+0000
        requestId:
          type: string
          description: The request ID as communicated in the `X-Request-Id` header.
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
        additionalErrors:
          $ref: '#/components/schemas/EmptyAdditionalErrors'
    ForbiddenError:
      type: object
      description: The forbidden error object example.
      required:
      - code
      - requestId
      - timestamp
      properties:
        code:
          type: string
          description: The message code to explain the nature of the underlying error.
          example: ROLE_INVALID
        title:
          type: string
          description: The short, human-readable description of the error.
          example: Role not valid for current resource
          maxLength: 70
        timestamp:
          type: string
          description: ISO-8601 timestamp
          example: 2023-04-19T13:33:42+0000
        requestId:
          type: string
          description: The request ID as communicated in the `X-Request-Id` header.
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
        additionalErrors:
          $ref: '#/components/schemas/EmptyAdditionalErrors'
    InternalServerError:
      type: object
      description: The forbidden error object example.
      required:
      - code
      - requestId
      - timestamp
      properties:
        code:
          type: string
          description: The message code to explain the nature of the underlying error.
          example: INTERNAL_ERROR
        title:
          type: string
          description: The short, human-readable description of the error.
          example: Internal Error
          maxLength: 70
        timestamp:
          type: string
          description: ISO-8601 timestamp
          example: 2023-04-19T13:33:42+0000
        requestId:
          type: string
          description: The request ID as communicated in the `X-Request-Id` header.
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
        additionalErrors:
          $ref: '#/components/schemas/EmptyAdditionalErrors'
    UnauthorizedError:
      type: object
      description: The unauthorized error object example.
      required:
      - code
      - requestId
      - timestamp
      properties:
        code:
          type: string
          description: The message code to explain the nature of the underlying error.
          example: TOKEN_INVALID
        title:
          type: string
          description: The short, human-readable description of the error.
          example: OAuth token not valid
          maxLength: 70
        timestamp:
          type: string
          description: ISO-8601 timestamp
          example: 2023-04-19T13:33:42+0000
        requestId:
          type: string
          description: The request ID as communicated in the `X-Request-Id` header.
          example: 39c97edf-7469-42af-96ca-169a902fd8a6
        additionalErrors:
          $ref: '#/components/schemas/EmptyAdditionalErrors'
    Error:
      type: object
      description: The generic error object 

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