openapi: 3.0.1
info:
  title: Computop Paygate API
  description: >-
    The Computop Paygate API allows you to seamlessly process and manage
    payments, supporting 350+ payment methods worldwide. Built on REST
    principles, the API is designed to be predictable and developer-friendly,
    with resource-oriented URLs, JSON-encoded requests and responses, and
    standard HTTP status codes.


    **Security**


    The Computop Paygate API is designed with maximum security while remaining
    easy to implement. All communication occurs over HTTPS (TLS 1.2 or higher),
    ensuring end-to-end encryption at the transport level. This prevents packet
    sniffing, replay attacks, and other vulnerabilities without requiring
    additional encryption of the data itself.


    **Test Before You Go Live**


    Use our test environment to test your integration without affecting live
    data. The root URL determines whether the request is for test or live
    integration.  
  version: 2.0.0
servers:
  - url: https://test.computop-paygate.com/api/v2
    description: Test server
  - url: https://www.computop-paygate.com/api/v2
    description: Production server
tags:
  - name: Authentication
    description: >-
      **Securely authenticate API requests using Basic Auth or OAuth 2.0**


      The Computop Paygate API supports two authentication methods to ensure
      secure access to payment processing and management endpoints. Choose the
      approach that aligns with your integration needs:


      **Basic Authentication**


      Use your Merchant ID as the username and API Key as the password. Combine
      them in the format `MerchantID:APIKey`, encode the string using Base64,
      and include it in the Authorization header with the `Basic` prefix for
      direct access to endpoints.


      **OAuth 2.0**


      Generate a short-lived JSON Web token (JWT) by authenticating with your
      API key via the `authorization/oauth/token` endpoint.
  - name: Payments
    description: >-

      **Create checkout session**     


      This endpoint generates a URL for a hosted payment page where customers
      can securely select their preferred payment method and complete their
      transaction.


      **Create payment**


      This endpoint is used to initiate a payment for a specific payment method.
      You can choose between two integration types:
        * HOSTED: Returns a URL for a payment method-specific hosted form, where the customer is redirected to securely complete the payment.
        * DIRECT: Enables server-to-server communication, where you manage the payment UI and directly interacts with the API to process payments.


      Note that not all payment methods support both HOSTED and DIRECT
      integration types. Some support only one of these options, while others
      support both. For detailed information about the supported integration
      types for each payment method, refer to the payment method-specific
      documentation in our product guide.


      **Confirm payment**


      This endpoint is used for payment methods that require a multi-step
      payment flow. It allows you to confirm a previously created payment
      instance (initiated via the Create Payment endpoint) to complete the
      transaction. This step is essential for certain payment methods to
      finalize the payment process.


      **Incremental authorization**


      This endpoint allows you to increase the authorized amount for an existing
      card transaction when the initial authorization is insufficient. The
      additional amount is appended to the original authorization, and the total
      authorized amount reflects both. 


      **Reverse payment**


      This endpoint is used to reverse a payment that has not yet been captured,
      effectively canceling the authorization.


      **Capture payment**


      This endpoint is used to capture an existing authorized payment.


      **Refund payment**


      This endpoint is used to refund a captured payment.


      **Refund payment without reference**


      This endpoint is used to refund a payment without reference.


      **Retrieve payment details by Payment ID**


      This endpoint is used to retrieve payment details with the Payment ID
      (payId)


      **Retrieve payment details by Transaction ID**


      This endpoint is used to retrieve payment details with the Transaction ID
      (transId)


      **Update payment details**


      This endpoint is used to update payment details


      **Create payment link**


      This endpoint allows you to generate a payment link that can be shared
      with customers via email, SMS, or other channels. When customers click the
      link, they are redirected to a hosted payment page where they can select
      their preferred payment method and complete the transaction.
paths:
  /authorization/oauth/token:
    servers:
      - url: https://test.computop-paygate.com
        description: Test server
      - url: https://www.computop-paygate.com
        description: Production server
    post:
      tags:
        - Authentication
      summary: Request OAuth Token
      operationId: authorizationService
      requestBody:
        description: Request for client authorization
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/authorizationRequest'
            examples:
              Default:
                value:
                  grant_type: client_credentials
                  client_id: MerchantId
                  client_secret: ApiKey
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authorizationResponse'
              examples:
                Default:
                  value:
                    access_token: >-
                      eyJhbGciOiJSUzI1NiIsImtpZCI6IkZGQzlEM0JEQzY2Mjc3MUYwNzYxRUJDRTkwOTMyMDMyQjdGOTQ1NTQiLCJ4NXQiOiJfOG5UdmNaaWR4OEhZZXZPa0pNZ01yZjVSVlEiLCJ0eXAiOiJhdCtqd3QifQ.eyJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo3MTIxLyIsImV4cCI6MTc0MDQ3NTUwNCwiaWF0IjoxNzQwNDcxOTA0LCJqdGkiOiJiZjU3YmUwMi05YThiLTQxYjctYjNjNi02NzlmMTcxNDU2ZjAiLCJzdWIiOiJDVF9Mb2dlZWNvbV90ZXN0IiwibmFtZSI6IkNUX0xvZ2VlY29tX3Rlc3QiLCJtYXJrZXRwbGFjZUlkIjoiQ1RfTG9nZWVjb21fdGVzdF9NYXJrZXRwbGFjZSIsIm1hcmtldHBsYWNlQWN0aXZlIjpmYWxzZSwib2lfcHJzdCI6IkNUX0xvZ2VlY29tX3Rlc3QiLCJjbGllbnRfaWQiOiJDVF9Mb2dlZWNvbV90ZXN0Iiwib2lfdGtuX2lkIjoiMjEwMWUxNTgtNzY0NC00OGU4LWIzNmYtYmZhNzczNWJmYjAyIn0.Xgtb81-GBPGnQ2tSJKXIlA38koRqlVa2oLhT902t-ICocWYD4_35bTAiPfU2A4HWwQpg1PZTrdf4riSoA_v_5bWSM-rdHAb-Y7fNwQTYAUYDxkcrw9qc5JcjwBGlOgXGTzJR2xyPDTq2sO4qAxo00lhCVjhEQR47yqOFta9rkcCmg1i6T6BxF7ZO6tBECfo7NSJ0wgN7G5_Unmd5MgWuG8V5VdvDxhXa1p_sBQdmy6nBCRi2d2bh1BOrz_uT5U2zngVBPzZBXv046j7971JXZbR20JFpkqwrULCGR6fy78NvkrHNC4U8ZDHmbejBbObMGCb_8pWMnaLhIg0A1k2x0Q
                    token_type: Bearer
                    expires_in: 3600
        '401':
          description: >-
            Unauthorized,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/unauthorizedErrorResponse'
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
  /payments/sessions:
    post:
      tags:
        - Payments
      summary: Create checkout session
      description: >-
        This endpoint generates a URL for a hosted payment page where customers
        can securely select their preferred payment method and complete their
        transaction.
      operationId: createSession
      parameters:
        - name: Idempotency-Key
          in: header
          description: >-
            A unique key provided by you to ensure that a particular operation
            is not processed multiple times in case of retries.
          required: false
          schema:
            type: string
      requestBody:
        description: Create a new checkout session
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createSessionRequest'
            examples:
              Example:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: '24235345432'
                  amount:
                    currency: EUR
                    value: 10000
                  language: de
                  template:
                    name: hpp_template
                    customFields:
                      customField1: Field 1 Data
                      customField2: Field 2 Data
                      customField3: Field 3 Data
                      customField4: Field 4 Data
                      customField5: Field 5 Data
                      customField6: Field 6 Data
                      customField7: Field 7 Data
                      customField8: Field 8 Data
                      customField9: Field 9 Data
                      customField10: Field 10 Data
                      customField11: Field 11 Data
                      customField12: Field 12 Data
                      customField13: Field 13 Data
                      customField14: Field 14 Data
                  captureMethod:
                    type: AUTOMATIC
                  order:
                    merchantReference: 112-445-34567
                    numberOfArticles: 1
                    creationDate: '2025-03-31T11:58:37Z'
                    invoiceId: 555-333-2222
                    items:
                      - id: '1'
                        sku: 19-402-DEU
                        name: BatteryPowerPack
                        quantity: 1
                        quantityUnit: pcs
                        taxRate: 0
                        netPrice: 1000
                        grossPrice: 1000
                        totalTaxAmount: 0
                        totalDiscountAmount: 0
                        description: BatteryPowerPack
                        type: physical
                        productInfo:
                          brand: Intel
                          categories:
                            - Electronics Store
                            - Computers
                            - Desktops
                          globalTradeItemNumber: EAN
                          manufacturerPartNumber: BOXNUC5CPYA
                          imageUrl: https://www.exampleobjects.com/logo.png
                          productUrl: https://www.estore.com/products/f2a8d7e34
                  urls:
                    return: https://my.callback.url.com/success
                    cancel: https://my.callback.url.com/cancel
                    webhook: https://my.callback.url.com/webhook
                  billingAddress:
                    streetName: Schwarzenbergstr
                    streetNumber: '4'
                    city: Bamberg
                    country: DEU
                    postalCode: '96050'
                  shipping:
                    address:
                      streetName: Schwarzenbergstr
                      streetNumber: '4'
                      city: Bamberg
                      country: DEU
                      postalCode: '96050'
                  statementDescriptor: gadgets shop
                  customerInfo:
                    merchantCustomerId: cus_1234567890abcdef
                    customerType: individual
                    firstName: Max
                    lastName: Mustermann
                    email: customer@example.com
                    phone:
                      countryCode: '+49'
                      number: '1236547890'
                    salutation: Ms
                    title: Dr
                    gender: female
                    maidenName: Mustermann
                    middleName: sam
                    birthDate: '2001-01-01'
                    birthPlace: Bamberg
                    socialSecurityNumber: '123443534'
                  channel: ECOM
                  allowedPaymentMethods:
                    - CARD
                    - BOLETO
                    - DIRECTDEBIT
                    - BANCONTACT
                    - KLARNA
                    - PAYPAL
                    - WERO
                  paymentMethods:
                    card:
                      subType:
                        - VISA
                        - MASTERCARD
                      template:
                        name: card_template
                        fontSize: 11
                        textColor: '#FFFFFF'
                        customFields:
                          customField1: Field 1 Data
                          customField2: Field 2 Data
                          customField3: Field 3 Data
                          customField4: Field 4 Data
                          customField5: Field 5 Data
                          customField6: Field 6 Data
                          customField7: Field 7 Data
                          customField8: Field 8 Data
                          customField9: Field 9 Data
                          customField10: Field 10 Data
                          customField11: Field 11 Data
                          customField12: Field 12 Data
                          customField13: Field 13 Data
                          customField14: Field 14 Data
                    boleto:
                      service: BatteryPowerPack
                    directDebit:
                      method: ELV
                      debitDelay: 2
                      service: BatteryPowerPack
                      sellingPoint: Online Store
                      template:
                        name: direct_debit_template
                        backgroundColor: '#0000FF'
                        backgroundImage: https://example.com/background.jpg
                        textColor: '#FFFFFF'
                        fontName: Arial
                        fontSize: 14
                        tableWidth: 600
                        tableHeight: 400
                        customFields:
                          customField1: Field 1 Data
                          customField2: Field 2 Data
                          customField3: Field 3 Data
                          customField4: Field 4 Data
                          customField5: Field 5 Data
                          customField6: Field 6 Data
                          customField7: Field 7 Data
                          customField8: Field 8 Data
                          customField9: Field 9 Data
                          customField10: Field 10 Data
                          customField11: Field 11 Data
                          customField12: Field 12 Data
                          customField13: Field 13 Data
                          customField14: Field 14 Data
                    bancontact:
                      sellingPoint: Online Store
                      service: BatteryPowerPack
                      account:
                        accountHolderName: Max Mustermann
                      checkoutToken: UlkWjd0MDNwUWs2r45fwf43
                    klarna:
                      subType:
                        - PAY_NOW
                        - PAY_LATER
                      layout:
                        showSubTotalDetail: HIDE
                        logoUrl: https://example.com/logo.svg
                        pageTitle: Secure Payment with Klarna
                      accountName: '0'
                      enhancedData:
                        productCategory: Test product category
                        productName: Test product name
                    payPal:
                      accountId: customer@example.com
                      hideAddress: false
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createSessionResponse'
              examples:
                Test Environment:
                  value:
                    _links:
                      redirect:
                        href: >-
                          https://test.computop-paygate.com?token=ce0aef1079d84c5082b3013ee6f9e1fe
                        type: text/html
                Live Environment:
                  value:
                    _links:
                      redirect:
                        href: >-
                          https://computop-paygate.com?token=ce0aef1079d84c5082b3013ee6f9e1fe
                        type: text/html
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '422':
          description: >-
            Unprocessable Entity,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments:
    post:
      tags:
        - Payments
      summary: Create payment
      description: >-
        This endpoint is used to initiate a payment for a specific payment
        method. You can choose between two integration types:
            HOSTED: Returns a URL for a payment method-specific hosted form, where the customer is redirected to securely complete the payment.
            DIRECT: Enables server-to-server communication, where you manage the payment UI and directly interacts with the API to process payments.

        Note that not all payment methods support both HOSTED and DIRECT
        integration types. Some support only one of these options, while others
        support both. For detailed information about the supported integration
        types for each payment method, refer to the payment method-specific
        documentation in our product guide.
      operationId: createPayment
      parameters:
        - name: Idempotency-Key
          in: header
          description: >-
            A unique key provided by you to ensure that a particular operation
            is not processed multiple times in case of retries.
          required: false
          schema:
            type: string
      requestBody:
        description: Create a new payment
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/paymentRequest'
            examples:
              ApplePay - DIRECT:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: '24235345432'
                  amount:
                    currency: EUR
                    value: 10000
                  language: de
                  captureMethod:
                    type: AUTOMATIC
                  order:
                    merchantReference: 112-445-34567
                    numberOfArticles: 1
                    creationDate: '2025-03-31T11:58:37Z'
                    invoiceId: 555-333-2222
                    items:
                      - id: '1'
                        sku: 19-402-DEU
                        name: BatteryPowerPack
                        quantity: 1
                        quantityUnit: pcs
                        taxRate: 0
                        netPrice: 1000
                        grossPrice: 1000
                        totalTaxAmount: 0
                        totalDiscountAmount: 0
                        description: BatteryPowerPack
                        type: physical
                        productInfo:
                          brand: Intel
                          categories:
                            - Electronics Store
                            - Computers
                            - Desktops
                          globalTradeItemNumber: EAN
                          manufacturerPartNumber: BOXNUC5CPYA
                          imageUrl: https://www.exampleobjects.com/logo.png
                          productUrl: https://www.estore.com/products/f2a8d7e34
                  billingAddress:
                    streetName: Schwarzenbergstr
                    streetNumber: '4'
                    city: Bamberg
                    country: DEU
                    postalCode: '96050'
                  shipping:
                    address:
                      streetName: Schwarzenbergstr
                      streetNumber: '4'
                      city: Bamberg
                      country: DEU
                      postalCode: '96050'
                  statementDescriptor: gadgets shop
                  customerInfo:
                    merchantCustomerId: cus_1234567890abcdef
                    customerType: individual
                    firstName: Max
                    lastName: Mustermann
                    email: customer@example.com
                    phone:
                      countryCode: '+49'
                      number: '1236547890'
                    salutation: Ms
                    title: Dr
                    gender: female
                    maidenName: Mustermann
                    middleName: sam
                    birthDate: '2001-01-01'
                    birthPlace: Bamberg
                    socialSecurityNumber: '123443534'
                  channel: ECOM
                  paymentMethods:
                    integrationType: DIRECT
                    type: APPLEPAY
                    applePay:
                      merchantIdentifierOfPublicKey: merchant.com.gadgetshop
                      token: >-
                        { "paymentData": { "data":
                        "GiZiyzsI6r6lnPYUeceR6itk2PDyBozl2Xy77c5u2X8Ze7l5EasyyH4Q6BoAevrvBfe0FnUNARBEXRySLwqqnpUHO6Du/amZEECRXxlrH91wFqH4oXry2CTDRu7TaIlmnR+s3ien5JI8iWo9hoEW7hyJOE7QGaS6rfR1CtQ4DWJEUq/tFnW98tj3kwKU6iOAAvE467boopMDGBS1fK5HzGXs4hH/6r+LPRfSOKBi1L5VWAexs9Bzw3ByyG69i52doRuFb1xOcMOJbmPg40hap13IjBW6dnj1phbsqP2i/JxvWPV3EcuqpuIoVZr5w53w//pPsl54kmeXNddIjVD5dIhhOKZ8AznD4eL2dbzkp6bic8xScBf3G8hrKXTRTL7V+KT2S+TQliHN0SNXrFu6B6o=",
                        "signature":
                        "MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID4zCCA4igAwIBAgIITDBBSVGdVDYwCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE5MDUxODAxMzI1N1oXDTI0MDUxNjAxMzI1N1owXzElMCMGA1UEAwwcZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtUFJPRDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhV37evWx7Ihj2jdcJChIY3HsL1vLCg9hGCV2Ur0pUEbg0IO2BHzQH6DMx8cVMP36zIg1rrV1O/0komJPnwPE6OCAhEwggINMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUI/JJxE+T5O8n5sT2KGw/orv9LkswRQYIKwYBBQUHAQEEOTA3MDUGCCsGAQUFBzABhilodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDA0LWFwcGxlYWljYTMwMjCCAR0GA1UdIASCARQwggEQMIIBDAYJKoZIhvdjZAUBMIH+MIHDBggrBgEFBQcCAjCBtgyBs1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMDYGCCsGAQUFBwIBFipodHRwOi8vd3d3LmFwcGxlLmNvbS9jZXJ0aWZpY2F0ZWF1dGhvcml0eS8wNAYDVR0fBC0wKzApoCegJYYjaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVhaWNhMy5jcmwwHQYDVR0OBBYEFJRX22/VdIGGiYl2L35XhQfnm1gkMA4GA1UdDwEB/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0kAMEYCIQC+CVcf5x4ec1tV5a+stMcv60RfMBhSIsclEAK2Hr1vVQIhANGLNQpd1t1usXRgNbEess6Hz6Pmr2y9g4CJDcgs3apjMIIC7jCCAnWgAwIBAgIISW0vvzqY2pcwCgYIKoZIzj0EAwIwZzEbMBkGA1UEAwwSQXBwbGUgUm9vdCBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcNMTQwNTA2MjM0NjMwWhcNMjkwNTA2MjM0NjMwWjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATwFxGEGddkhdUaXiWBB3bogKLv3nuuTeCN/EuT4TNW1WZbNa4i0Jd2DSJOe7oI/XYXzojLdrtmcL7I6CmE/1RFo4H3MIH0MEYGCCsGAQUFBwEBBDowODA2BggrBgEFBQcwAYYqaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZXJvb3RjYWczMB0GA1UdDgQWBBQj8knET5Pk7yfmxPYobD+iu/0uSzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFLuw3qFYM4iapIqZ3r6966/ayySrMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlcm9vdGNhZzMuY3JsMA4GA1UdDwEB/wQEAwIBBjAQBgoqhkiG92NkBgIOBAIFADAKBggqhkjOPQQDAgNnADBkAjA6z3KDURaZsYb7NcNWymK/9Bft2Q91TaKOvvGcgV5Ct4n4mPebWZ+Y1UENj53pwv4CMDIt1UQhsKMFd2xd8zg7kGf9F3wsIW2WT8ZyaYISb1T4en0dbmcubCYkhYQaZDwmSHQAAMYIBizCCAYcCAQEwgYYwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTAghMMEFJUZ1UNjANBglghkgBZQMEAgEFAKCBlTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMjAyMjMxMDMyMzFaMCoGCSqGSIb3DQEJNDEdMBswDQYJYIZIAWUDBAIBBQChCgYIKoZIzj0EAwIwLwYJKoZIhvcNAQkEMSIEIKELTeQBJkyBdJ9Ge0BlmVOTIqU4sV75S/aC6sJMIHxbMAoGCCqGSM49BAMCBEYwRAIgC0iKpRgZQE2vMCSczjMRe+4b0aqiO79D2d0+9CKMmA8CICnC+e7RBgIPVbA32ZsKOV8e3iTdvm1OaH/ABCDEFGHIJKL",
                          "header": {
                              "publicKeyHash": "OgiD2qBTWYf/a+LDshFeQcPq6tOmePu0epHpP4ZkNicc=",
                              "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc/HxA3lJZrC+B0ITom0Iji+gFdn7ivGtpI+fl2u8n8XByPgBaVK2b44qUvsGigoNd0OFLNXo0Q07R2B54eIdS3A==", "transactionId": "156632b2aadf355d4958d9051a42bf62e07aea5716e72083aa64247944f6e3e14d"  }, "version": "EC_v1" }, "paymentMethod": { "displayName": "MasterCard 0063", "network": "MasterCard", "type": "debit" }, "transactionIdentifier": "156632B2AAD12F355D4958D9051A42BF62E07AE5716E720AA6424794F6E3E14567D"}
              Bancontact - DIRECT:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: 6B29FC62-1069
                  amount:
                    currency: EUR
                    value: 100
                  channel: ECOM
                  language: de
                  paymentMethods:
                    integrationType: DIRECT
                    type: BANCONTACT
                    bancontact:
                      account:
                        accountHolderName: Jane Doe
                      sellingPoint: Post office
                      service: DHL
                      checkoutToken: da81921c-f4f3-4810-ad97-08ddbef28917
              Bancontact - HOSTED:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: 6B29FC62-1069
                  amount:
                    currency: EUR
                    value: 100
                  language: de
                  paymentMethods:
                    integrationType: HOSTED
                    type: BANCONTACT
                    bancontact:
                      account:
                        accountHolderName: Jane Doe
                      sellingPoint: Post office
                      service: DHL
              Boleto - DIRECT:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: 6A22FC30-1067-B31D-00DD010662DA
                  amount:
                    currency: EUR
                    value: 50000
                  order:
                    items:
                      - id: '1'
                        sku: sku1
                        name: item1
                        quantity: 2
                        netPrice: 5000
                        description: desc1
                      - id: '2'
                        sku: sku2
                        name: item2
                        quantity: 3
                        netPrice: 20000
                        description: desc2
                      - id: '3'
                        sku: sku3
                        name: item3
                        quantity: 4
                        netPrice: 25000
                        description: desc3
                    numberOfArticles: 3
                  billingAddress:
                    street: test street
                    streetNumber: '10'
                    postalCode: '80335'
                    city: Munchen
                  customerInfo:
                    firstName: John Doe
                    email: test@gmail.com
                    phone:
                      countryCode: '49'
                      number: '123654789'
                  expirationTime: '2023-06-20T13:50:49.112Z'
                  paymentMethods:
                    integrationType: DIRECT
                    type: BOLETO
              Boleto - HOSTED:
                value:
                  transId: trans-id-123455
                  amount:
                    value: 100000
                    currency: USD
                  simulationMode: Test Boleto payment
                  language: DE
                  urls:
                    return: https://return-url.com
                    webhook: https://webhook-url.com
                  customerInfo:
                    merchantCustomerId: customerNum1234
                    firstName: Jane Doe
                    email: test@gmail.com
                  channel: ONLINE
                  paymentMethods:
                    integrationType: HOSTED
                    type: BOLETO
                    boleto:
                      service: DHL
              Card - DIRECT:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: '24235345432'
                  amount:
                    currency: EUR
                    value: 10000
                  captureMethod:
                    type: AUTOMATIC
                  browserInfo:
                    acceptHeaders: text
                    ipAddress: 93.176.166.240
                    javaEnabled: false
                    javaScriptEnabled: true
                    language: EN
                    userAgent: Mozilla/5.0
                  order:
                    merchantReference: 112-445-34567
                    numberOfArticles: 1
                    creationDate: '2025-03-31T11:58:37Z'
                    invoiceId: 555-333-2222
                    items:
                      - id: '1'
                        sku: 19-402-DEU
                        name: BatteryPowerPack
                        quantity: 1
                        quantityUnit: pcs
                        taxRate: 0
                        netPrice: 1000
                        grossPrice: 1000
                        totalTaxAmount: 0
                        totalDiscountAmount: 0
                        description: BatteryPowerPack
                        type: physical
                        productInfo:
                          brand: Intel
                          categories:
                            - Electronics Store
                            - Computers
                            - Desktops
                          globalTradeItemNumber: EAN
                          manufacturerPartNumber: BOXNUC5CPYA
                          imageUrl: https://www.exampleobjects.com/logo.png
                          productUrl: https://www.estore.com/products/f2a8d7e34
                  billingAddress:
                    streetName: Schwarzenbergstr
                    streetNumber: '4'
                    city: Bamberg
                    country: DEU
                    postalCode: '96050'
                  shipping:
                    address:
                      streetName: Schwarzenbergstr
                      streetNumber: '4'
                      city: Bamberg
                      country: DEU
                      postalCode: '96050'
                  statementDescriptor: gadgets shop
                  customerInfo:
                    merchantCustomerId: cus_1234567890abcdef
                    customerType: individual
                    firstName: Max
                    lastName: Mustermann
                    email: customer@example.com
                    phone:
                      countryCode: '+49'
                      number: '1236547890'
                    salutation: Ms
                    title: Dr
                    gender: female
                    maidenName: Mustermann
                    middleName: sam
                    birthDate: '2001-01-01'
                    birthPlace: Bamberg
                    socialSecurityNumber: '123443534'
                  channel: ECOM
                  paymentMethods:
                    integrationType: DIRECT
                    type: CARD
                    card:
                      number: '4242424242424242'
                      cardHolderName: Max Mustermann
                      expiryDate: '202801'
                      brand: VISA
                      securityCode: '123'
                      brandSelection: MERCHANT
              Card - HOSTED:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: '24235345432'
                  amount:
                    currency: EUR
                    value: 10000
                  language: de
                  captureMethod:
                    type: AUTOMATIC
                  order:
                    merchantReference: 112-445-34567
                    numberOfArticles: 1
                    creationDate: '2025-03-31T11:58:37Z'
                    invoiceId: 555-333-2222
                    items:
                      - id: '1'
                        sku: 19-402-DEU
                        name: BatteryPowerPack
                        quantity: 1
                        quantityUnit: pcs
                        taxRate: 0
                        netPrice: 1000
                        grossPrice: 1000
                        totalTaxAmount: 0
                        totalDiscountAmount: 0
                        description: BatteryPowerPack
                        type: physical
                        productInfo:
                          brand: Intel
                          categories:
                            - Electronics Store
                            - Computers
                            - Desktops
                          globalTradeItemNumber: EAN
                          manufacturerPartNumber: BOXNUC5CPYA
                          imageUrl: https://www.exampleobjects.com/logo.png
                          productUrl: https://www.estore.com/products/f2a8d7e34
                  urls:
                    return: https://my.callback.url.com/success
                    cancel: https://my.callback.url.com/cancel
                    webhook: https://my.callback.url.com/webhook
                  billingAddress:
                    streetName: Schwarzenbergstr
                    streetNumber: '4'
                    city: Bamberg
                    country: DEU
                    postalCode: '96050'
                  shipping:
                    address:
                      streetName: Schwarzenbergstr
                      streetNumber: '4'
                      city: Bamberg
                      country: DEU
                      postalCode: '96050'
                  statementDescriptor: gadgets shop
                  customerInfo:
                    merchantCustomerId: cus_1234567890abcdef
                    customerType: individual
                    firstName: Max
                    lastName: Mustermann
                    email: customer@example.com
                    phone:
                      countryCode: '+49'
                      number: '1236547890'
                    salutation: Ms
                    title: Dr
                    gender: female
                    maidenName: Mustermann
                    middleName: sam
                    birthDate: '2001-01-01'
                    birthPlace: Bamberg
                    socialSecurityNumber: '123443534'
                  channel: ECOM
                  paymentMethods:
                    integrationType: HOSTED
                    type: CARD
                    card:
                      subType:
                        - VISA
                        - MASTERCARD
                      template:
                        name: card_template
                        fontSize: 11
                        textColor: '#FFFFFF'
                        customFields:
                          customField1: Field 1 Data
                          customField2: Field 2 Data
                          customField3: Field 3 Data
                          customField4: Field 4 Data
                          customField5: Field 5 Data
                          customField6: Field 6 Data
                          customField7: Field 7 Data
                          customField8: Field 8 Data
                          customField9: Field 9 Data
                          customField10: Field 10 Data
                          customField11: Field 11 Data
                          customField12: Field 12 Data
                          customField13: Field 13 Data
                          customField14: Field 14 Data
              DirectDebit - DIRECT:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  externalIntegrationId: external-integration-id-5678
                  refNr: unique-reference-number-91011
                  amount:
                    currency: EUR
                    value: 50000
                  language: en
                  captureMethod:
                    type: AUTOMATIC
                  order:
                    id: order-id-123
                    numberOfArticles: 2
                    creationDate: '2025-02-07T15:30:00Z'
                    items:
                      - quantity: 1
                        price: 300
                      - quantity: 2
                        price: 350
                  simulationMode: Test EDD payment
                  billingAddress:
                    streetName: 123 Main St
                    streetNumber: '45'
                    city: New York
                    postalCode: '10001'
                    country: US
                    addressLine2: Apt 12B
                    addressLine3: Building C
                    state: NY
                  shipping:
                    address:
                      firstName: John
                      lastName: Doe
                      streetName: 123 Main St
                      streetNumber: '45'
                    type: CLICK_AND_COLLECT
                  customerInfo:
                    merchantCustomerId: customer-123
                    customerType: individual
                    firstName: John
                    lastName: Doe
                    email: john.doe@example.com
                    phone:
                      countryCode: '49'
                      number: '123654789'
                    salutation: MR
                    title: Dr
                    gender: MALE
                    birthDate: '1980-01-01'
                    birthPlace: New York
                    socialSecurityNumber: 123-45-6789
                  expirationTime: '2025-02-07T16:00:00Z'
                  paymentMethods:
                    integrationType: DIRECT
                    type: DIRECTDEBIT
                    directDebit:
                      method: ELV
                      debitDelay: 5
                      service: Subscription Service
                      sellingPoint: Online Store
                      account:
                        code: DEUTATWWXXX
                        number: AT141910000088888880
                        bankName: Deutsche Bank
                        accountHolderName: John Doe
                        pseudoBankNumber: PBAN1234567890
                      mandate:
                        mandateId: 6B29FC40-1067-B31D-00DD010A4455
                        dateOfSignature: '2023-05-01'
              DirectDebit - HOSTED:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  externalIntegrationId: external-integration-id-5678
                  refNr: unique-reference-number-91011
                  amount:
                    currency: EUR
                    value: 50000
                  language: en
                  simulationMode: Test DD payment
                  urls:
                    return: https://merchant.com/return
                    cancel: https://merchant.com/cancel
                    webhook: https://merchant.com/webhook
                  billingAddress:
                    streetName: 123 Main St
                    streetNumber: '45'
                    city: New York
                    postalCode: '10001'
                    country: US
                    addressLine2: Apt 12B
                    addressLine3: Building C
                    state: NY
                  shipping:
                    address:
                      firstName: John
                      lastName: Doe
                      streetName: 123 Main St
                      streetNumber: '45'
                    type: CLICK_AND_COLLECT
                  customerInfo:
                    merchantCustomerId: customer-123
                    customerType: individual
                    firstName: John
                    lastName: Doe
                    email: john.doe@example.com
                    phone:
                      countryCode: '49'
                      number: '123654789'
                  expirationTime: '2025-02-07T16:00:00Z'
                  paymentMethods:
                    integrationType: HOSTED
                    type: DIRECTDEBIT
                    directDebit:
                      method: ELV
                      debitDelay: 5
                      service: Subscription Service
                      sellingPoint: Online Store
                      prefillInfo:
                        account:
                          code: DEUTATWWXXX
                          number: AT141910000088888880
                          bankName: Deutsche Bank
                          accountHolderName: John Doe
              Ideal - HOSTED:
                value:
                  transId: 78086375-8d4f-48d4-a4f4-712bcfbeb0eb
                  amount:
                    currency: EUR
                    value: 10000
                  language: de
                  urls:
                    return: https://my.callback.url.com/return
                    webhook: https://my.callback.url.com/webhook
                  metadata:
                    userData: my user data
                    k1: v1
                    plain: plain text
                    k2: v2
                  paymentMethods:
                    type: IDEAL
                    integrationType: HOSTED
                    ideal:
                      subType: IDEAL
              GooglePay - DIRECT:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: '24235345432'
                  amount:
                    currency: EUR
                    value: 10000
                  language: de
                  captureMethod:
                    type: AUTOMATIC
                  order:
                    merchantReference: 112-445-34567
                    numberOfArticles: 1
                    creationDate: '2025-03-31T11:58:37Z'
                    invoiceId: 555-333-2222
                    items:
                      - id: '1'
                        sku: 19-402-DEU
                        name: BatteryPowerPack
                        quantity: 1
                        quantityUnit: pcs
                        taxRate: 0
                        netPrice: 1000
                        grossPrice: 1000
                        totalTaxAmount: 0
                        totalDiscountAmount: 0
                        description: BatteryPowerPack
                        type: physical
                        productInfo:
                          brand: Intel
                          categories:
                            - Electronics Store
                            - Computers
                            - Desktops
                          globalTradeItemNumber: EAN
                          manufacturerPartNumber: BOXNUC5CPYA
                          imageUrl: https://www.exampleobjects.com/logo.png
                          productUrl: https://www.estore.com/products/f2a8d7e34
                  billingAddress:
                    streetName: Schwarzenbergstr
                    streetNumber: '4'
                    city: Bamberg
                    country: DEU
                    postalCode: '96050'
                  shipping:
                    address:
                      streetName: Schwarzenbergstr
                      streetNumber: '4'
                      city: Bamberg
                      country: DEU
                      postalCode: '96050'
                  statementDescriptor: gadgets shop
                  customerInfo:
                    merchantCustomerId: cus_1234567890abcdef
                    customerType: individual
                    firstName: Max
                    lastName: Mustermann
                    email: customer@example.com
                    phone:
                      countryCode: '+49'
                      number: '1236547890'
                    salutation: Ms
                    title: Dr
                    gender: female
                    maidenName: Mustermann
                    middleName: sam
                    birthDate: '2001-01-01'
                    birthPlace: Bamberg
                    socialSecurityNumber: '123443534'
                  channel: ECOM
                  paymentMethods:
                    integrationType: DIRECT
                    type: GOOGLEPAY
                    googlePay:
                      token: >-
                        ewogICJzaWduYXR1cmUiOiAiTUVRQ0lDNHovUUhTcnpla1Jra3VrM3ZHWXhCVEJkTmdFUWw1WEZIeDBXazVmRkxJVUFpQjMrcTIyN2hhdkFKZGFnZkdaYU1YYmVmaGF0ZEpFN0RmMnFySW9LRHYxT2c9PSIsCiAgInByb3RvY29sVmVyc2lvbiI6ICJFQ3YxIiwKICAic2lnbmVkTWVzc2FnZSI6ICJ7XCJlbmNyeXB0ZWRNZXNzYWdlXCI6XCJiT1lSbUV4R2VDc0JyRnFFU3Q3a2Q5TzFGTit2UVpmMktHMFVOWUM4ak5BK1ZWZjluUWVLN2xEdlU4azM3Y0grTE96aUpRa0hOTDJPeERISWs2R29SVjFCclhwcndCbkFKUjBPMlZuQ1VIOGxzcXEwRUx3ZW1lcVczNjRJcjhjVS9oREZ6V05wKzM4SDI1SlZEQU1FeFpCS29kTU1UelVYWGd5TytzNWpPeUFsOGpVaG5BdzNmVFJQa2VmdVlzRThORks1dHZjczRMMjloODdabzdvdDAvOFhyVWhYdDliL0ZsZDFMRXRoa3VQU04rSzFlRUZQN2JzZUI2ampSZEhud1lBZHFpRTNpT21oNzFwY0RtTkl5cmxXUmo3NFVKYXN6ZWVyWlc3RG9aTngxMW9ON2ZvdXEvOGZlMXZrbHNyL2UreS9SU0cyblFNV2c1eVIvZk1UZnFDeWFiVERoSk12TU0xWmhlOTErZFEwL3hpL3pLUmdzSWhpb25nSlVqWXRvU05JalVIbk1MUnVWVEtkalg1MENDSTFRT2lCdHI5aDBiT0xlUGh4dzljTFllVTFLd0NmWUp5dDI4REJLQ3ZhV0ZTYkNsK2R6TmNaOUI4M2t2XCIsXCJlcGhlbWVyYWxQdWJsaWNLZXlcIjpcIkJGVWp1NzMvSVQvS3FuQi9uYzBXM0JhTDNCWEZ5YnJiWWFQaU1DS1hJY2c3OFBic2x3VjdNUlVxM1NwV0VERUpUNnBha0xDdmYzNDQxMkhiREdDcHNhNFxcdTAwM2RcIixcInRhZ1wiOlwieEl1Q1VXQjJVNnlXRWZpZHNKcFFhYStsZVUva3FTNTIySkxPbnJuazQyZ1xcdTAwM2RcIn0iCn0K
              Klarna - DIRECT:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: unique-reference-number-91011
                  amount:
                    currency: EUR
                    value: 50000
                    taxTotal: 500
                  language: en
                  order:
                    id: order-id-123
                    numberOfArticles: 1
                    creationDate: '2025-02-07T15:30:00Z'
                    items:
                      - id: '12345'
                        sku: ABCD1234
                        name: Wireless Headphones
                        type: physical
                        quantityUnit: unit
                        description: >-
                          Premium noise-canceling wireless headphones with 20
                          hours of battery life.
                        marketplaceSellerId: seller123
                        googleProductCategoryId: 123
                        productInfo:
                          globalTradeItemNumber: EAN
                          manufacturerPartNumber: MPN9876543210
                          imageUrl: https://example.com/product-image.jpg
                          productUrl: https://example.com/wireless-headphones
                  billingAddress:
                    streetName: 123 Main St
                    streetNumber: '45'
                    city: New York
                    postalCode: '10001'
                    country: US
                    addressLine2: Apt 12B
                    addressLine3: Building C
                    state: NY
                  shipping:
                    address:
                      firstName: John
                      lastName: Doe
                      streetName: Main Street
                      streetNumber: '123'
                      city: New York
                      postalCode: '10001'
                      country: USA
                      addressLine2: Apt 4B
                      addressLine3: Building 12
                      state: NY
                    type: CLICK_AND_COLLECT
                  browserInfo:
                    ipAddress: 192.168.1.1
                  customerInfo:
                    merchantCustomerId: customer-123
                  paymentMethods:
                    integrationType: DIRECT
                    type: KLARNA
                    klarna:
                      subType: PAY_NOW
                      layout:
                        borderColor: '#FF9900'
                        borderColorSelected: '#FF9900'
                        buttonColor: '#FF9900'
                        buttonTextColor: '#FF9900'
                        checkboxColor: '#FF9900'
                        checkboxCheckmarkerColor: '#FF9900'
                        detailsColor: '#FF9900'
                        headerColor: '#FF9900'
                        linkColor: '#FF9900'
                        textColor: '#FF9900'
                        textSecondaryColor: '#FF9900'
                        borderRadius: 5px
                      accountName: test
                      enhancedData:
                        productCategory: Test product category
                        productName: Test product name
                      description: >-
                        This is a test payment method for demonstration
                        purposes.
                      providerToken: 1234567890asdf
              Klarna - HOSTED:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: unique-reference-number-91011
                  amount:
                    currency: EUR
                    value: 50000
                    taxTotal: 500
                  language: en
                  order:
                    id: order-id-123
                    numberOfArticles: 1
                    creationDate: '2025-02-07T15:30:00Z'
                    items:
                      - id: '12345'
                        sku: ABCD1234
                        name: Wireless Headphones
                        type: physical
                        quantity: 2
                        quantityUnit: unit
                        taxRate: 15
                        netPrice: 5000
                        grossPrice: 5750
                        totalDiscountAmount: 500
                        totalTaxAmount: 750
                        merchantData: Special discount for VIP customers
                        description: >-
                          Premium noise-canceling wireless headphones with 20
                          hours of battery life.
                        marketplaceSellerId: seller123
                        lineNumber: 1
                        merchantProductType: Electronics
                        googleProductCategory: Electronics
                        googleProductCategoryId: 123
                        groupId: group456
                        taxCategory: standard
                        productInfo:
                          brand: TechAudio
                          categories:
                            - Headphones
                            - Electronics
                            - Audio
                          globalTradeItemNumber: EAN
                          manufacturerPartNumber: MPN9876543210
                          imageUrl: https://example.com/product-image.jpg
                          productUrl: https://example.com/wireless-headphones
                  billingAddress:
                    streetName: 123 Main St
                    streetNumber: '45'
                    city: New York
                    postalCode: '10001'
                    country: US
                    addressLine2: Apt 12B
                    addressLine3: Building C
                    state: NY
                  shipping:
                    address:
                      firstName: John
                      lastName: Doe
                      streetName: Main Street
                      streetNumber: '123'
                      city: New York
                      postalCode: '10001'
                      country: USA
                      addressLine2: Apt 4B
                      addressLine3: Building 12
                      state: NY
                    type: CLICK_AND_COLLECT
                  browserInfo:
                    ipAddress: 192.168.1.1
                  customerInfo:
                    merchantCustomerId: customer-123
                  paymentMethods:
                    integrationType: HOSTED
                    type: KLARNA
                    klarna:
                      subType: PAY_NOW
                      layout:
                        showSubTotalDetail: HIDE
                        logoUrl: https://example.com/klarna
                        pageTitle: Secure Payment with Klarna
                      accountName: test
                      enhancedData:
                        productCategory: Test product category
                        productName: Test product name
                      description: >-
                        This is a test payment method for demonstration
                        purposes.
              PayPal - DIRECT:
                value:
                  transId: 20230511-081056-103
                  refNr: RefNr20230511003
                  amount:
                    value: 12345
                    currency: EUR
                    taxTotal: 0
                    netItemTotal: 0
                    netShippingAmount: 0
                  order:
                    id: order-id-123
                    numberOfArticles: 1
                    creationDate: '2025-02-07T15:30:00Z'
                    items:
                      - id: '12345'
                        sku: ABCD1234
                        name: Wireless Headphones
                        quantity: 2
                        taxRate: 15
                        netPrice: 5000
                        description: >-
                          Premium noise-canceling wireless headphones with 20
                          hours of battery life.
                  language: en
                  captureMethod:
                    type: AUTOMATIC
                  billingAddress:
                    streetName: 123 Main St
                    streetNumber: '45'
                    city: New York
                    postalCode: '10001'
                    country: US
                    addressLine2: Apt 12B
                    addressLine3: Building C
                    state: NY
                  paymentMethods:
                    integrationType: DIRECT
                    type: PAYPAL
                    payPal:
                      accountId: Your Paypal account ID
                      hideAddress: true
              PFConnect - DIRECT:
                value:
                  transId: 20230511-081056-103
                  refNr: RefNr20230511003
                  amount:
                    value: 12345
                    currency: EUR
                  order:
                    id: order-id-123
                    numberOfArticles: 1
                    creationDate: '2025-02-07T15:30:00Z'
                    items:
                      - id: '12345'
                        sku: ABCD1234
                        name: Wireless Headphones
                        quantity: 2
                        taxRate: 15
                        netPrice: 5000
                        description: >-
                          Premium noise-canceling wireless headphones with 20
                          hours of battery life.
                  credentialOnFile:
                    type: UNSCHEDULED
                    initialPayment: true
                    unscheduled:
                      subType: CIT
                    installments:
                      total: 8
                      curIdx: 5
                      purchaseAmount: 400
                      cumulativeAmount: 250
                      frequency: WEEKLY
                      expiryDate: '2025-06-10'
                  paymentMethods:
                    integrationType: DIRECT
                    type: PFCONNECT
                    pfConnect:
                      merchantCountryCode: FR
                      productId: 123456
                      shoppingBasketAmount: 1000
                      downPaymentAmount: 200
                      deliveryDate: '2025-05-01'
                      customerRole: OWNER
              PFConnect - HOSTED:
                value:
                  transId: 20230511-081056-103
                  refNr: RefNr20230511003
                  amount:
                    value: 12345
                    currency: EUR
                  urls:
                    return: http://example.com/return
                    webhook: http://example.com/webhook
                    failure: http://example.com/failure
                  metadata:
                    userData: user data
                  shipping:
                    address:
                      firstName: Jane
                      lastName: Doe
                      postalCode: '10115'
                      city: Berlin
                      country: DEU
                      streetName: test street
                      streetNumber: test number
                  customerInfo:
                    merchantCustomerId: '12341234'
                    salutation: Mrs
                    firstName: Jane222
                    lastName: Doe
                    phone:
                      countryCode: '33'
                      number: '12345678910'
                    birthDate: '1998-11-29'
                    email: customer@example.com
                  order:
                    id: order-id-123
                    numberOfArticles: 1
                    creationDate: '2025-02-07T15:30:00Z'
                    items:
                      - id: '12345'
                        sku: ABCD1234
                        name: Wireless Headphones
                        quantity: 2
                        taxRate: 15
                        netPrice: 5000
                        description: >-
                          Premium noise-canceling wireless headphones with 20
                          hours of battery life.
                  credentialOnFile:
                    type: UNSCHEDULED
                    initialPayment: true
                    unscheduled:
                      subType: CIT
                    installments:
                      total: 8
                      curIdx: 5
                      purchaseAmount: 400
                      cumulativeAmount: 250
                      frequency: WEEKLY
                      expiryDate: '2025-06-10'
                  billingAddress:
                    streetName: 123 Main St
                    streetNumber: '45'
                    city: New York
                    postalCode: '10001'
                    country: US
                    addressLine2: Apt 12B
                    addressLine3: Building C
                    state: NY
                  paymentMethods:
                    integrationType: HOSTED
                    type: PFCONNECT
                    pfConnect:
                      partnerStoreId: FR123456
                      aboId: 987654321
                      applicationDate: '2025-04-14'
                      customValue: custom-info
                      shoppingBasketAmount: 1200
                      deliveryDate: '2025-05-01'
                      programId: PROG001
                      planId: PLAN123
                      productId: 456789
              Ratepay - DIRECT:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: 6B29FC62-1069
                  amount:
                    currency: EUR
                    value: 10000
                  language: de
                  simulationMode: Test Ratepay payment
                  order:
                    id: order-id-123
                    numberOfArticles: 1
                    creationDate: '2025-02-07T15:30:00Z'
                    items:
                      - id: '12345'
                        sku: ABCD1234
                        name: Wireless Headphones
                        quantity: 2
                        taxRate: 15
                        netPrice: 5000
                        description: >-
                          Premium noise-canceling wireless headphones with 20
                          hours of battery life.
                  customerInfo:
                    merchantCustomerId: '12341234'
                    salutation: Mrs
                    firstName: Jane222
                    lastName: Doe
                    phone:
                      countryCode: '33'
                      number: '12345678910'
                    birthDate: '1998-11-29'
                    email: customer@example.com
                  billingAddress:
                    streetName: 123 Main St
                    streetNumber: '45'
                    city: New York
                    postalCode: '10001'
                    country: US
                    addressLine2: Apt 12B
                    addressLine3: Building C
                    state: NY
                  shipping:
                    address:
                      firstName: Jane
                      lastName: Doe
                      postalCode: '10115'
                      city: Berlin
                      country: DEU
                      streetName: test street
                      streetNumber: test number
                  channel: ECOM
                  paymentMethods:
                    integrationType: DIRECT
                    type: RATEPAY
                    ratepay:
                      deviceToken: abc123deviceTokenXYZ
                      account:
                        number: DE89370400440532013000
                        code: COBADEFFXXX
                        accountHolderName: Max Mustermann
                      subType: PAY_NOW
                      transferType: SEPA_DIRECT_DEBIT
              Riverty - DIRECT:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: unique-reference-number-91011
                  amount:
                    currency: EUR
                    value: 50000
                  billingAddress:
                    streetName: 123 Main St
                    streetNumber: '45'
                    city: New York
                    postalCode: '10001'
                    country: US
                    addressLine2: Apt 12B
                    addressLine3: Building C
                    state: NY
                  shipping:
                    address:
                      firstName: John
                      lastName: Doe
                      streetName: Main Street
                      streetNumber: '123'
                      city: New York
                      postalCode: '10001'
                      country: USA
                      addressLine2: Apt 4B
                      addressLine3: Building 12
                      state: NY
                    type: CLICK_AND_COLLECT
                  paymentMethods:
                    integrationType: DIRECT
                    type: RIVERTY
                    riverty:
                      subType: INVOICE
                      billingCareOf: Jane c/o John
                      shippingCareOf: John c/o Jane
                      account:
                        number: '12345'
                        code: RABONL2U
                      profileNumber: '123456789'
                      orderRisk:
                        channelType: INTERNET
                        deliveryType: NORMAL
                        ticketDeliveryMethod: EMAIL
                      customerRisk:
                        existingCustomer: true
                        verifiedCustomerIdentification: true
                        marketingOptIn: false
                        customerSince: '2015-11-20'
                        customerClassification: Classification
                        acquisitionChannel: SearchEngine
                        hasCustomerCard: true
                        customerCardSince: '2016-01-23'
                        customerCardClassification: Gold Member
                        profileTrackingId: TrackingID123456
                        numberOfTransactions: 27
                        customerIndividualScore: 98
                        amountOfTransactions: 1
                        otherPaymentMethods: true
                      eventToken: AUTHORIZATION
              Wero - HOSTED:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: '24235345432'
                  amount:
                    currency: EUR
                    value: 10000
                  simulationMode: Test WERO payment
                  urls:
                    return: https://my.callback.url.com/success
                    cancel: https://my.callback.url.com/cancel
                    webhook: https://my.callback.url.com/notify
                  order:
                    items:
                      - id: '1'
                        sku: 19-402-DEU
                        name: BatteryPowerPack
                        quantity: 1
                        quantityUnit: pcs
                        taxRate: 0
                        netPrice: 1000
                        grossPrice: 1000
                        totalTaxAmount: 0
                        totalDiscountAmount: 0
                        description: BatteryPowerPack
                        type: physical
                  billingAddress:
                    streetName: Schwarzenbergstr
                    streetNumber: '4'
                    addressLine2: Siechenstr. 61
                    city: Bamberg
                    country: DEU
                    postalCode: '96050'
                    state: BY
                  shipping:
                    address:
                      streetName: Schwarzenbergstr
                      streetNumber: '4'
                      addressLine2: Feldkirchenstr. 21
                      city: Bamberg
                      country: DEU
                      postalCode: '96050'
                      state: BY
                  statementDescriptor: >-
                    gadgets shop there was a validation for this kvp parameter
                    that it must be a maximum length of 35 characters
                  metadata:
                    k1: v1
                    userData: my user data
                    k2: v2
                    plain: some plain text
                    k3: v3
                  customerInfo:
                    merchantCustomerId: cus_1234567890abcdef
                    customerType: individual
                    firstName: Max
                    lastName: Mustermann
                    email: customer@example.com
                    phone:
                      countryCode: '+49'
                      number: '1236547890'
                  paymentMethods:
                    integrationType: HOSTED
                    type: WERO
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paymentDirectResponse'
              examples:
                Default:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 6c7c66e5352241c19d82c175a01f713a
                    xId: 93c4093c6d3644fcb6c60484f7a831fd
                    transId: 98582271-63d2-4b90-9422-5fb597a4c41d
                    refNr: 36088922-348d-4a45-8fd0-5d5200100a2c
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                ApplePay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      applePay:
                        schemeReferenceId: 6C21FC4093DD0105678
                Boleto:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      boleto:
                        paymentSlipLink: https://paymentPage.aspx
                Card:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    paymentMethods:
                      card:
                        pseudoCardNumber: '0723219245645111'
                        expiryDate: '202506'
                        brand: VISA
                        source: CREDIT
                        issuer: JPMORGAN CHASE BANK, N.A.
                        country: US
                        bin:
                          accountBin: '411111'
                        versioningData:
                          threeDSServerTransId: 14dd844c-b0fc-4dfe-8635-366fbf43468c
                          acsStartProtocolVersion: 2.1.0
                          acsEndProtocolVersion: 2.1.0
                          dsStartProtocolVersion: 2.1.0
                          dsEndProtocolVersion: 2.1.0
                          threeDSMethodUrl: https://www.computop-paygate.com/acs/3ds-method
                          threeDSMethodDataForm: >-
                            eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly93d3cuY29tcHV0b3AtcGF5Z2F0ZS5jb20vY2JUaHJlZURTLmFzcHg_YWN0aW9uPW10aGROdGZuIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIxNGRkODQ0Yy1iMGZjLTRkZmUtODYzNS0zNjZmYmY0MzQ2OGMifQ==
                          threeDSMethodData:
                            threeDSMethodNotificationUrl: >-
                              https://www.computop-paygate.com/cbThreeDS.aspx?action=mthdNtfn
                            threeDSServerTransId: 14dd844c-b0fc-4dfe-8635-366fbf43468c
                        providerApprovalCode: '20000000'
                        providerResponseCode: '201'
                        providerResponseMessage: SUCCESS
                DirectDebit:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 6c7c66e5352241c19d82c175a01f713a
                    xId: 93c4093c6d3644fcb6c60484f7a831fd
                    transId: 98582271-63d2-4b90-9422-5fb597a4c41d
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    paymentMethods:
                      directDebit:
                        account:
                          accountHolderName: Jane Doe
                          number: AT141910000088888880
                          bankName: Test_Bank
                        mandateId: FFFFCD45087F1A
                        dateOfSignature: 08.03.2024
                GooglePay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    metadata:
                      userData: some user data
                    paymentMethods:
                      googlePay:
                        schemeReferenceId: 6C21FC4093DD0105678
                Klarna:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      klarna:
                        accessToken: 2738598h48t672909th
                        providerResponseCode: '201'
                        provideResponseText: success
                PayPal:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      payPal:
                        orderId: pay-pal-order-id-123
                PFConnect:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      pfConnect:
                        financingScenarioDetail: 5-year loan, 3.5% interest, 20% down payment.
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        authorizationExpiry: '2025-05-22T14:30:00+02:00'
                        account:
                          bankName: Sample Bank
                          code: DE1234567890
                          number: DE89370400440532013000
                          accountHolderName: John Doe
                        paymentReference: 'Invoice #12345'
                        providerTransactionId: txn-9876543210
                Riverty:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      riverty:
                        billingAddress:
                          countryCode: DE
                          postalCode: '10115'
                          street: Street
                          streetNumber: '20'
                        shippingAddress:
                          countryCode: DE
                          postalCode: '60311'
                          street: Street
                          streetNumber: '23'
                        allowedPaymentMethods:
                          - type: INVOICE
                            directDebit:
                              available: true
                            installment:
                              basketAmount: '1000'
                              numberOfInstallments: '1'
                              installmentAmount: '1000'
                              firstInstallmentAmount: '1000'
                              lastInstallmentAmount: '1000'
                            legalInfo:
                              requiresCustomerConsent: true
                              termsAndConditionsUrl: https://terms-and-conditions.com
                              privacyStatementUrl: https://privacy-statement.com
                              text: additional legal text
          links:
            self:
              operationId: getPaymentStatusById
              parameters:
                paymentId: .body#/id
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paymentHostedResponse'
              examples:
                Test Environment:
                  value:
                    _links:
                      redirect:
                        href: >-
                          https://test.computop-paygate.com?token=ce0aef1079d84c5082b3013ee6f9e1fe
                        type: text/html
                Live Environment:
                  value:
                    _links:
                      redirect:
                        href: >-
                          https://computop-paygate.com?token=ce0aef1079d84c5082b3013ee6f9e1fe
                        type: text/html
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '422':
          description: >-
            Unprocessable Entity,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paymentErrorResponse'
              examples:
                Card:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      card:
                        providerResponseCode: '05'
                        providerResponseMessage: Do not honor
                        issuerResponseCode: '2001'
                        issuerResponseMessage: Insufficient funds
                DirectDebit:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      directDebit:
                        providerResponseCode: '12'
                        providerResponseText: Insufficient funds
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        providerDeclineCategory: insufficient_funds
                        providerResponseText: >-
                          The transaction was declined due to insufficient funds
                          in the account.
                        providerResponseCode: '101'
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/{id}/confirms:
    post:
      tags:
        - Payments
      summary: Confirm payment
      description: >-
        This endpoint is used for payment methods that require a multi-step
        payment flow. It allows you to confirm a previously created payment
        instance (initiated via the Create Payment endpoint) to complete the
        transaction. This step is essential for certain payment methods to
        finalize the payment process.
      operationId: confirmPayment
      parameters:
        - name: id
          in: path
          description: PayId assigned by Computop Paygate in the initial request
          required: true
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          description: >-
            A unique key provided by you to ensure that a particular operation
            is not processed multiple times in case of retries.
          required: false
          schema:
            type: string
      requestBody:
        description: Confirm payment.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/confirmRequest'
            examples:
              Card:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 10000
                    currency: EUR
                  refNr: '24235345432'
                  captureMethod:
                    type: AUTOMATIC
                  order:
                    merchantReference: 112-445-34567
                    numberOfArticles: 1
                    creationDate: '2025-03-31T11:58:37Z'
                    invoiceId: 555-333-2222
                    items:
                      - id: '1'
                        sku: 19-402-DEU
                        name: BatteryPowerPack
                        quantity: 1
                        quantityUnit: pcs
                        taxRate: 0
                        netPrice: 1000
                        grossPrice: 1000
                        totalTaxAmount: 0
                        totalDiscountAmount: 0
                        description: BatteryPowerPack
                        type: physical
                        productInfo:
                          brand: Intel
                          categories:
                            - Electronics Store
                            - Computers
                            - Desktops
                          globalTradeItemNumber: EAN
                          manufacturerPartNumber: BOXNUC5CPYA
                          imageUrl: https://www.exampleobjects.com/logo.png
                          productUrl: https://www.estore.com/products/f2a8d7e34
                  paymentMethods:
                    card:
                      eventToken: ORDER
              Klarna:
                value:
                  transId: some-trans-id
                  amount:
                    value: 10000
                    currency: EUR
                  refNr: some-ref-nr
                  order:
                    id: order-1-id
                    items:
                      - name: item-1
                        quantity: 1
                        netPrice: 5000
                        taxRate: 0
                      - name: item-2
                        quantity: 1
                        netPrice: 5000
                        taxRate: 0
                  billingAddress:
                    streetName: test
                    streetNumber: '22'
                    postalCode: '10115'
                    country: DE
                  shipping:
                    address:
                      country: NL
                  paymentMethods:
                    klarna:
                      accessToken: some-access-token
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/confirmResponse'
              examples:
                Default:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 6c7c66e5352241c19d82c175a01f713a
                    xId: 93c4093c6d3644fcb6c60484f7a831fd
                    transId: 98582271-63d2-4b90-9422-5fb597a4c41d
                    refNr: 36088922-348d-4a45-8fd0-5d5200100a2c
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                Klarna:
                  value:
                    merchantId: merchant-test
                    payId: some-pay-id
                    xId: some-x-id
                    transId: some-trans-id
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: some-ref-br
                    paymentMethods:
                      klarna:
                        providerTransactionId: klarna-transaction-id
                        providerToken: klarna-token
                        redirectUrl: https://redirect-url.com
                        providerResponseCode: '200'
                        providerResponseText: Operation successful
                PayPal:
                  value:
                    merchantId: merchant-test
                    payId: some-pay-id
                    xId: some-x-id
                    transId: some-trans-id
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: some-ref-br
                    paymentMethods:
                      payPal:
                        providerResponseCode: '200'
                Riverty:
                  value:
                    merchantId: merchant-test
                    payId: some-pay-id
                    xId: some-x-id
                    transId: some-trans-id
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: some-ref-br
                    paymentMethods:
                      riverty:
                        providerResponseCode: '200'
                        providerResponseText: Operation successful
                        billingAddress:
                          streetName: test-street
                          streetNumber: '22'
                          postalCode: '10115'
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '422':
          description: >-
            Unprocessable Entity,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/{id}/incrementals:
    post:
      tags:
        - Payments
      summary: Incremental authorization
      description: >-
        This endpoint allows you to increase the authorized amount for an
        existing card transaction when the initial authorization is
        insufficient. The additional amount is appended to the original
        authorization, and the total authorized amount reflects both.
      operationId: incrementAuthorization
      parameters:
        - name: id
          in: path
          description: payId assigned by Computop Paygate in the initial request.
          required: true
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          description: >-
            A unique key provided by you to ensure that a particular operation
            is not processed multiple times in case of retries.
          required: false
          schema:
            type: string
      requestBody:
        description: Increase amount of existing authorization.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/incrementalRequest'
            examples:
              Default:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 10000
                    currency: EUR
                  duration: 10
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/incrementalResponse'
              examples:
                Default:
                  value:
                    merchantId: test-merchant
                    payId: some-pay-id
                    xId: some-x-id
                    transId: some-trans-id
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: some-ref-nr
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        authorizationExpiry: '2025-05-22T14:30:00+02:00'
                        account:
                          bankName: Sample Bank
                          code: DE1234567890
                          number: DE89370400440532013000
                          accountHolderName: John Doe
                        paymentReference: 'Invoice #12345'
                        providerTransactionId: txn-9876543210
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '422':
          description: >-
            Unprocessable Entity,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/incrementalErrorResponse'
              examples:
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        providerDeclineCategory: insufficient_funds
                        providerResponseText: >-
                          The transaction was declined due to insufficient funds
                          in the account.
                        providerResponseCode: '101'
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/{id}/reversals:
    post:
      tags:
        - Payments
      summary: Reverse payment
      description: >-
        This endpoint is used to reverse a payment that has not yet been
        captured, effectively canceling the authorization.
      operationId: reversePayment
      parameters:
        - name: id
          in: path
          description: payId assigned by Computop Paygate in the initial request
          required: true
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          description: >-
            A unique key provided by you to ensure that a particular operation
            is not processed multiple times in case of retries.
          required: false
          schema:
            type: string
      requestBody:
        description: Reverse existing payment that has not been Captured.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/reversalRequest'
            examples:
              Default:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 10000
                    currency: EUR
                  refNr: '24235345432'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/reversalResponse'
              examples:
                Default:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 6c7c66e5352241c19d82c175a01f713a
                    xId: 93c4093c6d3644fcb6c60484f7a831fd
                    transId: 98582271-63d2-4b90-9422-5fb597a4c41d
                    refNr: 36088922-348d-4a45-8fd0-5d5200100a2c
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                Card:
                  value:
                    merchantId: test-merchant
                    payId: some-pay-id
                    xId: some-x-id
                    transId: some-trans-id
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: some-ref-nr
                    paymentMethods:
                      card:
                        providerResponseCode: '200'
                        providerTransactionId: some-clearhaus-transaction-id
                        providerApprovalCode: some-approval-code
                Klarna:
                  value:
                    merchantId: test-merchant
                    payId: some-pay-id
                    xId: some-x-id
                    transId: some-trans-id
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: some-ref-nr
                    paymentMethods:
                      klarna:
                        providerResponseCode: '200'
                        providerResponseText: Operation successful
                PayPal:
                  value:
                    merchantId: test-merchant
                    payId: some-pay-id
                    xId: some-x-id
                    transId: some-trans-id
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: some-ref-nr
                    paymentMethods:
                      payPal:
                        providerResponseCode: '200'
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        authorizationExpiry: '2025-05-22T14:30:00+02:00'
                        account:
                          bankName: Sample Bank
                          code: DE1234567890
                          number: DE89370400440532013000
                          accountHolderName: John Doe
                        paymentReference: 'Invoice #12345'
                        providerTransactionId: txn-9876543210
                Riverty:
                  value:
                    merchantId: test-merchant
                    payId: some-pay-id
                    xId: some-x-id
                    transId: some-trans-id
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: some-ref-nr
                    paymentMethods:
                      riverty:
                        providerResponseCode: '200'
                        providerResponseText: Operation successful
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '422':
          description: >-
            Unprocessable Entity,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/reversalErrorResponse'
              examples:
                Card:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      card:
                        providerResponseCode: '51'
                        providerResponseText: Invalid card number
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        providerDeclineCategory: insufficient_funds
                        providerResponseText: >-
                          The transaction was declined due to insufficient funds
                          in the account.
                        providerResponseCode: '101'
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/{id}/captures:
    post:
      tags:
        - Payments
      summary: Capture payment
      description: This endpoint is used to capture an existing authorized payment.
      operationId: capturePayment
      parameters:
        - name: id
          in: path
          description: PayId assigned by Computop Paygate in the initial request.
          required: true
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          description: >-
            A unique key provided by you to ensure that a particular operation
            is not processed multiple times in case of retries.
          required: false
          schema:
            type: string
      requestBody:
        description: Capture existing authorized payment.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/captureRequest'
            examples:
              Default:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 10000
                    currency: EUR
                  refNr: '24235345432'
                  statementDescriptor: gadgets shop
                  captureMethod:
                    manual:
                      currentSequence: 1
                      final: false
                      total: 3
              Card:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 10000
                    currency: EUR
                  refNr: '24235345432'
                  statementDescriptor: gadgets shop
                  captureMethod:
                    manual:
                      currentSequence: 1
                      final: false
                      total: 3
                  paymentMethods:
                    card:
                      finishAuth: true
              DirectDebit:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 1200
                    currency: EUR
                  refNr: 6B29FC40-1067-B31D
                  statementDescriptor: Purchase at ABC Store
                  captureMethod:
                    manual:
                      currentSequence: 1
                      final: false
                      total: 3
                  paymentMethods:
                    directDebit:
                      mandateId: 6B29FC4012CD010A5B61
                      dateOfSignature: 20.05.2023
              Klarna:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 1200
                    currency: EUR
                  refNr: 6B29FC40-1067-B31D
                  statementDescriptor: Purchase at ABC Store
                  captureMethod:
                    manual:
                      currentSequence: 1
                      final: false
                      total: 3
                  paymentMethods:
                    klarna:
                      completeType: 'yes'
                      shippingInfo:
                        shippingCompany: 17postservice
                        shippingMethod: Home
                        trackingId: '63456415674545679074'
                        trackingUrl: >-
                          https://shipping.example/findmypackage?63456415674545679074
                        returnShippingCompany: aaa-cooper
                        returnTrackingId: '93456415674545679000'
                        returnTrackingUrl: >-
                          https://shipping.example/findmypackage?93456415674545679000
              PayPal:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 1200
                    currency: EUR
                  refNr: 6B29FC40-1067-B31D
                  statementDescriptor: Purchase at ABC Store
                  captureMethod:
                    manual:
                      currentSequence: 1
                      final: false
                      total: 3
                  paymentMethods:
                    payPal:
                      completeType: true
              Riverty:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 1200
                    currency: EUR
                  refNr: 6B29FC40-1067-B31D
                  statementDescriptor: Purchase at ABC Store
                  captureMethod:
                    manual:
                      currentSequence: 1
                      final: false
                      total: 3
                  paymentMethods:
                    riverty:
                      shippingInfo:
                        type: SHIPMENT
                        shippingCompany: companyName
                        trackingId: 6C29FC401067B3A8
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/captureResponse'
              examples:
                Default:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 6c7c66e5352241c19d82c175a01f713a
                    xId: 93c4093c6d3644fcb6c60484f7a831fd
                    transId: 98582271-63d2-4b90-9422-5fb597a4c41d
                    refNr: 36088922-348d-4a45-8fd0-5d5200100a2c
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                Card:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      card:
                        providerResponseCode: SC123
                        providerResponseText: Payment successfully processed.
                        providerTransactionId: CLEAR12345
                        providerApprovalCode: 987654321
                Klarna:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      klarna:
                        providerResponseCode: '200'
                        providerResponseText: Payment successfully processed.
                        invoiceNumber: KL-INV-987654321
                PayPal:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      payPal:
                        providerResponseCode: 200
                        providerTransactionId: PAYPALCAPTURE123456789
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        authorizationExpiry: '2025-05-22T14:30:00+02:00'
                        account:
                          bankName: Sample Bank
                          code: DE1234567890
                          number: DE89370400440532013000
                          accountHolderName: John Doe
                        paymentReference: 'Invoice #12345'
                        providerTransactionId: txn-9876543210
                Riverty:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      riverty:
                        providerResponseCode: 200
                        providerResponseText: Payment successfully processed.
                        invoiceNumber: RIV-INV-1122334455
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '422':
          description: >-
            Unprocessable Entity,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/captureErrorResponse'
              examples:
                Card:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      card:
                        providerResponseCode: '51'
                        providerResponseText: Invalid card number
                PayPal:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      payPal:
                        providerResponseCode: '05'
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        providerDeclineCategory: insufficient_funds
                        providerResponseText: >-
                          The transaction was declined due to insufficient funds
                          in the account.
                        providerResponseCode: '101'
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/{id}/refunds:
    post:
      tags:
        - Payments
      summary: Refund payment with reference
      description: This endpoint is used to refund a captured payment.
      operationId: refundPayment
      parameters:
        - name: id
          in: path
          description: PayId assigned by Computop Paygate in the initial request.
          required: true
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          description: >-
            A unique key provided by you to ensure that a particular operation
            is not processed multiple times in case of retries.
          required: false
          schema:
            type: string
      requestBody:
        description: Refund a payment that has been captured.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/refundRequest'
            examples:
              Default:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 10000
                    currency: EUR
                  refNr: '24235345432'
                  statementDescriptor: gadget shop
              Boleto:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 1200
                    currency: EUR
                  refNr: 6B29FC40-1067-B31D
                  metadata:
                    k1: v1
                    userData: my user data
                    k2: v2
                    plain: some plain text
                    k3: v3
                  statementDescriptor: Example Store Purchase
                  paymentMethods:
                    boleto:
                      bankName: Deutsche Bank AG Filiale Wien
                      accountNumber: 12345-6
                      bankSortCode: DEUTATWWXXX
              Card:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 10000
                    currency: EUR
                  refNr: '24235345432'
                  statementDescriptor: gadget shop
                  paymentMethods:
                    card:
                      providerTransactionId: '745638292011384'
              PayPal:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 1200
                    currency: EUR
                  refNr: 6B29FC40-1067-B31D
                  metadata:
                    k1: v1
                    userData: my user data
                    k2: v2
                    plain: some plain text
                    k3: v3
                  statementDescriptor: Example Store Purchase
                  paymentMethods:
                    payPal:
                      providerTransactionId: PAYPAL1234567890
              Riverty:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 1200
                    currency: EUR
                  refNr: 6B29FC40-1067-B31D
                  metadata:
                    k1: v1
                    userData: my user data
                    k2: v2
                    plain: some plain text
                    k3: v3
                  statementDescriptor: Example Store Purchase
                  paymentMethods:
                    riverty:
                      refundType: REFUND
                      invoiceNumber: INV987654321
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/refundResponse'
              examples:
                Default:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 6c7c66e5352241c19d82c175a01f713a
                    xId: 93c4093c6d3644fcb6c60484f7a831fd
                    transId: 98582271-63d2-4b90-9422-5fb597a4c41d
                    refNr: 36088922-348d-4a45-8fd0-5d5200100a2c
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                Bancontact:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      bancontact:
                        providerResponseText: 1
                Boleto:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      boleto:
                        providerResponseText: 1
                Card:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      card:
                        providerResponseCode: '200'
                        providerResponseText: Transaction successfully synchronized.
                        providerTransactionId: CLEARHAUS987654321
                Klarna:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      klarna:
                        providerResponseCode: '200'
                        providerResponseText: Payment successfully authorized.
                        invoiceNumber: INV123456789
                PayPal:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      payPal:
                        providerResponseCode: 200
                        feeRefundAmount: 5
                        grossRefundAmount: 50
                        netRefundAmount: 45
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        authorizationExpiry: '2025-05-22T14:30:00+02:00'
                        account:
                          bankName: Sample Bank
                          code: DE1234567890
                          number: DE89370400440532013000
                          accountHolderName: John Doe
                        paymentReference: 'Invoice #12345'
                        providerTransactionId: txn-9876543210
                Riverty:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      riverty:
                        providerResponseCode: 200
                        providerResponseText: Transaction successfully synchronized.
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '422':
          description: >-
            Unprocessable Entity,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/refundErrorResponse'
              examples:
                Card:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      card:
                        providerResponseCode: '51'
                        providerResponseText: Invalid card number
                PayPal:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      payPal:
                        providerResponseCode: '05'
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      ratepay:
                        providerDeclineCategory: insufficient_funds
                        providerResponseText: >-
                          The transaction was declined due to insufficient funds
                          in the account.
                        providerResponseCode: '101'
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/refunds:
    post:
      tags:
        - Payments
      summary: Refund payment without reference
      description: This endpoint is used to refund a payment without reference.
      operationId: refundExternalPayment
      requestBody:
        description: Refund the payment that was not processed through Paygate
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/creditExRequest'
            examples:
              Card:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: '24235345432'
                  amount:
                    value: 10000
                    currency: EUR
                  billingAddress:
                    streetName: Schwarzenbergstr
                    streetNumber: '4'
                    city: Bamberg
                    country: DEU
                    postalCode: '96050'
                  shipping:
                    address:
                      streetName: Schwarzenbergstr
                      streetNumber: '4'
                      city: Bamberg
                      country: DEU
                      postalCode: '96050'
                  statementDescriptor: gadgets shop
                  customerInfo:
                    merchantCustomerId: cus_1234567890abcdef
                    customerType: individual
                    firstName: Max
                    lastName: Mustermann
                    email: customer@example.com
                    phone:
                      countryCode: '+49'
                      number: '123654789'
                    birthDate: '2001-01-01'
                  browserInfo:
                    acceptHeaders: application/json, text/javascript, */*; q=0.01
                    ipAddress: 192.168.1.1
                    sessionId: session1234567890
                  paymentMethods:
                    card:
                      number: '4242424242424242'
                      cardholderName: Max Mustermann
                      expiryDate: '202701'
                      brand: VISA
                      securityCode: '123'
              DirectDebit:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: 6B29FC40-1067-B31D
                  amount:
                    value: 50000
                    currency: EUR
                    taxTotal: 1500
                  language: DE
                  billingAddress:
                    firstName: John
                    lastName: Doe
                    streetName: Main Street
                    streetNumber: '123'
                    city: Springfield
                    postalCode: '12345'
                    country: US
                    addressLine2: Apt 101
                    addressLine3: Building 1
                    state: IL
                  shipping:
                    address:
                      addressLine2: Apt 202
                      addressLine3: Building 2
                      city: Springfield
                      postalCode: '12346'
                      state: IL
                      country: US
                    type: CLICK_AND_COLLECT
                  statementDescriptor: Online Purchase
                  customerInfo:
                    merchantCustomerId: 6B29FC40-1067-B31D
                    customerType: individual
                    firstName: John
                    lastName: Doe
                    email: test@gmail.com
                    phone:
                      countryCode: '138'
                      number: '5551234567'
                    birthDate: '1985-06-15'
                  browserInfo:
                    acceptHeaders: application/json, text/javascript, */*; q=0.01
                    ipAddress: 192.168.1.1
                    sessionId: session1234567890
                  metadata:
                    k1: v1
                    userData: my user data
                    k2: v2
                    plain: some plain text
                    k3: v3
                  paymentMethods:
                    directDebit:
                      account:
                        number: DE89370400440532013000
                        code: PBNKDEFFXXX
                        bankName: Bank of Example
                        accountHolderName: John Doe
              PayPal:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: 6B29FC40-1067-B31D
                  amount:
                    value: 50000
                    currency: EUR
                    taxTotal: 1500
                  language: DE
                  billingAddress:
                    firstName: John
                    lastName: Doe
                    streetName: Main Street
                    streetNumber: '123'
                    city: Springfield
                    postalCode: '12345'
                    country: US
                    addressLine2: Apt 101
                    addressLine3: Building 1
                    state: IL
                  shipping:
                    address:
                      addressLine2: Apt 202
                      addressLine3: Building 2
                      city: Springfield
                      postalCode: '12346'
                      state: IL
                      country: US
                    type: CLICK_AND_COLLECT
                  statementDescriptor: Online Purchase
                  customerInfo:
                    merchantCustomerId: 6B29FC40-1067-B31D
                    customerType: individual
                    firstName: John
                    lastName: Doe
                    email: test@gmail.com
                    phone:
                      countryCode: '138'
                      number: '5551234567'
                    birthDate: '1985-06-15'
                  browserInfo:
                    acceptHeaders: application/json, text/javascript, */*; q=0.01
                    ipAddress: 192.168.1.1
                    sessionId: session1234567890
                  metadata:
                    k1: v1
                    userData: my user data
                    k2: v2
                    plain: some plain text
                    k3: v3
                  paymentMethods:
                    payPal:
                      accountId: merchant@example.com
                      payerId: P1234567890
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/creditExResponse'
              examples:
                Default:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 6c7c66e5352241c19d82c175a01f713a
                    xId: 93c4093c6d3644fcb6c60484f7a831fd
                    transId: 98582271-63d2-4b90-9422-5fb597a4c41d
                    refNr: 36088922-348d-4a45-8fd0-5d5200100a2c
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                Card:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: 200
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      card:
                        providerResponseCode: APPROVED
                        providerResponseText: Transaction successfully synchronized.
                        providerTransactionId: CH1234567890XYZ
                        providerApprovalCode: 200
                PayPal:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: trans-id-123
                    status: OK
                    responseCode: 200
                    responseDescription: success
                    refNr: 6729FC4093DA010662DA
                    metadata:
                      k1: v1
                      userData: my user data
                      k2: v2
                      plain: some plain text
                      k3: v3
                    paymentMethods:
                      payPal:
                        providerResponseCode: 200
                        feeRefundAmount: 1
                        grossRefundAmount: 50
                        netRefundAmount: 49
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '422':
          description: >-
            Unprocessable Entity,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/creditExErrorResponse'
              examples:
                Card:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: FAILED
                    responseCode: '422'
                    responseDescription: Payment could not be processed.
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      card:
                        providerResponseCode: '51'
                        providerResponseText: Invalid card number
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/getByPayId/{id}:
    get:
      tags:
        - Payments
      summary: Retrieve payment details by Payment ID
      description: Returns all details about existing payment.
      operationId: getPaymentDetailsByPaymentId
      parameters:
        - name: id
          in: path
          description: ID of payment
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paymentDetailsResponse'
              examples:
                ApplePay:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: APPLEPAY
                      applePay:
                        schemeReferenceId: abc123xyz456
                Card:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: CARD
                      card:
                        cardholderName: John Doe
                        pseudoCardNumber: '1234567890123456'
                        first6Digits: '123456'
                        last4Digits: '7890'
                        expiryDate: 01.01.2025
                        brand: visa
                        product: Business Premium Debit
                        source: CREDIT
                        type: Gold
                        issuer: Bank of Example
                        country: US
                        bin:
                          accountBin: 123456
                          accountRangeLow: 100000
                          accountRangeHigh: 999999
                        versioningData:
                          threeDSServerTransId: server12345
                          acsStartProtocolVersion: '1.0'
                          acsEndProtocolVersion: '2.1'
                          dsStartProtocolVersion: '1.0'
                          dsEndProtocolVersion: '2.1'
                          threeDSMethodDataForm: POST
                          threeDSMethodUrl: https://method-url.com
                          threeDSMethodData:
                            threeDSMethodNotificationUrl: https://notification-url.com
                            threeDSServerTransId: server12345
                        fraudData:
                          zone: US
                          ipZone: US
                          ipZoneA2: US
                          ipState: California
                          ipCity: San Francisco
                          ipLongitude: '-122.4194'
                          ipLatitude: '37.7749'
                          fsStatus: ACCEPT
                          fsCode: <0100>
                        authenticationData:
                          threeDSServerTransId: server12345
                          acsChallengeMandated: true
                          acsDecConInd: false
                          acsOperatorId: operator123
                          acsReferenceNumber: ref12345
                          acsRenderingType:
                            acsInterface: HTML
                            acsUiTemplate: template1
                          acsSignedContent: signedContentData
                          acsTransId: acsTrans123
                          acsURL: https://acs-url.com
                          authenticationType: 3DS2
                          authenticationValue: authValue123
                          broadInfo: info
                          cardholderInfo: holder123
                          dsReferenceNumber: dsRef123
                          dsTransId: dsTrans123
                          eci: '05'
                          messageExtension: extensionData
                          messageType: Request
                          messageVersion: '2.1'
                          sdkTransId: sdkTrans123
                          transStatus: Success
                          transStatusReason: Transaction approved
                          whiteListStatus: Approved
                          whiteListStatusSource: Issuer
                          challengeRequest:
                            threeDSServerTransId: server12345
                            acsTransId: acsTrans123
                            challengeWindowSize: '04'
                            messageVersion: '2.1'
                            messageType: Challenge
                          base64EncodedChallengeRequest: encodedData
                          threeDSCompInd: 'Y'
                        schemeReferenceId: xyz123456
                        providerApprovalCode: APPROVED123
                        providerResponseCode: '00'
                        providerResponseMessage: Transaction approved
                        providerTransactionId: txn123456789
                        providerToken: token123456
                        providerMerchantId: merchant123
                        providerTerminalId: terminal123
                        providerOrderId: order123456
                        issuerResponseCode: '00'
                        issuerResponseMessage: Success
                Bancontact:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: BANCONTACT
                      bancontact:
                        paymentPurpose: Purchase of goods
                        account:
                          paymentGuarantee: FULL
                        providerResponseText: Transaction approved
                        providerTransactionId: txn123456789
                        first6Digits: '123456'
                        last4Digits: '7890'
                        expiryDate: 01.01.2025
                        checkoutToken: card-token-abc123xyz456
                Boleto:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: BOLETO
                      boleto:
                        paymentSlipLink: https://example.com/payment-form?transactionId=12345
                DirectDebit:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: DIRECTDEBIT
                      directDebit:
                        method: ELV
                        service: Subscription Service
                        sellingPoint: Online Store
                        mandateId: SEPA123456789
                        dateOfSignature: 15.02.2025
                        account:
                          code: DE123456789
                          number: DE89370400440532013000
                          pseudoBankNumber: '9876543210'
                          accountHolderName: John Doe
                          bankName: Bank of Example
                        providerResponseCode: '00'
                        providerResponseText: Transaction successful
                GooglePay:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: GOOGLEPAY
                      googlePay:
                        schemeReferenceId: abc123xyz456
                Ideal:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: IDEAL
                      ideal:
                        account:
                          bankName: Sample Bank
                          accountHolderName: John Doe
                          number: NL20INGB0001234567
                          code: INGBNL2A
                          paymentGuarantee: VALIDATED
                        paymentPurpose: Payment for Online Shopping
                        providerResponseText: Transaction Successful
                        providerTransactionId: trans1234567890
                Klarna:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: KLARNA
                      klarna:
                        subType: PAY_LATER
                        providerResponseCode: '200'
                        providerResponseText: Transaction successful
                        providerToken: consumerToken12345
                        providerTransactionId: klarnaRef123456
                PayPal:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: PAYPAL
                      payPal:
                        orderId: PAY123456789
                        providerResponseCode: '200'
                        payerStatus: VERIFIED
                        infoText: Transaction successful
                        payerId: A1B2C3D4E5F6
                        grossAmount: '100.00'
                        feeAmount: '2.50'
                        settleAmount: '97.50'
                        taxAmount: '5.00'
                        exchangeRate: '1.12'
                        mcFee: '2.50'
                        mcGross: '102.50'
                        providerCaptureId: CAPTURE123456789
                pfConnect:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: PFCONNECT
                      pfConnect:
                        providerResponseCode: '200'
                        providerResponseText: Transaction successful
                        applicationId: PFConnect-12345-ABCDE
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      type: RATEPAY
                      ratepay:
                        authorizationExpiry: '2025-05-22T14:30:00+02:00'
                        account:
                          bankName: Sample Bank
                          code: DE1234567890
                          number: DE89370400440532013000
                          accountHolderName: John Doe
                        paymentReference: 'Invoice #12345'
                        providerTransactionId: txn-9876543210
                Riverty:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: RIVERTY
                      riverty:
                        providerResponseCode: 200
                        providerResponseText: Transaction successful
                        subType: INVOICE
                        billingCareOf: Jane c/o John
                        shippingCareOf: John c/o Jane
                        account:
                          code: DE123456789
                          number: DE12345678901234567890
                        profileNumber: PROF123456
                        orderRisk:
                          channelType: INTERNET
                          deliveryType: NORMAL
                          ticketDeliveryMethod: POST
                        customerRisk:
                          existingCustomer: true
                          verifiedCustomerIdentification: true
                          marketingOptIn: false
                          customerSince: 01.01.2020
                          customerClassification: VIP
                          acquistionChannel: ADVERTISEMENT
                          hasCustomerCard: true
                          customerCardSince: 05.05.2021
                          customerCardClassification: Gold Member
                          profileTrackingId: TRACK123456
                          numberOfTransactions: 15
                          customerIndividualScore: 85
                          userAgent: >-
                            Mozilla/5.0 (Windows NT 10.0; Win64; x64)
                            AppleWebKit/537.36 (KHTML, like Gecko)
                            Chrome/58.0.3029.110 Safari/537.36
                          amountOfTransactions: 5000
                          otherpaymentMethod: false
        '400':
          description: Invalid ID supplied
        '404':
          description: Payment not found
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/getByTransId/{id}:
    get:
      tags:
        - Payments
      summary: Retrieve payment details by Transaction ID
      description: >-
        This endpoint is used to retrieve payment details with the Transaction
        ID (transId).
      operationId: getPaymentDetailsByTransactionId
      parameters:
        - name: id
          in: path
          description: ID of transaction
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paymentDetailsResponse'
              examples:
                ApplePay:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: APPLEPAY
                      applePay:
                        schemeReferenceId: abc123xyz456
                Card:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: CARD
                      card:
                        cardholderName: John Doe
                        pseudoCardNumber: '1234567890123456'
                        first6Digits: '123456'
                        last4Digits: '7890'
                        expiryDate: 01.01.2025
                        brand: visa
                        product: Business Premium Debit
                        source: CREDIT
                        type: Gold
                        issuer: Bank of Example
                        country: US
                        bin:
                          accountBin: 123456
                          accountRangeLow: 100000
                          accountRangeHigh: 999999
                        versioningData:
                          threeDSServerTransId: server12345
                          acsStartProtocolVersion: '1.0'
                          acsEndProtocolVersion: '2.1'
                          dsStartProtocolVersion: '1.0'
                          dsEndProtocolVersion: '2.1'
                          threeDSMethodDataForm: POST
                          threeDSMethodUrl: https://method-url.com
                          threeDSMethodData:
                            threeDSMethodNotificationUrl: https://notification-url.com
                            threeDSServerTransId: server12345
                        fraudData:
                          zone: US
                          ipZone: US
                          ipZoneA2: US
                          ipState: California
                          ipCity: San Francisco
                          ipLongitude: '-122.4194'
                          ipLatitude: '37.7749'
                          fsStatus: ACCEPT
                          fsCode: <0100>
                        authenticationData:
                          threeDSServerTransId: server12345
                          acsChallengeMandated: true
                          acsDecConInd: false
                          acsOperatorId: operator123
                          acsReferenceNumber: ref12345
                          acsRenderingType:
                            acsInterface: HTML
                            acsUiTemplate: template1
                          acsSignedContent: signedContentData
                          acsTransId: acsTrans123
                          acsURL: https://acs-url.com
                          authenticationType: 3DS2
                          authenticationValue: authValue123
                          broadInfo: info
                          cardholderInfo: holder123
                          dsReferenceNumber: dsRef123
                          dsTransId: dsTrans123
                          eci: '05'
                          messageExtension: extensionData
                          messageType: Request
                          messageVersion: '2.1'
                          sdkTransId: sdkTrans123
                          transStatus: Success
                          transStatusReason: Transaction approved
                          whiteListStatus: Approved
                          whiteListStatusSource: Issuer
                          challengeRequest:
                            threeDSServerTransId: server12345
                            acsTransId: acsTrans123
                            challengeWindowSize: '04'
                            messageVersion: '2.1'
                            messageType: Challenge
                          base64EncodedChallengeRequest: encodedData
                          threeDSCompInd: 'Y'
                        schemeReferenceId: xyz123456
                        providerApprovalCode: APPROVED123
                        providerResponseCode: '00'
                        providerResponseMessage: Transaction approved
                        providerTransactionId: txn123456789
                        providerToken: token123456
                        providerMerchantId: merchant123
                        providerTerminalId: terminal123
                        providerOrderId: order123456
                        issuerResponseCode: '00'
                        issuerResponseMessage: Success
                Bancontact:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: BANCONTACT
                      bancontact:
                        paymentPurpose: Purchase of goods
                        account:
                          paymentGuarantee: FULL
                        providerResponseText: Transaction approved
                        providerTransactionId: txn123456789
                        first6Digits: '123456'
                        last4Digits: '7890'
                        expiryDate: 01.01.2025
                        checkoutToken: card-token-abc123xyz456
                Boleto:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: BOLETO
                      boleto:
                        paymentSlipLink: https://example.com/payment-form?transactionId=12345
                DirectDebit:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: DIRECTDEBIT
                      directDebit:
                        method: ELV
                        service: Subscription Service
                        sellingPoint: Online Store
                        mandateId: SEPA123456789
                        dateOfSignature: 15.02.2025
                        account:
                          code: DE123456789
                          number: DE89370400440532013000
                          pseudoBankNumber: '9876543210'
                          accountHolderName: John Doe
                          bankName: Bank of Example
                        providerResponseCode: '00'
                        providerResponseText: Transaction successful
                GooglePay:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: GOOGLEPAY
                      googlePay:
                        schemeReferenceId: abc123xyz456
                Ideal:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: IDEAL
                      ideal:
                        account:
                          bankName: Sample Bank
                          accountHolderName: John Doe
                          number: NL20INGB0001234567
                          code: INGBNL2A
                          paymentGuarantee: VALIDATED
                        paymentPurpose: Payment for Online Shopping
                        providerResponseText: Transaction Successful
                        providerTransactionId: trans1234567890
                Klarna:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: KLARNA
                      klarna:
                        subType: PAY_LATER
                        providerResponseCode: '200'
                        providerResponseText: Transaction successful
                        providerToken: consumerToken12345
                        providerTransactionId: klarnaRef123456
                PayPal:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: PAYPAL
                      payPal:
                        orderId: PAY123456789
                        providerResponseCode: '200'
                        payerStatus: VERIFIED
                        infoText: Transaction successful
                        payerId: A1B2C3D4E5F6
                        grossAmount: '100.00'
                        feeAmount: '2.50'
                        settleAmount: '97.50'
                        taxAmount: '5.00'
                        exchangeRate: '1.12'
                        mcFee: '2.50'
                        mcGross: '102.50'
                        providerCaptureId: CAPTURE123456789
                pfConnect:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: PFCONNECT
                      pfConnect:
                        providerResponseCode: '200'
                        providerResponseText: Transaction successful
                        applicationId: PFConnect-12345-ABCDE
                Ratepay:
                  value:
                    merchantId: MerchantIdTest
                    payId: 6B29FC4093DD010662DE
                    xId: 6B29FC4093DD010662DB
                    transId: 6B29FC4093DD010662DC
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: 6C21FC4093DD0108765
                    paymentMethods:
                      type: RATEPAY
                      ratepay:
                        authorizationExpiry: '2025-05-22T14:30:00+02:00'
                        account:
                          bankName: Sample Bank
                          code: DE1234567890
                          number: DE89370400440532013000
                          accountHolderName: John Doe
                        paymentReference: 'Invoice #12345'
                        providerTransactionId: txn-9876543210
                Riverty:
                  value:
                    amount:
                      currency: EUR
                      value: 1000
                    externalIntegrationId: 12345-abcde-67890-fghij
                    language: en
                    payId: ed7773c09f314c45b2a0de47a1994e1d
                    xId: 86a8198cc9da4b4d9fbcdb15a5ddd6ca
                    transId: 20240103-121913-554
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                    refNr: refNr01
                    metadata:
                      userData: my user data
                      plain: some plain text
                      key1: value1
                      key2: value2
                    paymentMethods:
                      type: RIVERTY
                      riverty:
                        providerResponseCode: 200
                        providerResponseText: Transaction successful
                        subType: INVOICE
                        billingCareOf: Jane c/o John
                        shippingCareOf: John c/o Jane
                        account:
                          code: DE123456789
                          number: DE12345678901234567890
                        profileNumber: PROF123456
                        orderRisk:
                          channelType: INTERNET
                          deliveryType: NORMAL
                          ticketDeliveryMethod: POST
                        customerRisk:
                          existingCustomer: true
                          verifiedCustomerIdentification: true
                          marketingOptIn: false
                          customerSince: 01.01.2020
                          customerClassification: VIP
                          acquistionChannel: ADVERTISEMENT
                          hasCustomerCard: true
                          customerCardSince: 05.05.2021
                          customerCardClassification: Gold Member
                          profileTrackingId: TRACK123456
                          numberOfTransactions: 15
                          customerIndividualScore: 85
                          userAgent: >-
                            Mozilla/5.0 (Windows NT 10.0; Win64; x64)
                            AppleWebKit/537.36 (KHTML, like Gecko)
                            Chrome/58.0.3029.110 Safari/537.36
                          amountOfTransactions: 5000
                          otherpaymentMethod: false
        '400':
          description: Invalid ID supplied
        '404':
          description: Payment not found
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/{id}:
    patch:
      tags:
        - Payments
      summary: Update payment details
      description: Update details about existing payment.
      operationId: updatePaymentDetails
      parameters:
        - name: id
          in: path
          description: PayId assigned by Computop Paygate in the initial request.
          required: true
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          description: >-
            A unique key provided by you to ensure that a particular operation
            is not processed multiple times in case of retries.
          required: false
          schema:
            type: string
      requestBody:
        description: Update the details of an existing payment.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateRequest'
            examples:
              Default:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  amount:
                    value: 1000
                    currency: USD
                  refNr: unique-reference-number-91011
                  billingAddress:
                    streetName: Main St
                    streetNumber: '123'
                    city: New York
                    postalCode: '10001'
                    country: USA
                    addressLine2: Suite 4B
                    addressLine3: Building 12
                    state: NY
                  shipping:
                    address:
                      streetName: Park Ave
                      streetNumber: '456'
                      city: New York
                      postalCode: '10002'
                      country: USA
                      addressLine2: Apt 7C
                      addressLine3: Apt 4B
                      state: NY
                    type: CLICK_AND_COLLECT
                  eventToken: UPDATE_ORDER_DETAILS
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updateResponse'
              examples:
                Default:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 6c7c66e5352241c19d82c175a01f713a
                    xId: 93c4093c6d3644fcb6c60484f7a831fd
                    transId: 98582271-63d2-4b90-9422-5fb597a4c41d
                    refNr: 36088922-348d-4a45-8fd0-5d5200100a2c
                    status: OK
                    responseCode: '00000000'
                    responseDescription: success
                Klarna:
                  value:
                    payId: 1234567890abcdef
                    merchantId: merchant_987654321
                    transId: 6B29FC40-1067-B31D-00DD010662DA
                    xId: xId_67890
                    refNr: ref_54321
                    status: AUTHORIZED
                    responseDescription: Transaction approved.
                    responseCode: 200
                    paymentMethods:
                      klarna:
                        providerResponseCode: '200'
                        providerResponseText: Klarna payment approved.
                PayPal:
                  value:
                    payId: 1234567890abcdef
                    merchantId: merchant_987654321
                    transId: 6B29FC40-1067-B31D-00DD010662DA
                    xId: xId_67890
                    refNr: ref_54321
                    status: AUTHORIZED
                    responseDescription: Transaction approved.
                    responseCode: 200
                    paymentMethods:
                      payPal:
                        providerResponseCode: 200
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '404':
          description: Payment not found
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
  /payments/links:
    post:
      tags:
        - Payments
      summary: Create payment link
      description: >-
        This endpoint allows you to generate a payment link that can be shared
        with customers via email, SMS, or other channels. When customers click
        the link, they are redirected to a hosted payment page where they can
        select their preferred payment method and complete the transaction.
      operationId: createPaymentLink
      parameters:
        - name: Idempotency-Key
          in: header
          description: >-
            A unique key provided by you to ensure that a particular operation
            is not processed multiple times in case of retries.
          required: false
          schema:
            type: string
      requestBody:
        description: Create payment link
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createLinkRequest'
            examples:
              Example:
                value:
                  transId: 6B29FC40-1067-B31D-00DD010662DA
                  refNr: '24235345432'
                  amount:
                    currency: EUR
                    value: 10000
                  language: de
                  template:
                    name: hpp_template
                    customFields:
                      customField1: Field 1 Data
                      customField2: Field 2 Data
                      customField3: Field 3 Data
                      customField4: Field 4 Data
                      customField5: Field 5 Data
                      customField6: Field 6 Data
                      customField7: Field 7 Data
                      customField8: Field 8 Data
                      customField9: Field 9 Data
                      customField10: Field 10 Data
                      customField11: Field 11 Data
                      customField12: Field 12 Data
                      customField13: Field 13 Data
                      customField14: Field 14 Data
                  captureMethod:
                    type: AUTOMATIC
                  order:
                    merchantReference: 112-445-34567
                    numberOfArticles: 1
                    creationDate: '2025-03-31T11:58:37Z'
                    invoiceId: 555-333-2222
                    items:
                      - id: '1'
                        sku: 19-402-DEU
                        name: BatteryPowerPack
                        quantity: 1
                        quantityUnit: pcs
                        taxRate: 0
                        netPrice: 1000
                        grossPrice: 1000
                        totalTaxAmount: 0
                        totalDiscountAmount: 0
                        description: BatteryPowerPack
                        type: physical
                        productInfo:
                          brand: Intel
                          categories:
                            - Electronics Store
                            - Computers
                            - Desktops
                          globalTradeItemNumber: EAN
                          manufacturerPartNumber: BOXNUC5CPYA
                          imageUrl: https://www.exampleobjects.com/logo.png
                          productUrl: https://www.estore.com/products/f2a8d7e34
                  urls:
                    return: https://my.callback.url.com/success
                    cancel: https://my.callback.url.com/cancel
                    webhook: https://my.callback.url.com/webhook
                  billingAddress:
                    streetName: Schwarzenbergstr
                    streetNumber: '4'
                    city: Bamberg
                    country: DEU
                    postalCode: '96050'
                  shipping:
                    address:
                      streetName: Schwarzenbergstr
                      streetNumber: '4'
                      city: Bamberg
                      country: DEU
                      postalCode: '96050'
                  statementDescriptor: gadgets shop
                  customerInfo:
                    merchantCustomerId: cus_1234567890abcdef
                    customerType: individual
                    firstName: Max
                    lastName: Mustermann
                    email: customer@example.com
                    phone:
                      countryCode: '+49'
                      number: '1236547890'
                    salutation: Ms
                    title: Dr
                    gender: female
                    maidenName: Mustermann
                    middleName: sam
                    birthDate: '2001-01-01'
                    birthPlace: Bamberg
                    socialSecurityNumber: '123443534'
                  channel: ECOM
                  allowedPaymentMethods:
                    - CARD
                    - BOLETO
                    - DIRECTDEBIT
                    - BANCONTACT
                    - KLARNA
                    - PAYPAL
                    - WERO
                  paymentMethods:
                    card:
                      subType:
                        - VISA
                        - MASTERCARD
                      template:
                        name: card_template
                        fontSize: 11
                        textColor: '#FFFFFF'
                        customFields:
                          customField1: Field 1 Data
                          customField2: Field 2 Data
                          customField3: Field 3 Data
                          customField4: Field 4 Data
                          customField5: Field 5 Data
                          customField6: Field 6 Data
                          customField7: Field 7 Data
                          customField8: Field 8 Data
                          customField9: Field 9 Data
                          customField10: Field 10 Data
                          customField11: Field 11 Data
                          customField12: Field 12 Data
                          customField13: Field 13 Data
                          customField14: Field 14 Data
                    boleto:
                      service: BatteryPowerPack
                    directDebit:
                      method: ELV
                      debitDelay: 2
                      sellingPoint: Online Store
                      template:
                        name: direct_debit_template
                        backgroundColor: '#0000FF'
                        backgroundImage: https://example.com/background.jpg
                        textColor: '#FFFFFF'
                        fontName: Arial
                        fontSize: 14
                        tableWidth: 600
                        tableHeight: 400
                        customFields:
                          customField1: Field 1 Data
                          customField2: Field 2 Data
                          customField3: Field 3 Data
                          customField4: Field 4 Data
                          customField5: Field 5 Data
                          customField6: Field 6 Data
                          customField7: Field 7 Data
                          customField8: Field 8 Data
                          customField9: Field 9 Data
                          customField10: Field 10 Data
                          customField11: Field 11 Data
                          customField12: Field 12 Data
                          customField13: Field 13 Data
                          customField14: Field 14 Data
                    bancontact:
                      sellingPoint: Online Store
                      account:
                        accountHolderName: Max Mustermann
                      checkoutToken: UlkWjd0MDNwUWs2r45fwf43
                    klarna:
                      subType:
                        - PAY_NOW
                        - PAY_LATER
                      layout:
                        showSubTotalDetail: HIDE
                        logoUrl: https://example.com/logo.svg
                        pageTitle: Secure Payment with Klarna
                      accountName: '0'
                      enhancedData:
                        productCategory: Test product category
                        productName: Test product name
                    payPal:
                      accountId: customer@example.com
                      hideAddress: false
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createLinkResponse'
              examples:
                Test Environment:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 5ebc6f6e883447d59662059ececc8602
                    xId: af67575bc93547cc8452dda13197a8cd
                    transId: '202434533'
                    status: REQUEST
                    responseDescription: REQUEST
                    responseCode: '0'
                    url: https://axepta-uat.link/oKsJu
                    orderId: 4b709bb82d5741aebb432c8ad5ff9a76
                    qrCode: data:image/png;base64,
                    _links:
                      redirect:
                        href: >-
                          https://test.computop-paygate.com?token=7186c6fbec6d43d3b1b731dff5497ffe
                        type: text/html
                Live Environment:
                  value:
                    merchantId: CT_Logeecom_test
                    payId: 5ebc6f6e883447d59662059ececc8602
                    xId: af67575bc93547cc8452dda13197a8cd
                    transId: '202434533'
                    status: REQUEST
                    responseDescription: REQUEST
                    responseCode: '0'
                    url: https://axepta-uat.link/oKsJu
                    orderId: 4b709bb82d5741aebb432c8ad5ff9a76
                    qrCode: data:image/png;base64,
                    _links:
                      redirect:
                        href: >-
                          https://computop-paygate.com?token=7186c6fbec6d43d3b1b731dff5497ffe
                        type: text/html
        '400':
          description: >-
            Bad request,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validationErrorResponse'
        '422':
          description: >-
            Unprocessable Entity,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '500':
          description: >-
            Internal Server Error,
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverErrorResponse'
      security:
        - oAuth2ClientCredentials: []
        - basicAuth: []
components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://www.computop-paygate.com/authorization/oauth/token
          scopes: {}
    basicAuth:
      type: http
      scheme: basic
  schemas:
    authorizationRequest:
      type: object
      title: AuthorizationServiceRequest
      required:
        - client_id
        - client_secret
        - grant_type
      properties:
        grant_type:
          type: string
          enum:
            - client_credentials
        client_id:
          type: string
          description: Client ID provided by Computop. This is your merchant ID
        client_secret:
          type: string
          description: Client secret provided by Computop. This is your API key
    authorizationResponse:
      type: object
      title: AuthorizationServiceResponse
      properties:
        access_token:
          type: string
        token_type:
          type: string
          enum:
            - bearer
        expires_in:
          type: number
          description: Token expiry time in seconds
    unauthorizedErrorResponse:
      type: object
      title: UnauthorizedResponse
      required:
        - client_id
        - client_secret
        - grant_type
      properties:
        error:
          type: string
          example: unsupported_grant_type
        error_description:
          type: string
          example: The specified 'grant_type' is not supported.
        error_uri:
          type: string
          example: https://documentation.openiddict.com/errors/ID2032
    serverErrorResponse:
      type: object
      properties:
        responseCode:
          type: string
          example: A specific identifier for the error cause
        responseDescription:
          type: string
          example: A brief message explaining the error
    amount:
      type: object
      required:
        - currency
        - value
      properties:
        value:
          type: number
          description: >-
            Total order amount in the smallest currency unit, including taxes,
            shipping costs, discounts, etc.
        currency:
          type: string
          description: 3-character ISO currency code.
        taxTotal:
          type: number
          description: Total tax amount.
        netItemTotal:
          type: number
          description: >-
            Total net amount of the products as part of the order, excluding
            shipping costs.
        netShippingAmount:
          type: number
          description: Net shipping costs.
        grossShippingAmount:
          type: number
          description: Gross shipping costs.
        netDiscount:
          type: number
          description: Net discount amount.
        grossDiscount:
          type: number
          description: Gross discount amount.
    customFields:
      type: object
      description: >-
        Customizable fields that can store additional data or display specific
        information on the Hosted Payment Page template.
      properties:
        customField1:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField2:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField3:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField4:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField5:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField6:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField7:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField8:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField9:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField10:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField11:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField12:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField13:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField14:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
    template:
      type: object
      properties:
        name:
          type: string
          description: Name of template to customize the Hosted Payment Page.
        customFields:
          $ref: '#/components/schemas/customFields'
    captureMethod:
      title: captureMethod
      type: object
      properties:
        type:
          type: string
          description: Specifies the type of capture method being used.
          enum:
            - AUTOMATIC
            - MANUAL
            - DELAYED
        delayed:
          type: object
          properties:
            delayedHours:
              description: >-
                Defines the delay period, in hours, before an authorized payment
                is automatically captured. Required if type is delayed. Minimum:
                1, maximum: 696
              type: number
              minimum: 1
              maximum: 696
    credentialOnFileForHosted:
      title: credentialOnFile
      type: object
      properties:
        type:
          type: string
          enum:
            - RECURRING
            - UNSCHEDULED
            - INSTALLMENTS
          description: Indicates the type of credential-on-file transaction.
        recurring:
          type: object
          properties:
            useCase:
              type: string
              description: Describes the use case for the unscheduled transaction.
              enum:
                - FIXED
                - FLEXIBLE_AMOUNT
                - FLEXIBLE_FREQUENCY
            frequency:
              type: string
              description: Defines the frequency of recurring payments.
              enum:
                - DAILY
                - WEEKLY
                - MONTHLY
                - YEARLY
            startDate:
              type: string
              format: date
              description: >-
                The date when the recurring payment schedule begins in
                YYYY-MM-DD format.
            expiryDate:
              type: string
              format: date
              description: >-
                The date when the recurring payment schedule ends or expires in
                YYYY-MM-DD format.
        unscheduled:
          type: object
          properties:
            subType:
              type: string
              description: >-
                Specifies the sub-type of an unscheduled credential-on-file
                transaction.
              enum:
                - CIT
                - MIT
        installments:
          type: object
          properties:
            total:
              type: number
              description: Total number of installments for a purchase.
            curIdx:
              type: number
              description: >-
                The index or sequence number of the current installment in the
                series.
            purchaseAmount:
              type: number
              description: The total purchase amount being paid in installments.
            frequency:
              type: string
              description: >-
                The frequency of installment payments, such as "daily",
                "weekly", "monthly", or "yearly".
              enum:
                - DAILY
                - WEEKLY
                - BIWEEKLY
                - MONTHLY
                - BIMONTHLY
                - QUARTERLY
                - YEARLY
            expiryDate:
              type: string
              format: date
              description: >-
                The date when the installment plan ends or expires in YYYY-MM-DD
                format.
    productInfo:
      type: object
      properties:
        brand:
          type: string
          description: The brand name associated with this product.
        categories:
          type: array
          description: The product's category path as used in the your webshop
          items:
            type: string
        globalTradeItemNumber:
          type: string
          description: The product's Global Trade Item Number (GTIN).
          enum:
            - EAN
            - ISBN
            - UPC
        manufacturerPartNumber:
          type: string
          description: >-
            The product's Manufacturer Part Number (MPN), which - together with
            the brand - uniquely identifies a product. Only submit MPNs assigned
            by a manufacturer and use the most specific MPN possible.
        imageUrl:
          type: string
          format: uri
          description: A URL pointing to an image of this product.
        productUrl:
          type: string
          format: uri
          description: A URL linking to a detailed product page on the merchant's website.
    order:
      type: object
      properties:
        merchantReference:
          type: string
          description: A unique identifier for the order, assigned by your system.
        numberOfArticles:
          type: number
          description: The total number of articles (items) included in the order.
        creationDate:
          type: string
          format: date-time
          description: The date and time when the order was created.
        invoiceId:
          type: string
          description: ID of the invoice generated for the order.
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: A unique identifier for the specific item in the order.
              sku:
                type: string
                description: >-
                  The Stock Keeping Unit (SKU) of the item, used to uniquely
                  identify the product within the merchant's inventory.
              name:
                type: string
                description: The name or title of the item being purchased.
              type:
                type: string
                description: >-
                  The type of item, such as "physical", "digital", "discount",
                  "sales_tax", "shipping_fee", "discount", "gift_card",
                  "store_credit", etc.
              quantity:
                type: number
                description: The quantity of this item being purchased in the order.
              quantityUnit:
                type: string
                description: >-
                  The unit of measurement for the quantity, such as "pcs", "kg",
                  or "liters".
              taxRate:
                type: number
                description: >-
                  The tax rate applied to this item. Percentage sign must be
                  replaced with two zeros. For example: A tax rate of 25% should
                  be sent as 2500.
              netPrice:
                type: number
                description: >-
                  The net price of a single unit of this item, excluding tax and
                  discounts.
              grossPrice:
                type: number
                description: >-
                  The gross price of a single unit of this item, including taxes
                  but excluding discounts.
              totalDiscountAmount:
                type: number
                description: >-
                  The total discount amount applied to this item across all
                  units.
              totalTaxAmount:
                type: number
                description: >-
                  The total tax amount applied to this item across all units.
                  The value maybe negative if type is discount.
              merchantData:
                type: string
                description: >-
                  Additional data or metadata provided by the merchant about
                  this item.
              description:
                type: string
                description: Detailed description of the item.
              marketplaceSellerId:
                type: string
                description: An identifier for the seller in a marketplace context.
              lineNumber:
                type: number
                description: >-
                  A sequential line number assigned to this item in the order
                  for reference purposes.
              merchantProductType:
                type: string
                description: A classification or type assigned to this product by you.
              googleProductCategory:
                type: string
                description: >-
                  Indicates the category of the item based on the Google product
                  taxonomy.
              googleProductCategoryId:
                type: number
                description: Google product category ID.
              groupId:
                type: string
                description: An identifier used to group related items together.
              taxCategory:
                type: string
                description: Specifies the tax category applicable to this item.
              additionalDescription:
                type: string
                description: >-
                  Any additional descriptive information about this item not
                  covered elsewhere.
              productInfo:
                $ref: '#/components/schemas/productInfo'
    sessionUrls:
      type: object
      required:
        - return
        - cancel
        - webhook
      properties:
        return:
          type: string
          format: uri
          description: >-
            The URL to which the customer is redirected after successfully
            completing the payment process.
        cancel:
          type: string
          format: uri
          description: >-
            The URL to which the customer is redirected if they cancel the
            payment process before completion.
        webhook:
          type: string
          format: uri
          description: >-
            The URL endpoint on the merchant's server that receives asynchronous
            notifications about the outcome of the payment.
    billingAddress:
      type: object
      properties:
        streetName:
          type: string
          description: Street name of billing address.
        streetNumber:
          type: string
          description: Street number of billing address.
        addressLine2:
          type: string
          description: Address line 2 of billing address.
        addressLine3:
          type: string
          description: Address line 3 of billing address.
        city:
          type: string
          description: City of billing address.
        state:
          type: string
          description: State of billing address.
        country:
          type: string
          description: 3 character ISO country code of billing address.
        postalCode:
          type: string
          description: Postal code of billing address.
    shippingAddress:
      type: object
      title: address
      properties:
        firstName:
          type: string
          description: Shipping first name.
        lastName:
          type: string
          description: Shipping last name.
        companyName:
          type: string
          description: >-
            Shipping company name. Applicable, when the entity where the goods
            are being delivered is a business entity.
        streetName:
          type: string
          description: Shipping street.
        streetNumber:
          type: string
          description: Shipping street number.
        addressLine2:
          type: string
          description: Address line 2 of shipping address.
        addressLine3:
          type: string
          description: Address line 3 of shipping address.
        city:
          type: string
          description: Shipping city.
        state:
          type: string
          description: State of shipping address.
        country:
          type: string
          description: 3 character ISO country code of shipping address.
        postalCode:
          type: string
          description: Shipping postal code.
    shippingAddressCreatePayment:
      type: object
      title: shipping
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/shippingAddress'
            - type: object
        type:
          type: string
          description: Shipping method.
          enum:
            - CLICK_AND_COLLECT
    customerInfo:
      type: object
      description: Information about the customer.
      required:
        - email
      properties:
        merchantCustomerId:
          type: string
          description: >-
            A unique identifier for the customer, assigned by the merchant's
            system.
        customerType:
          type: string
          description: Specifies the type of customer, such as "individual" or "business".
        firstName:
          type: string
          description: First name of the customer.
        lastName:
          type: string
          description: Last name (surname) of the customer.
        email:
          type: string
          description: Email address of the customer.
        phone:
          type: object
          description: Phone number of the customer.
          properties:
            countryCode:
              type: string
              description: Country Code/Area code of the phone number.
            number:
              type: string
              description: Phone number of the customer.
        salutation:
          type: string
          description: >-
            Salutation used to address the customer, such as "Mr", "Mrs", "Miss
            ".
        title:
          type: string
          description: >-
            Any additional title or designation associated with the customer,
            such as "Dr", etc.
        gender:
          type: string
          description: Gender of the customer.
        maidenName:
          type: string
          description: Maiden name of the customer.
        middleName:
          type: string
          description: Middle name of the customer.
        birthDate:
          type: string
          format: date
          description: Birth date of the customer in YYYY-MM-DD format.
        birthPlace:
          type: string
          description: Place of birth of the customer.
        socialSecurityNumber:
          type: string
          description: Customer's Social Security Number.
        taxId:
          type: string
          description: Tax identification number associated with the customer.
        companyName:
          type: string
          description: Name of the company if the customer is a business entity.
        positionOccupied:
          type: string
          description: Position or role occupied by the individual within their company.
        companyRegistrationNumber:
          type: string
          description: >-
            Official registration number of the company in its country of
            incorporation.
        companyVatId:
          type: string
          description: Value Added Tax (VAT) identification number for the company.
        companyLegalForm:
          type: string
          description: The legal form or structure of the company.
    accountInfo:
      type: object
      description: >-
        The account information contains optional information about the customer
        account with the merchant.
      properties:
        id:
          type: string
          description: >-
            The account ID of the cardholder within merchant environment /
            website (e.g. customer number).
        authenticationInfo:
          type: object
          properties:
            method:
              type: string
              description: >-
                This data element specifies the mechanism used by the Cardholder
                to authenticate to the merchant.
              enum:
                - GUEST
                - MERCHANT_CREDENTIALS
                - FEDERATED_ID
                - ISSUER_CREDENTIALS
                - THIRD_PARTY_AUTHENTICATION
                - FIDO
                - SIGNED_FIDO
                - SRC_ASSURANCE_DATA
            timestamp:
              type: string
              format: date-time
              description: >-
                Date and time (see RFC 3339) in UTC of the cardholder
                authentication. YYYY-MM-DDTHH:MM:SS+00:00.
            data:
              type: string
              description: >-
                This data element can carry specific authentication attestation
                data such as FIDO if applicable.
        ageIndicator:
          type: string
          description: >-
            Length of time that the customer has had the payment instrument /
            payment account with the merchant.
          enum:
            - GUEST_CHECKOUT
            - THIS_TRANSACTION
            - LESS_THAN_30_DAYS
            - FROM_30_TO_60_DAYS
            - MORE_THAN_60_DAYS
        changeDate:
          type: string
          format: date
          description: >-
            Date that the customer's payment instrument (account) with the
            merchant was last changed, including billing or shipping address,
            new payment account, or new user(s) added (YYYY-MM-DD).
        changeIndicator:
          type: string
          description: >-
            Length of time since the customer’s account information with the
            merchant was last changed, including billing or shipping address,
            new payment account, or new user(s) added.
          enum:
            - THIS_TRANSACTION
            - LESS_THAN_30_DAYS
            - FROM_30_TO_60_DAYS
            - MORE_THAN_60_DAYS
        creationDate:
          type: string
          format: date
          description: >-
            Date that the customer opened the account with the merchant in
            format YYYY-MM-DD.
        passwordChangeDate:
          type: string
          format: date
          description: >-
            Date that customer's account with the merchant had a password change
            or account reset in format YYYY-MM-DD.
        passwordChangeDateIndicator:
          type: string
          description: >-
            Indicates the length of time since the customer account had a
            password change or account reset.
          enum:
            - NO_CHANGE
            - THIS_TRANSACTION
            - LESS_THAN_30_DAYS
            - FROM_30_TO_60_DAYS
            - MORE_THAN_60_DAYS
        numberOfPurchases:
          type: number
          description: Number of purchases in the last 6 months
        addCardAttemptsDay:
          type: number
          description: Number of Add Card attempts in the last 24 hours.
        numberTransactionsDay:
          type: number
          description: >-
            Number of transactions (successful and abandoned) in the previous 24
            hours.
        numberTransactionsYear:
          type: number
          description: >-
            Number of transactions (successful and abandoned) in the previous
            year.
        paymentAccountAge:
          type: string
          format: date
          description: >-
            Date that the payment account was enrolled in the customer account
            in format YYYY-MM-DD.
        paymentAccountAgeIndicator:
          type: string
          description: >-
            Indicates the length of time that the payment account was enrolled
            in the customer account.
          enum:
            - GUEST_CHECKOUT
            - THIS_TRANSACTION
            - LESS_THAN_30_DAYS
            - FROM_30_TO_60_DAYS
            - MORE_THAN_60_DAYS
        shipAddressUsageDate:
          type: string
          format: date
          description: >-
            Date when the shipping address used for this transaction was first
            used in format YYYY-MM-DD.
        shipAddressUsageIndicator:
          type: string
          description: >-
            Indicates when the shipping address used for this transaction was
            first used.
          enum:
            - THIS_TRANSACTION
            - LESS_THAN_30_DAYS
            - FROM_30_TO_60_DAYS
            - MORE_THAN_60_DAYS
        suspiciousAccountActivity:
          type: boolean
          description: >-
            Indicates whether the merchant has experienced suspicious activity
            (including previous fraud) on the customer account.
    fraudData:
      type: object
      title: fraudData
      properties:
        accountInfo:
          $ref: '#/components/schemas/accountInfo'
        deliveryEmail:
          type: string
          description: >-
            For Electronic delivery, the email address to which the merchandise
            was delivered.
        deliveryTimeframe:
          type: string
          description: Indicates the merchandise delivery timeframe.
        giftCardAmount:
          type: number
          description: >-
            For prepaid or gift card purchase, the purchase amount total of
            prepaid or gift cards in smallest currency unit.
        giftCardCount:
          type: number
          description: >-
            For prepaid or gift card purchase, total count of individual prepaid
            or gift cards/codes purchased.
        giftCardCurrency:
          type: number
          description: >-
            For prepaid or gift card purchase, ISO 4217 three-digits numeric
            currency code of the gift card, e.g. 978.
        preOrderDate:
          type: string
          format: date
          description: >-
            For a pre-ordered purchase, the expected date that the merchandise
            will be available (YYYY-MM-DD).
        preOrderPurchaseIndicator:
          type: boolean
          description: >-
            Indicates whether customer is placing an order for merchandise with
            a future availability or release date.
        reorderItemsIndicator:
          type: boolean
          description: >-
            Indicates whether the customer is reordering previously purchased
            merchandise.
        shippingAddressIndicator:
          type: string
          description: >-
            Indicates shipping method chosen for the transaction. If one or more
            items are included in the sale, use the Shipping Indicator code for
            the physical goods, or if all digital goods, use the Shipping
            Indicator code that describes the most expensive item.
        ipZone:
          type: string
          description: >-
            Codes of countries from which you accept orders, 3 digits numeric
            according to ISO 3166-1. Separate several countries by commas:
            036,040,124.
        zone:
          type: string
          description: >-
            Codes of countries where you accept credit cards, 3 digits numeric
            or alphanumeric according to ISO 3166-1. Separate several countries
            by commas: 036,040,124.
    subMerchantPaymentFacilitator:
      type: object
      title: paymentFacilitator
      description: Object specifying SubMerchant (Payment Facilitator) details.
      properties:
        subMerchantId:
          type: string
          description: SubMerchantID assigned by the Payment Facilitator.
        subMerchantName:
          type: string
          description: Name of the SubMerchantID.
        subMerchantCity:
          type: string
          description: City of the SubMerchantID.
        subMerchantCountry:
          type: string
          description: >-
            Country code of the SubMerchantID according to ISO-3166-1,
            alphanumeric 2 chars.
        subMerchantStreet:
          type: string
          description: Street of the SubMerchantID.
        subMerchantZip:
          type: string
          description: Postcode of the SubMerchantID.
        subMerchantState:
          type: string
          description: State of the SubMerchantID.
    browserInfo:
      type: object
      properties:
        acceptHeaders:
          type: string
          description: >-
            Exact content of the HTTP accept headers as sent from the customer’s
            browser.
        ipAddress:
          type: string
          description: IP address of the browser as returned by the HTTP headers.
        javaEnabled:
          type: boolean
          description: >-
            Represents the ability of the customer's browser to execute Java.
            Required when Browser JavaScript Enabled = true; otherwise Optional.
        javaScriptEnabled:
          type: boolean
          description: >-
            Represents the ability of the customer's browser to execute
            JavaScript.
        language:
          type: string
          description: >-
            Value representing the browser language as defined in IETF BCP47,
            returned from navigator.language property, e.g. "en", "de", "fr",
            "en-US", "en-GB", "de-DE", "de-AT", etc.
        colorDepth:
          type: number
          description: >-
            Value representing the bit depth of the colour palette for
            displaying images, in bits per pixel. Required when Browser
            JavaScript Enabled = true; otherwise optional.
        screenHeight:
          type: number
          description: >-
            Total height of the Cardholder’s screen in pixels. Required when
            Browser JavaScript Enabled = true; otherwise optional.
        screenWidth:
          type: number
          description: >-
            Total width of the cardholder’s screen in pixels. Required when
            Browser JavaScript Enabled = true; otherwise optional.
        timeZoneOffset:
          type: string
          description: >-
            Time-zone offset in minutes between UTC and the Cardholder browser
            local time. Required when Browser JavaScript Enabled = true;
            otherwise optional.
        userAgent:
          type: string
          description: Exact content of the HTTP user-agent header.
    device:
      type: object
      properties:
        deviceId:
          type: string
          description: Unique Device-ID.
        confidence:
          type: number
          description: >-
            A numerical value that indicates the level of confidence in the
            identification or verification of the customer's device. 0=no
            allocation, 100=absolutely safe allocation.
        newDevice:
          type: boolean
          description: >-
            Indicates whether the device being used is new or has not been
            previously recognized by the system.
        isAnonymousProxyUsed:
          type: boolean
          description: >-
            Specifies whether the customer is using an anonymous proxy to mask
            their IP address.
        isProxyUsed:
          type: boolean
          description: Indicates whether any kind of proxy is being used by the customer.
        country:
          type: string
          description: The country associated with the device's IP address.
        city:
          type: string
          description: The city associated with the device's IP address.
        latitude:
          type: string
          description: The latitude coordinate of the device's location.
        longitude:
          type: string
          description: The longitude coordinate of the device's location.
        fraudScore:
          type: number
          description: >-
            A numerical score that indicates the likelihood of fraudulent
            activity associated with the device.
        fraudScoreRules:
          type: array
          description: >-
            A list or description of the rules or criteria that contributed to
            the fraud score calculation for the device.
          items:
            type: string
        browserLanguages:
          type: array
          description: >-
            A list of languages configured in the browser being used on the
            device.
          items:
            type: string
        isMobileDevice:
          type: boolean
          description: Indicates whether the device being used is a mobile device.
        fraud:
          type: string
          description: >-
            Indicates whether the device has been flagged as potentially
            fraudulent based on predefined criteria. e.g. fraud, suspicion,
            nofraud.
    threeDsPolicy:
      type: object
      description: >-
        Object specifying authentication policies and exemption handling
        strategies.
      properties:
        skip:
          type: string
          description: >-
            Indicates whether and under which conditions authentication should
            be skipped or performed as data share only (dataOnly). By default,
            all transactions and SCA exemptions will be requested through EMV
            3DS if not specified otherwise.
          enum:
            - THIS_TRANSACTION
            - OUT_OF_SCOPE
            - DATA_ONLY
        exemption:
          type: object
          properties:
            reason:
              type: string
              description: >-
                Specifies the reason for requesting an exemption from 3DS
                authentication.
              enum:
                - TRANSACTION_RISK_ANALYSIS
                - DELEGATE_AUTHORITY
                - LOW_VALUE
                - TRUSTED_BENEFICIARY
                - SECURE_CORPORATE_PAYMENT
            merchantFraudRate:
              type: number
              minimum: 1
              maximum: 99
              description: >-
                Merchant fraud rate in bps taking into account all Merchant
                sites and card volumes, calculated as per PSD2 RTS Article 19.
                The merchant fraud rate is optional and has to be calculated by
                the Acquirer.
        challengePreference:
          type: string
          description: Indicates the merchant's preference for a 3DS challenge.
          enum:
            - NO_PREFERENCE
            - NO_CHALLENGE
            - REQUEST_CHALLENGE
            - MANDATE_CHALLENGE
    customFieldsCard:
      type: object
      title: customFields
      properties:
        customField1:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField2:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField3:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField4:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField5:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField6:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField7:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField8:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField9:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField10:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField11:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField12:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField13:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField14:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
    templateCard:
      type: object
      title: template
      description: Applicable only when paymentMethods.integrationType=HOSTED.
      properties:
        name:
          type: string
          description: The name of the card template being used for customization.
        backgroundColor:
          type: string
          description: >-
            The background color of the card template, specified in hexadecimal
            format.
        backgroundImage:
          type: string
          description: >-
            A URL pointing to an image used as the background of the card
            template.
        textColor:
          type: string
          description: >-
            The color of the text on the card template, specified in hexadecimal
            format.
        fontName:
          type: string
          description: The name of the font used for text on the card template.
        fontSize:
          type: number
          description: The size of the text on the card template, specified in pixels (px).
        tableWidth:
          type: number
          description: >-
            Specifies the width of a table element within the card template
            layout, specified in pixels (px).
        tableHeight:
          type: number
          description: >-
            Specifies the height of a table element within the card template
            layout, specified in pixels (px).
        customFields:
          $ref: '#/components/schemas/customFieldsCard'
    cardPrefillInfo:
      type: object
      title: prefillInfo
      description: Applicable only when paymentMethods.integrationType=HOSTED.
      properties:
        number:
          type: string
          description: >-
            The card number or the pseudo card number of the payment card to
            prefill the form.
        cardholderName:
          type: string
          description: >-
            The name of the cardholder as it appears on the payment card to
            prefill the form.
        expiryDate:
          type: string
          format: date
          description: >-
            The expiration date of the card in YYYYMM format to prefill the
            form.
        brand:
          type: string
          description: >-
            The brand or network of the card, such as "visa", "mastercard" to
            prefill the form.
        securityCode:
          type: string
          description: >-
            The Card Security Code, also known as CVV or CVC to prefill the
            form.
    cardHosted:
      type: object
      title: card
      properties:
        eventToken:
          type: string
          description: >-
            Defines specific use cases of card payments, if applicable.

            - DELAYED_SHIPMENT: Passed in initial request, if you intend to
            capture the request after the shipment is sent.

            - PRE_AUTH: Passed in initial request, if the initial payment is a
            preauthorization.

            - PLBS: Passed in initial request, if the payment is related to
            rental of goods and services and is being initiated as a
            preauthorization.

            - ORDER: Pass if you want to perform authentication and payment in 2
            steps. If you pass it, then the payment should be confirmed by
            calling the Confirm payment endpoint.

            - ACCOUNT_VERIFICATION: Pass this if you want to verify card account
            without initiating a payment transaction. Amount is optional when
            this value is sent.
          enum:
            - DELAYED_SHIPMENT
            - PRE_AUTH
            - PLBS
            - ORDER
            - ACCOUNT_VERIFICATION
        subType:
          type: array
          description: >-
            Used to define the card payment methods that needs to be shown on
            the payment form. The values here override your default
            configuration at merchant level.
          items:
            type: string
            enum:
              - AIRPLUS
              - AMEX
              - ARGENCARD
              - AURA
              - BANCONTACT
              - CABAL
              - CARTESBANCAIRES
              - CBN
              - CENCOSUD
              - COMFORTCARD
              - CUP
              - DANKORT
              - DINERS
              - DISCOVER
              - ELO
              - HIPERCARD
              - JCB
              - LASER
              - MAESTRO
              - MASTERCARD
              - NARANJA
              - RUPAY
              - SHOPPING
              - TOTAL
              - VISA
        threeDsPolicy:
          $ref: '#/components/schemas/threeDsPolicy'
        template:
          $ref: '#/components/schemas/templateCard'
        prefillInfo:
          $ref: '#/components/schemas/cardPrefillInfo'
    boleto:
      type: object
      properties:
        sellingPoint:
          type: string
        service:
          type: string
          description: Products or service sold.
    mandate:
      type: object
      properties:
        mandateId:
          type: string
          description: SEPA Mandate number.
        dateOfSignature:
          type: string
          description: Date of issuing the mandate in the format DD.MM.YYYY.
    directDebitCustomFields:
      type: object
      title: customFields
      properties:
        customField1:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField2:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField3:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField4:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField5:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField6:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField7:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField8:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField9:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField10:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField11:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField12:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField13:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
        customField14:
          type: string
          description: >-
            Customizable fields that can store additional data or display
            specific information on a card template.
    directDebitTemplate:
      type: object
      title: template
      properties:
        name:
          type: string
          description: The name of the card template being used for customization.
        backgroundColor:
          type: string
          description: >-
            The background color of the card template,  specified in hexadecimal
            format.
        backgroundImage:
          type: string
          description: >-
            A URL pointing to an image used as the background of the card
            template.
        textColor:
          type: string
          description: >-
            The color of the text on the card template, specified in hexadecimal
            format.
        fontName:
          type: string
          description: The name of the font used for text on the card template.
        fontSize:
          type: string
          description: The size of the text on the card template, specified in pixels (px).
        tableWidth:
          type: string
          description: >-
            Specifies the width of a table element within the card template
            layout, specified in pixels (px).
        tableHeight:
          type: string
          description: >-
            Specifies the height of a table element within the card template
            layout, specified in pixels (px).
        customFields:
          $ref: '#/components/schemas/directDebitCustomFields'
    account:
      type: object
      properties:
        number:
          type: string
          description: >-
            International Bank Account Number or  Mandatory when mandateId is
            not present.
        code:
          type: string
          description: Bank Identifier Code.
        bankName:
          type: string
          description: Bank name.
        accountHolderName:
          type: string
          description: Account holder name. Mandatory when mandateId is not present.
        pseudoBankNumber:
          type: string
          description: >-
            Pseudo Bank Account Number (PBAN) returned by Paygate during the
            initial payment that you can use for follow up payments, if
            applicable.
    directDebitPrefillInfo:
      type: object
      title: prefillInfo
      properties:
        account:
          $ref: '#/components/schemas/account'
    directDebitHosted:
      type: object
      title: directDebit
      required:
        - debitDelay
      properties:
        method:
          type: string
          description: Direct debit in Germany=ELV, Netherlands=ENL, Austria=EEV
          enum:
            - ELV
            - ENL
            - EEV
        debitDelay:
          type: number
          description: >-
            For SEPA: Number of bank working days >0 which has to be added for
            the execution date of direct debit.
        service:
          type: string
          description: Products or service sold.
        sellingPoint:
          type: string
          description: Selling point.
        mandate:
          $ref: '#/components/schemas/mandate'
        template:
          $ref: '#/components/schemas/directDebitTemplate'
        prefillInfo:
          $ref: '#/components/schemas/directDebitPrefillInfo'
    bancontact:
      type: object
      required:
        - account
      properties:
        sellingPoint:
          type: string
          description: Selling point.
        service:
          type: string
          description: Products or service sold.
        account:
          type: object
          required:
            - accountHolderName
          properties:
            accountHolderName:
              type: string
              description: Name of account holder
        checkoutToken:
          type: string
          description: >-
            Card Token that merchant should store and provide in request to
            subsequent actions like Bancontact Recurring or One-Click
            Payment.Unique identifier of a card linked to the merchant. Can be
            used in subsequent WIP transactions only if the initial transaction
            has succeeded.
    layout:
      allOf:
        - type: object
          properties:
            showSubTotalDetail:
              type: string
              description: >-
                If the value is passed as "HIDE" then hides the item positions
                on the Klarna's hosted payment page.
            logoUrl:
              type: string
              description: URL of the logo to be displayed.
            pageTitle:
              type: string
              description: Title for the Payment Page.
    enhancedData:
      type: array
      items:
        type: object
        properties:
          productCategory:
            type: string
            description: >-
              The name of the general category to which the specific goods
              belong, according to the selling merchant's categorization.
            example: Computers
          productName:
            type: string
            description: The name of the purchased good.
            example: Acer 5400
    klarnaHosted:
      type: object
      title: klarna
      required:
        - accountName
        - subType
      properties:
        subType:
          type: array
          description: >-
            Payment Method Categories to show on the Payment Page. All available
            categories will be given to the customer if none is specified.
          items:
            type: string
            enum:
              - PAY_NOW
              - DIRECT_DEBIT
              - DIRECT_BANK_TRANSFER
              - PAY_LATER
              - PAY_OVER_TIME
              - KLARNA
        layout:
          $ref: '#/components/schemas/layout'
        accountName:
          type: string
          description: >-
            Within Paygate several Klarna account names can be stored on one
            MerchantID and controlled by the parameter Account. By default,
            please use the value "0", if you have several Klarna accounts, the
            values must be agreed with Computop Helpdesk.
        enhancedData:
          $ref: '#/components/schemas/enhancedData'
        description:
          type: string
          description: >-
            Description of the purpose of the token. Required when
            credentialOnfile. Type is recurring.
    payPal:
      type: object
      required:
        - eventToken
      properties:
        accountId:
          type: string
          description: >-
            Your Paypal account ID. It can be ID or email address associated
            with the Paypal account. This parameter can be passed to override
            the static merchant configuration if you have multiple Paypal
            accounts.
        hideAddress:
          type: boolean
          description: >-
            Indicates if shipping address stored on customer's Paypal account
            should be hidden.
    ideal:
      type: object
      properties:
        subType:
          description: |
            Indicates the provider via which iDEAL payment should be processed.

            Possible values:

            - IDEAL - Processed directly with iDEAL
            - IDEALPP - Processed via PPRO
            - IDEALRABO - Processed via Rabo Bank
          type: string
          enum:
            - IDEAL
            - IDEALPP
            - IDEALRABO
    paymentSession:
      title: paymentMethods
      properties:
        card:
          $ref: '#/components/schemas/cardHosted'
        boleto:
          $ref: '#/components/schemas/boleto'
        directDebit:
          $ref: '#/components/schemas/directDebitHosted'
        bancontact:
          $ref: '#/components/schemas/bancontact'
        klarna:
          $ref: '#/components/schemas/klarnaHosted'
        payPal:
          $ref: '#/components/schemas/payPal'
        ideal:
          $ref: '#/components/schemas/ideal'
    createSessionRequest:
      title: CreateSessionRequest
      type: object
      required:
        - transId
        - amount
        - urls
      properties:
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
          maxLength: 64
        externalIntegrationId:
          type: string
          description: External integration identifier
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually. 
        amount:
          $ref: '#/components/schemas/amount'
        language:
          type: string
          description: >-
            Language code to determine the language of the payment form and
            customer communication where applicable.
        template:
          $ref: '#/components/schemas/template'
        captureMethod:
          $ref: '#/components/schemas/captureMethod'
        credentialOnFile:
          $ref: '#/components/schemas/credentialOnFileForHosted'
        order:
          $ref: '#/components/schemas/order'
        simulationMode:
          type: string
          description: >-
            Used to simulate a specific payment success or error use case.
            Accepts a list of predefined error codes.
        urls:
          $ref: '#/components/schemas/sessionUrls'
        billingAddress:
          $ref: '#/components/schemas/billingAddress'
        shipping:
          $ref: '#/components/schemas/shippingAddressCreatePayment'
        statementDescriptor:
          type: string
          description: >-
            Short, clear description of the transaction that appears on the
            customer's statement.
        customerInfo:
          $ref: '#/components/schemas/customerInfo'
        expirationTime:
          type: string
          format: date-time
          description: Transaction expiry timestamp (UTC).
          example: '2025-02-07T16:00:00Z'
        fraudData:
          $ref: '#/components/schemas/fraudData'
        paymentFacilitator:
          $ref: '#/components/schemas/subMerchantPaymentFacilitator'
        browserInfo:
          $ref: '#/components/schemas/browserInfo'
        device:
          $ref: '#/components/schemas/device'
        channel:
          type: string
          description: >-
            Specifies the sales or interaction channel through which the
            transaction is initiated. 
          enum:
            - ECOM
            - MOTO
            - APP
            - PAYBYLINK
            - POS
        metadata:
          type: object
          description: >-
            A collection of additional custom data provided by you to store
            extra information about the transaction. This is a set of JSON key
            value pairs passed by you. Paygate will return the data as it is in
            the response.
        allowedPaymentMethods:
          type: array
          description: >-
            Indicates list of allowed payment methods that should be shown on
            the hosted payment page. If not passed default merchant level
            configuration is used to display the allowed payment methods.
          items:
            type: string
            enum:
              - APPLEPAY
              - BOLETO
              - BANCONTACT
              - CARD
              - DIRECTDEBIT
              - GOOGLEPAY
              - IDEAL
              - KLARNA
              - PAYPAL
              - WERO
        paymentMethods:
          $ref: '#/components/schemas/paymentSession'
    paymentHostedResponse:
      type: object
      title: PaymentResponse
      properties:
        _links:
          type: object
          properties:
            redirect:
              type: object
              description: >-
                This link is present when redirection to payment page must be
                done in order to complete the payment process. Decoded URL value
                with the exception of PagBrasil Boleto Bancario, where the
                encoded URL value is returned.
              properties:
                href:
                  type: string
                  format: uri
                  description: >-
                    The URL to which the customer should be redirected to
                    complete the payment.
                type:
                  type: string
                  description: Specifies the type of redirect link.
    createSessionResponse:
      title: CreateSessionResponse
      allOf:
        - $ref: '#/components/schemas/paymentHostedResponse'
    validationErrorResponse:
      type: array
      title: ValidationErrorResponse
      items:
        type: object
        properties:
          field:
            type: string
            example: transId
          error:
            type: string
            example: This field is required.
    errorResponse:
      type: object
      title: ErrorResponse
      properties:
        payId:
          type: string
          example: 0
        responseCode:
          type: string
          example: 422
        responseDescription:
          type: string
          description: >-
            Further details in the event that payment is rejected. Please do not
            use the Description but the Code parameter for the transaction
            status analysis!
          example: Payment could not be processed.
    credentialOnFileForDirect:
      title: credentialOnFile
      allOf:
        - $ref: '#/components/schemas/credentialOnFileForHosted'
        - type: object
          properties:
            initialPayment:
              type: boolean
              description: >-
                Specifies whether the transaction is the initial payment in a
                credential-on-file setup. Applicable only for
                paymentMethods.integrationType=DIRECT
    paymentUrls:
      type: object
      properties:
        return:
          type: string
          format: uri
          description: >-
            Mandatory when paymentMethods.integrationType=HOSTED. Not applicable
            for paymentMethods.integrationType=DIRECT.
        cancel:
          type: string
          format: uri
          description: >-
            Mandatory when paymentMethods.integrationType=HOSTED. Not applicable
            for paymentMethods.integrationType=DIRECT.
        webhook:
          type: string
          format: uri
          description: >-
            Mandatory when paymentMethods.integrationType=HOSTED. Not applicable
            for paymentMethods.integrationType=DIRECT.
    applePay:
      type: object
      required:
        - token
      properties:
        token:
          type: string
          description: >-
            PKPayment token received by you from Apple. Send the data as is in
            JSON structure.
        merchantIdentifierOfPublicKey:
          type: string
          description: >-
            Merchant Identifier of Public Key. Mandatory if more then one
            Merchant Identifiers are stored with Computop.
    tokenData:
      type: object
      title: tokenData
      description: Token data if you are connected to MDES and VTS directly.
      properties:
        cryptogram:
          type: string
          description: Cryptogram as received from Tokenization Service.
        eci:
          type: string
          description: Payment system specific Electronic Commerce Indicator.
        tokenRequestor:
          type: string
          description: Token Requestor.
          enum:
            - APPLEPAY
            - GOOGLEPAY
            - MERCHANT_TOKENIZATION
        tokenRequestorId:
          type: string
          description: >-
            Token Requestor ID assigned by the card scheme.Required when
            tokenRequestor is MERCHANT_TOKENIZATION and MasterCard transaction.
    priorAuthenticationInfo:
      type: object
      description: >-
        Prior Transaction Authentication Information contains optional
        information about a 3DS cardholder authentication that occurred prior to
        the current transaction
      properties:
        data:
          type: string
          description: >-
            Data that documents and supports a specific authentication process
            performed by the merchant such as FIDO
        method:
          type: string
          description: The method used for prior authentication.
          enum:
            - FRICTIONLESS
            - ACS_CHALLENGE
            - AVS_VERIFIED
            - OTHER
        timestamp:
          type: string
          format: date-time
          description: >-
            The timestamp of the prior authentication event in
            YYYY-MM-DDTHH:MM:SS+00:00 format
        reference:
          type: string
          description: >-
            A reference to the prior authentication event. It should contain the
            ACS Transaction ID. For example: the first recurring transaction
            that was authenticated with the cardholder.
    threeDsData:
      type: object
      required:
        - acsProtocolVersion
        - eci
      properties:
        acsProtocolVersion:
          type: string
          description: The protocol version used for authentication.
          enum:
            - 1.0.2
            - 2.1.0
            - 2.2.0
            - 2.3.0
        eci:
          type: string
          description: Payment system specific Electronic Commerce Indicator.
        authenticationValue:
          type: string
          description: Payment system specific value to provide proof of authentication.
        cavvAlgorithm:
          type: string
          description: 3DS 2.0 only with Cartes Bancaires.
        serverTransactionId:
          type: string
          description: >-
            3DS 2.0 only. Universally unique transaction identifier assigned by
            the 3DS Server.
        acsXid:
          type: string
          description: 3DS 1.0 only. ACS assigned transaction ID.
        dsTransactionId:
          type: string
          description: >-
            3DS 2.0 only. Universally unique transaction identifier assigned by
            the DS to identify a single transaction.
        intermediateStatus:
          type: string
          description: >-
            This is the transaction status transStatus from the Authentication
            Response (ARes).

            -  Y = Authentication Verification Successful.

            -  N = Not Authenticated /Account Not Verified; Transaction denied.

            -  U = Authentication/ Account Verification Could Not Be Performed;
            Technical or other problem, as indicated in ARes or RReq.

            -  A = Attempts Processing Performed; Not Authenticated/Verified,
            but a proof of attempted authentication/verification is provided.

            -  C = Challenge Required; Additional authentication is required
            using the CReq/CRes.

            -  D = Challenge Required; Decoupled Authentication confirmed.

            -  I = Informational Only; 3DS Requestor challenge preference
            acknowledged.
          enum:
            - 'Y'
            - 'N'
            - U
            - A
            - C
            - D
            - I
        finalStatus:
          type: string
          description: >-
            This is the transaction status transStatus from the Result Request
            (RReq).

            -  Y = Authentication Verification Successful.

            -  U = Authentication/ Account Verification Could Not Be Performed;
            Technical or other problem, as indicated in ARes or RReq.

            -  A = Attempts Processing Performed; Not Authenticated/Verified,
            but a proof of attempted authentication/verification is provided.
          enum:
            - 'Y'
            - U
            - A
        challengeRequestIndicator:
          type: string
          description: >-
            Specifies value for "3DS Requestor Challenge Indicator"

            -  01 = No preference – default value if the data element is absent
            or not set to a value

            -  02 = No authentication

            -  03 = Authentication requested

            -  04 = Authentication required

            -  05 = No authentication: transaction risk analysis already
            performed

            -  06 = No authentication: data share only

            -  07 = No authentication: SCA already performed

            -  08 = No authentication: whitelist

            -  09 = Authentication required
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
        challengeCancellationIndicator:
          type: string
          description: |-
            Specifies value for "Challenge Cancellation Indicator"
            -  01 = Cardholder selected “Cancel”
            -  02 = 3DS Requestor cancelled Authentication.
            -  03 = Transaction Abandoned
            -  04 = Transaction Timed Out at ACS— other timeouts
            -  05 = Transaction Timed Out at ACS— First CReq not received by ACS
            -  06 = Transaction Error
            -  07 = Unknown
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
        dsScore:
          type: string
          description: Specifies value for "DS Score", scoring returned by the CB DS.
        transactionStatusReason:
          type: string
          description: Specifies value for "Transaction Status Reason Code".
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
            - 16
            - 17
            - 18
            - 19
            - 20
            - 21
            - 22
            - 23
            - 24
            - 25
            - 26
            - 80
            - 81
            - 82
            - 83
            - 84
            - 85
            - 86
            - 87
            - 88
    threeDsSDK:
      type: object
      properties:
        sdkApplicationId:
          type: string
          description: >-
            A unique identifier for the 3D Secure (3DS) SDK application used to
            facilitate authentication on the customer's device.
        deviceData:
          type: string
          description: >-
            Data collected from the customer's device during the 3DS
            authentication process.
        sdkEphemeralPublicKey:
          type: string
          description: The ephemeral public key generated by the 3DS SDK.
        sdkReferenceNumber:
          type: string
          description: A reference number assigned to the 3DS SDK.
        sdkTransactionId:
          type: string
          description: Unique identifier for the transaction generated by the 3DS SDK.
        messageVersion:
          type: string
          description: The version of the 3D Secure protocol being used by the SDK.
          enum:
            - 2.1.0
            - 2.2.0
            - LATEST
    card:
      type: object
      properties:
        eventToken:
          type: string
          description: >-
            Defines specific use cases of card payments, if applicable.

            - DELAYED_SHIPMENT: Passed in initial request, if you intend to
            capture the request after the shipment is sent.

            - PRE_AUTH: Passed in initial request, if the initial payment is a
            preauthorization.

            - PLBS: Passed in initial request, if the payment is related to
            rental of goods and services and is being initiated as a
            preauthorization.

            - ORDER: Pass if you want to perform authentication and payment in 2
            steps. If you pass it, then the payment should be confirmed by
            calling the Confirm payment endpoint.

            - REAUTHORIZATION: Passed in subsequent merchant initiated
            transaction. You can initiate a re-authorization when the 

            completion or fulfillment of the original order or service extends
            beyond the authorization validity limit set by Visa.There

            are two common re-authorization scenarios:
              - Split or delayed shipments at eCommerce retailers. A split shipment occurs when not all the goods ordered are
              available for shipment at the time of purchase. If the fulfillment of the goods takes place after the authorization
              validity limit set by Visa, eCommerce merchants perform a separate authorization to ensure that consumer funds are 
              available.
              - Extended stay hotels, car rentals, and cruise lines. A re-authorization is used for stays, voyages, and/or rentals that
              extend beyond the authorization validity period set by Visa.
            - RESUBMISSION: Passed in subsequent merchant initiated transaction.
            You perform a re-submission in cases where it requested an
            authorization, but received a decline due to insufficient funds;
            however, the goods or services were already delivered to the
            cardholder.
              In such scenarios you can resubmit the request to recover outstanding debt from cardholders.
            - DELAYED_CHARGES: Delayed charges are performed to process a
            supplemental account charge after original services have been
            rendered and respective payment has been processed.

            - NO_SHOW: Passed in subsequent merchant initated transaction.
            Cardholders can use their Visa cards to make a guaranteed
            reservation with certain merchant segments. A guaranteed reservation
            ensures that the reservation will be honored and allows you to
            perform a No Show transaction to charge the cardholder a penalty
            according to the your  cancellation policy.

            - ACCOUNT_VERIFICATION: Pass this if you want to verify card account
            without initiating a payment transaction. Amount is optional when
            this value is sent.

            - ADDITIONAL_CHARGES
          enum:
            - DELAYED_SHIPMENT
            - PRE_AUTH
            - PLBS
            - ORDER
            - REAUTHORIZATION
            - RESUBMISSION
            - DELAYED_CHARGES
            - NO_SHOW
            - ACCOUNT_VERIFICATION
            - ADDITIONAL_CHARGES
        subType:
          type: array
          description: >-
            Used to define the card payment methods that needs to be shown on
            the payment form. The values here override your default
            configuration at merchant level.
          items:
            type: string
            enum:
              - AIRPLUS
              - AMEX
              - ARGENCARD
              - AURA
              - BANCONTACT
              - CABAL
              - CARTESBANCAIRES
              - CBN
              - CENCOSUD
              - COMFORTCARD
              - CUP
              - DANKORT
              - DINERS
              - DISCOVER
              - ELO
              - HIPERCARD
              - JCB
              - LASER
              - MAESTRO
              - MASTERCARD
              - NARANJA
              - RUPAY
              - SHOPPING
              - TOTAL
              - VISA
        number:
          type: string
          description: >-
            The card number, pseudo card number or the network token of the
            payment card.Mandatory when paymentMethod.integrationType=DIRECT.
        cardHolderName:
          type: string
          description: >-
            The name of the cardholder as it appears on the payment
            card.Mandatory when paymentMethod.integrationType=DIRECT.
        expiryDate:
          type: string
          format: date
          description: >-
            The expiration date of the card in YYYYMM format.Mandatory when
            paymentMethod.integrationType=DIRECT.
        brand:
          type: string
          description: >-
            The brand or network of the card, such as "visa",
            "mastercard".Applicable only when
            paymentMethod.integrationType=DIRECT.
        securityCode:
          type: string
          description: The Card Security Code, also known as CVV or CVC.
        startDate:
          type: string
          description: >-
            The start date of the card, if applicable. Applicable for some UK
            debit cards.Applicable only when
            paymentMethod.integrationType=DIRECT.
        sequenceNumber:
          type: string
          description: >-
            A number assigned to specific cards by issuers to distinguish
            between multiple versions of the same card. Applicable for some UK
            debit cards.Applicable only when
            paymentMethod.integrationType=DIRECT.
        brandSelection:
          type: string
          description: >-
            Indicates the party that made the card brand choice during the
            payment. Applicable only when paymentMethods.integrationType=DIRECT

            Possible values:

            - CUSTOMER: Customer made the brand choice during the payment

            - MERCHANT: Originally selected brand by the merchant was not
            overriden by the customer during the payment
          enum:
            - CUSTOMER
            - MERCHANT
        tokenData:
          $ref: '#/components/schemas/tokenData'
        schemeReferenceId:
          type: string
          description: >-
            A unique identifier assigned by the card network to track the
            transaction or card across its lifecycle. It is required to send
            this information for credential on file transactions when
            intialPayment is false.
        approvalCodeTel:
          type: string
          description: 'For 3-D Secure: Telephone authorisation code.'
        priorAuthenticationInfo:
          $ref: '#/components/schemas/priorAuthenticationInfo'
        threeDsData:
          $ref: '#/components/schemas/threeDsData'
        threeDsSDK:
          $ref: '#/components/schemas/threeDsSDK'
        threeDsPolicy:
          $ref: '#/components/schemas/threeDsPolicy'
        template:
          $ref: '#/components/schemas/templateCard'
        prefillInfo:
          $ref: '#/components/schemas/cardPrefillInfo'
    accountCreate:
      type: object
      title: account
      properties:
        number:
          type: string
          description: >-
            International Bank Account Number or  Mandatory when mandateId is
            not present.
        code:
          type: string
          description: Bank Identifier Code.
        bankName:
          type: string
          description: Bank name.
        accountHolderName:
          type: string
          description: Account holder name. Mandatory when mandateId is not present.
    directDebitCreatePrefillInfo:
      type: object
      title: prefillInfo
      properties:
        account:
          $ref: '#/components/schemas/accountCreate'
    directDebit:
      type: object
      required:
        - debitDelay
      properties:
        account:
          $ref: '#/components/schemas/account'
        mandate:
          allOf:
            - $ref: '#/components/schemas/mandate'
            - type: object
              properties:
                mandateUrl:
                  type: string
                  description: >-
                    Valid URL pointing to the SEPA mandate, needs to be
                    accessible by PPRO risk and compliance department. Required
                    only in case of PPRO integration. Mandatory when
                    credentialOnfile.type is UNSCHEDULED or RECURRING and
                    credentialOnFile.initialPayment is true. Also mandatory when
                    one off mandates are setup i.e. credentialOnFile object is
                    not passed.
        method:
          type: string
          description: Direct debit in Germany=ELV, Netherlands=ENL, Austria=EEV
          enum:
            - ELV
            - ENL
            - EEV
        debitDelay:
          type: number
          description: >-
            For SEPA: Number of bank working days >0 which has to be added for
            the execution date of direct debit.
        service:
          type: string
          description: Products or service sold.
        sellingPoint:
          type: string
          description: Selling point.
        template:
          $ref: '#/components/schemas/directDebitTemplate'
        prefillInfo:
          $ref: '#/components/schemas/directDebitCreatePrefillInfo'
    googlePay:
      type: object
      required:
        - token
      properties:
        token:
          type: string
          description: >-
            Token as received by you from Google. Data should be sent in JSON
            structure as received from Google.
    klarnaLayout:
      type: object
      description: Layout parameters for Klarna widgets.
      properties:
        borderColor:
          type: string
          description: >-
            Color for the border of elements within the iFrame. Value should be
            a CSS hex color, e.g. "#FF9900".
        borderColorSelected:
          type: string
          description: >-
            Color for the border of elements within the iFrame when selected by
            the customer. Value should be a CSS hex color, e.g. "#FF9900".
        buttonColor:
          type: string
          description: Specifies the color of buttons.
        buttonTextColor:
          type: string
          description: Specifies the color of the text displayed on buttons.
        checkboxColor:
          type: string
          description: Defines the color of checkboxes.
        checkboxCheckmarkColor:
          type: string
          description: Specifies the color of the checkmark inside checkboxes.
        detailsColor:
          type: string
          description: Defines the color used for additional details or informational text.
        headerColor:
          type: string
          description: Specifies the color of header text.
        linkColor:
          type: string
          description: Defines the color of hyperlinks or clickable text.
        textColor:
          type: string
          description: >-
            Color for the texts within the iFrame. Value should be a CSS hex
            color, e.g. "#FF9900".
        textSecondaryColor:
          type: string
          description: Specifies the color of secondary text elements.
        borderRadius:
          type: string
          description: Radius for the border of elements within the iFrame.
        showSubTotalDetail:
          type: string
          description: >-
            If the value is passed as "HIDE" then hides the item positions on
            the Klarna's hosted payment page.
        logoUrl:
          type: string
          description: URL of the logo to be displayed.
        pageTitle:
          type: string
          description: Title for the Payment Page.
    klarna:
      type: object
      required:
        - accountName
      properties:
        subType:
          type: array
          description: >-
            Payment Method Categories to show on the Payment Page. All available
            categories will be given to the customer if none is specified.Pass
            this when integrationType is HOSTED.
          items:
            type: string
            enum:
              - PAY_NOW
              - DIRECT_DEBIT
              - DIRECT_BANK_TRANSFER
              - PAY_LATER
              - PAY_OVER_TIME
              - KLARNA
        layout:
          $ref: '#/components/schemas/klarnaLayout'
        accountName:
          type: string
          description: >-
            Within Paygate several Klarna user names can be stored on one
            MerchantID and controlled by the parameter Account. By default,
            please use the value "0", if you have several Klarna accounts, the
            values must be agreed with Computop Helpdesk.
        enhancedData:
          $ref: '#/components/schemas/enhancedData'
        description:
          type: string
          description: >-
            Description of the purpose of the token. Required when
            credentialOnfile.Type is recurring.InitialPayment is true.
        providerToken:
          type: string
          description: >-
            ProviderToken returned in the response of initial payment of
            recurring flow. Required when credentialOnfile.Type is recurring and
            credentialOnfile.InitialPayment is false.
    pfConnect:
      type: object
      required:
        - financialProductId
      properties:
        merchantCountryCode:
          type: string
          description: Country, where merchant operates.
          enum:
            - FR
            - IT
        financialProductId:
          type: number
          description: Financial product identifier.
        shoppingBasketAmount:
          type: number
          description: >-
            Shopping basket amount. Mandatory only if also DownPaymentAmount is
            valorized.
        downPaymentAmount:
          type: number
          description: >-
            Downpayment amount. Mandatory only if also ShoppingBasketAmount
            field is valorized.
        deliveryDate:
          type: string
          format: date
          description: >-
            Estimated delivery date. Mandatory if the merchant is operating in
            France.
        customerRole:
          type: string
          description: Identifier role of the customer.
          enum:
            - OWNER
            - THIRD
            - CUSTOMER
        partnerStoreId:
          type: string
          description: >-
            Merchant identifier assigned by PF. Mandatory for the merchants,
            which operates in Spain and Italy.
        aboId:
          type: number
          description: >-
            SubscriptionID on PSP side. It will be used by axepta to identfy its
            merchant.Mandatory for the merchants, which operates in France.
        applicationDate:
          type: string
          description: >-
            Date of the application for financing.Mandatory for merchants
            operating in France and optional for those operating in Spain.
        customValue:
          type: string
          description: Value of the customProperties MerchantData.
        programId:
          type: string
          description: Financial program ID.
        quotationId:
          type: string
          description: >-
            ID of the quotation (value transmitted on the response of the
            CalculateQuotation).Mandatory for merchants operating in France.
    accountRatepay:
      type: object
      title: account
      properties:
        number:
          type: string
          description: >-
            International Bank Account Number. Mandatory when transferType is
            SEPA_DIRECT_DEBIT.
        code:
          type: string
          description: Bank identifier code.
        accountHolderName:
          type: string
          description: >-
            Name of account holder. Mandatory when transferType is
            SEPA_DIRECT_DEBIT.
    ratepay:
      type: object
      required:
        - subType
        - transferType
      properties:
        deviceToken:
          type: string
          description: >-
            Device token generated by Ratepay's fingerprinting feature. Include
            the generated token if you are using the device fingerprinting
            feature in your integration.
        account:
          $ref: '#/components/schemas/accountRatepay'
        subType:
          type: number
          description: The payment option the buyer selected.
          enum:
            - OPEN_INVOICE
            - PAY_NOW
        transferType:
          type: number
          description: The transfer type the buyer selected.
          enum:
            - BANK_TRANSFER
            - SEPA_DIRECT_DEBIT
    accountRiverty:
      type: object
      title: account
      properties:
        code:
          type: string
          description: Bank Identifier Code.
        number:
          type: string
          description: >-
            International Bank Account Number. Mandatory if subType is INVOICE
            or INSTALLMENT.
    orderRisk:
      type: object
      properties:
        channelType:
          type: string
          description: Order channel type.
          enum:
            - INTERNET
            - CATALOG
            - CALLCENTER
            - STATIONARY
            - OTHER
        deliveryType:
          type: string
          description: Order delivery type.
          enum:
            - NORMAL
            - EXPRESS
        ticketDeliveryMethod:
          type: string
          description: Ticket's delivery method..
          enum:
            - NOTSET
            - PICKUP
            - EMAIL
            - POST
            - PHONE
    customerRisk:
      type: object
      properties:
        existingCustomer:
          type: boolean
          description: >-
            Indicates whether the customer is an existing customer of the
            merchant.
        verifiedCustomerIdentification:
          type: boolean
          description: Indicates whether the customer has been verified.
        marketingOptIn:
          type: boolean
          description: Indicates whether marketing material is requested.
        customerSince:
          type: string
          description: Date in format YYYY-MM-DD since which the customer has existed.
        customerClassification:
          type: string
          description: Customer classification.
        acquistitionChannel:
          type: string
          description: Indicates the channel via which the merchant is reached.
          enum:
            - NOTSET
            - ADVERTISEMENT
            - SOCIALNETWORK
            - DIRECT
            - SEARCHENGINE
            - OTHER
        hasCustomerCard:
          type: boolean
          description: Indicates whether the customer has a loyalty card.
        customerCardSince:
          type: string
          description: Date in format YYYY-MM-DD since which the loyalty card has existed.
        customerCardClassification:
          type: string
          description: Indicates the loyalty card level, e.g. "Gold Member".
        profileTrackingId:
          type: string
          description: Unique TrackingID.
        numberOfTransactions:
          type: number
          description: Number of successful transactions already completed by the customer.
        customerIndividualScore:
          type: number
          description: Individual score for the customer supplied by the merchant.
        userAgent:
          type: string
          description: UserAgent of this specific consumer.
        amountOfTransactions:
          type: number
          description: Amount of paid orders last 12 months.
        otherPaymentMethods:
          type: boolean
          description: Other payment method than MI in wallet.
    riverty:
      type: object
      properties:
        subType:
          type: array
          description: Indicates Rivertys sub payment method type.
          items:
            type: string
            enum:
              - INVOICE
              - ACCOUNT
              - INSTALLMENT
              - CONSOLIDATEDINVOICE
        billingCareOf:
          type: string
          description: >-
            Intermediary who is responsible for transferring a piece of mail
            between the postal system and the final addressee. For example Jane
            c/o John (“Jane at John's address”).
        shippingCareOf:
          type: string
          description: >-
            Intermediary who is responsible for transferring a piece of mail
            between the postal system and the final addressee. For example Jane
            c/o John (“Jane at John's address”).
        account:
          $ref: '#/components/schemas/accountRiverty'
        profileNumber:
          type: string
          description: Profile number. Mandatory if subType is ACCOUNT or INSTALLMENT
        orderRisk:
          $ref: '#/components/schemas/orderRisk'
        customerRisk:
          $ref: '#/components/schemas/customerRisk'
        eventToken:
          type: string
          description: Used to differentiate between single step and two step flow.
          enum:
            - AUTHORIZATION
            - LIST_PAYMENT_METHODS
    payment:
      title: paymentMethods
      type: object
      required:
        - type
        - integrationType
      properties:
        integrationType:
          type: string
          description: |-
            Indicates the integration approach for the payment method.
            - HOSTED: customer is redirected to a payment page,
            - DIRECT: server to server communication
          enum:
            - HOSTED
            - DIRECT
        type:
          type: string
          description: Specifies the type of payment method being used.
          enum:
            - APPLEPAY
            - BANCONTACT
            - BOLETO
            - CARD
            - DIRECTDEBIT
            - GOOGLEPAY
            - IDEAL
            - KLARNA
            - PAYPAL
            - PAYU
            - PFCONNECT
            - RATEPAY
            - RIVERTY
            - WERO
        applePay:
          $ref: '#/components/schemas/applePay'
        bancontact:
          $ref: '#/components/schemas/bancontact'
        boleto:
          $ref: '#/components/schemas/boleto'
        card:
          $ref: '#/components/schemas/card'
        directDebit:
          $ref: '#/components/schemas/directDebit'
        googlePay:
          $ref: '#/components/schemas/googlePay'
        ideal:
          $ref: '#/components/schemas/ideal'
        klarna:
          $ref: '#/components/schemas/klarna'
        payPal:
          $ref: '#/components/schemas/payPal'
        pfConnect:
          $ref: '#/components/schemas/pfConnect'
        ratepay:
          $ref: '#/components/schemas/ratepay'
        riverty:
          $ref: '#/components/schemas/riverty'
    paymentRequest:
      title: PaymentRequest
      type: object
      required:
        - transId
        - amount
      properties:
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
          maxLength: 64
        externalIntegrationId:
          type: string
          description: External integration identifier
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually. 
        amount:
          $ref: '#/components/schemas/amount'
        language:
          type: string
          description: >-
            Language code to determine the language of the payment form and
            customer communication where applicable.
        captureMethod:
          $ref: '#/components/schemas/captureMethod'
        credentialOnFile:
          $ref: '#/components/schemas/credentialOnFileForDirect'
        order:
          $ref: '#/components/schemas/order'
        simulationMode:
          type: string
          description: >-
            Used to simulate a specific payment success or error use case.
            Accepts a list of predefined error codes.
        urls:
          $ref: '#/components/schemas/paymentUrls'
        billingAddress:
          $ref: '#/components/schemas/billingAddress'
        shipping:
          $ref: '#/components/schemas/shippingAddressCreatePayment'
        statementDescriptor:
          type: string
          description: >-
            Short, clear description of the transaction that appears on the
            customer's statement.
        customerInfo:
          $ref: '#/components/schemas/customerInfo'
        expirationTime:
          type: string
          format: date-time
          description: Transaction expiry timestamp (UTC).
          example: '2025-02-07T16:00:00Z'
        fraudData:
          $ref: '#/components/schemas/fraudData'
        paymentFacilitator:
          $ref: '#/components/schemas/subMerchantPaymentFacilitator'
        browserInfo:
          $ref: '#/components/schemas/browserInfo'
        device:
          $ref: '#/components/schemas/device'
        channel:
          type: string
          description: >-
            Specifies the sales or interaction channel through which the
            transaction is initiated. Examples include "online", "in-store",
            "mobile app".
          enum:
            - ECOM
            - MOTO
            - APP
            - PAYBYLINK
            - POS
        metadata:
          type: object
          description: >-
            A collection of additional custom data provided by you to store
            extra information about the transaction. This is a set of JSON key
            value pairs passed by you. Paygate will return the data as it is in
            the response.
        referencePayId:
          type: string
          description: >-
            Payment ID referring to the previous related request. Only
            applicable for PFConnect Authorization and Subsequent card
            installment payments.
        paymentMethods:
          $ref: '#/components/schemas/payment'
    baseResponse:
      type: object
      title: BaseResponse
      properties:
        payId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate to the payment.
            This ID remains constant throughout the lifecycle of the payment and
            is used to track and reference the payment across all subsequent
            operations, such as authorization, capture, refund, or cancellation.
        merchantId:
          type: string
          description: Merchant ID assigned by Computop Paygate.
        transId:
          type: string
          description: Transaction ID provided by you in the request.
        xId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate for each operation
            in the payment. For example: xId will be different for the
            authorization and capture operations of a payment whereas payId will
            be same.
        refNr:
          type: string
          description: Reference number provided by you in the request.
        status:
          type: string
          description: Status of the transaction.
        responseCode:
          type: string
          description: Response code of the transaction.
        responseDescription:
          type: string
          description: Response description associated with the response code.
        metadata:
          type: object
          description: >-
            A collection of additional custom data provided by you to store
            extra information about the transaction. This is a set of JSON key
            value pairs as you passed in the request.
    applePayDirectResponse:
      type: object
      title: applePay
      properties:
        schemeReferenceId:
          type: string
          description: >-
            Unique identifier assigned by card schemes that is required to be
            sent in subsequent credential on file transactions.
    boletoDirectResponse:
      type: object
      title: boleto
      properties:
        paymentSlipLink:
          type: string
          description: >-
            Complete URL (URL-encoded) for the page which presents the payment
            form. This link should be displayed to the customer on the
            confirmation page.
    bin:
      type: object
      properties:
        accountBin:
          type: number
          description: >-
            The leading six digits of the account number also known as bank
            identification number (BIN). The BIN consists of 6 to 8 digits –
            because of PCI DSS rules a maximum of the first 6 digits may be
            output.
        accountRangeLow:
          type: number
          description: The account number at the low end of the account range.
        accountRangeHigh:
          type: string
          description: The account number at the high end of the account range.
    errorDetails:
      type: object
      properties:
        threeDSServerTransId:
          type: string
        errorCode:
          type: string
        errorComponent:
          type: string
        errorDescription:
          type: string
    versioningDataObjectResponse:
      type: object
      title: versioningData
      description: Specific object for Card payment method.
      properties:
        threeDSServerTransId:
          type: string
        acsStartProtocolVersion:
          type: string
        acsEndProtocolVersion:
          type: string
        dsStartProtocolVersion:
          type: string
        dsEndProtocolVersion:
          type: string
        threeDSMethodDataForm:
          type: string
        threeDSMethodUrl:
          type: string
        threeDSMethodData:
          type: object
          properties:
            threeDSMethodNotificationUrl:
              type: string
            threeDSServerTransId:
              type: string
        errorDetails:
          $ref: '#/components/schemas/errorDetails'
    fraudPreventionObjectResponse:
      type: object
      title: fraudData
      properties:
        zone:
          type: string
          description: >-
            If country codes have been entered in Zone Paygate returns the
            country code for the credit card or "UNKNOWN".
        ipZone:
          type: string
          description: >-
            If IP-countries are transmitted in IPZone in the case of the inquiry
            Paygate returns the country code of the IP address or "UNKNOWN".
        ipZoneA2:
          type: string
          description: >-
            If IPZone is submitted within the request Paygate returns the
            two-character country code of the IP address or "UNKNOWN".
            (DE=Germany, FR=France etc.)
        ipState:
          type: string
          description: >-
            If IPZone is submitted in the request Paygate returns the federal
            state from which the IP address of your customer originates.
        ipCity:
          type: string
          description: >-
            If IPZone is submitted in the request Paygate returns the town/city
            from which the IP address of your customer originates.
        ipLongitude:
          type: string
          description: >-
            If IPZone is submitted in the request Paygate returns the
            geographical longitude (floating point, decimal) of the dial-in node
            (PoP) of your customer.
        ipLatitude:
          type: string
          description: >-
            If IPZone is submitted in the request Paygate returns the
            geographical latitude (floating point, decimal) of the dial-in node
            (PoP) of your customer.
        fsStatus:
          type: string
          description: >-
            Only with EVO Payments International: ACCEPT=no suspicion of card
            fraud, DENY=refusal recommended, CHALLENGE= verification
            recommended, NOSCORE=No risk analysis, ENETFP=Exceptional error in
            the network, ERROR=Error in the data processing centre,
            ETMOUT=Timeout.
        fsCode:
          type: string
          description: >-
            Only with EVO Payments International: Recommended action: <0000> no
            result, <0100> accept, <0150> always accept, <0200> deny, <0250>
            always deny, <0300> suspicious, <0330> please check, <0400>
            suspicious ReD blacklist, <0500> questionable, <0600> questionable
            ReD blacklist, <0700> threshold exceeded, <0800> unusual usage,
            <901> intern ebitGuard error, <902> format error.
    authenticationResultObjectResponse:
      type: object
      title: authenticationData
      description: Specific object for Card payment method.
      properties:
        threeDSServerTransId:
          type: string
        acsChallengeMandated:
          type: boolean
        acsDecConInd:
          type: boolean
        acsOperatorId:
          type: string
        acsReferenceNumber:
          type: string
        acsRenderingType:
          type: object
          properties:
            acsInterface:
              type: string
            acsUiTemplate:
              type: string
        acsSignedContent:
          type: string
        acsTransId:
          type: string
        acsURL:
          type: string
        authenticationType:
          type: string
        authenticationValue:
          type: string
        broadInfo:
          type: string
        cardholderInfo:
          type: string
        dsReferenceNumber:
          type: string
        dsTransId:
          type: string
        eci:
          type: string
        messageExtension:
          type: string
        messageType:
          type: string
        messageVersion:
          type: string
        sdkTransId:
          type: string
        transStatus:
          type: string
        transStatusReason:
          type: string
        whiteListStatus:
          type: string
        whiteListStatusSource:
          type: string
        challengeRequest:
          type: object
          properties:
            threeDSServerTransId:
              type: string
            acsTransId:
              type: string
            challengeWindowSize:
              type: string
            messageVersion:
              type: string
            messageType:
              type: string
        base64EncodedChallengeRequest:
          type: string
        threeDSCompInd:
          type: string
    cardDirectResponse:
      type: object
      title: card
      properties:
        cardHolderName:
          type: string
          description: The name of the cardholder as it appears on the payment card.
        pseudoCardNumber:
          type: string
          description: >-
            Pseudo card number generated by Computop Paygate, if the service is
            activated.
        first6Digits:
          type: string
          description: First 6 digits of card.
        last4Digits:
          type: string
          description: Last 4 digits of the card.
        expiryDate:
          type: string
          description: The expiration date of the card in YYYYMM format.
        brand:
          type: string
          description: The brand or network of the card, such as "visa", "mastercard".
        product:
          type: string
          description: Card product name (if available) (e.g. 'Business Premium Debit').
        source:
          type: string
          description: Card funding source (if available).
          enum:
            - DEBIT
            - CREDIT
            - DEFERRED_DEBIT
            - PREPAID
            - CHARGE
        type:
          type: string
          description: >-
            The card type specifies the program, application or card level
            attached to the card if any (e.g. Classic, Standard, Gold, Business
            etc.).
        issuer:
          type: string
          description: Card issuer (if available).
        country:
          type: string
          description: Country the card was issued in.
        bin:
          $ref: '#/components/schemas/bin'
        versioningData:
          $ref: '#/components/schemas/versioningDataObjectResponse'
        fraudData:
          $ref: '#/components/schemas/fraudPreventionObjectResponse'
        authenticationData:
          $ref: '#/components/schemas/authenticationResultObjectResponse'
        schemeReferenceId:
          type: string
          description: >-
            Unique identifier assigned by card schemes that is required to be
            sent in subsequent credential on file transactions.
        providerApprovalCode:
          type: string
          description: Approval code of the transaction.
        providerResponseCode:
          type: string
          description: Provider response code.
        providerResponseMessage:
          type: string
          description: Provider response text.
        providerTransactionId:
          type: string
          description: Transaction ID assigned by the provider.
        providerToken:
          type: string
          description: Provider's token.
        providerMerchantId:
          type: string
          description: Provider Merchant ID.
        providerTerminalId:
          type: string
          description: Provider Terminal ID.
        providerOrderId:
          type: string
          description: Provider Order ID.
        issuerResponseCode:
          type: string
          description: Issuer response code.
        issuerResponseMessage:
          type: string
          description: Issuer response text.
    directDebitDirectResponse:
      type: object
      title: directDebit
      properties:
        mandateId:
          type: string
          description: SEPA Mandate ID for the transaction.
        dateOfSignature:
          type: string
          description: Date of issuing the mandate in format DD.MM.YYYY.
        account:
          type: object
          properties:
            code:
              type: string
              description: Bank identifier code.
            number:
              type: string
              description: International bank account number.
            pseudoBankNumber:
              type: string
              description: Pseudo bank number if the service is active.
            accountHolderName:
              type: string
              description: Account holder name.
            bankName:
              type: string
              description: Bank name.
        providerResponseCode:
          type: string
          description: Provider response code
        providerResponseText:
          type: string
          description: Provider response text.
    googlePayDirectResponse:
      type: object
      title: googlePay
      properties:
        schemeReferenceId:
          type: string
          description: >-
            Unique identifier assigned by card schemes that is required to be
            sent in subsequent credential on file transactions.
    klarnaDirectResponse:
      type: object
      title: klarna
      properties:
        accessToken:
          type: string
          description: >-
            Client token from Klarna. In order to be able to subsequently show
            the Klarna widgets, the Klarna JavaScript-API must be initialized
            with this token.
        subType:
          type: array
          description: >-
            Klarna sub payment methods that should be used to load the
            appropriate Klarna widgets.
          items:
            type: string
            enum:
              - PAY_NOW
              - DIRECT_DEBIT
              - DIRECT_BANK_TRANSFER
              - PAY_LATER
              - PAY_OVER_TIME
              - KLARNA
        providerResponseCode:
          type: string
          description: Response code from Klarna.
        provideResponseText:
          type: string
          description: Response description from Klarna.
    payPalDirectResponse:
      type: object
      title: payPal
      properties:
        orderId:
          type: string
          description: "Unique order identifier assigned by Paypal that should be used to construct the URL for the smart button\t."
    pfConnectDirectResponse:
      type: object
      title: pfConnect
      properties:
        financingScenarioDetail:
          type: string
          description: >-
            A set of quotations (simulations variations) calculated for a
            Financeable and FinancialProduct pair.Contains financial product
            data for a previous initialization. They are returned in JSON
            format.
    accountRatepayResponse:
      type: object
      title: account
      properties:
        bankName:
          type: string
          description: >-
            Bank name of the bank account the customer has to transfer the money
            to. Provided only when paymentMethod.ratepay.transferType is sent as
            BANK_TRANSFER in request.
        code:
          type: string
          description: >-
            Bank identifier code of the bank account the customer has to
            transfer the money to. Provided only when
            paymentMethod.ratepay.transferType is sent as BANK_TRANSFER in
            request.
        number:
          type: string
          description: >-
            International bank account number of the bank account the customer
            has to transfer the money to. Provided only when
            paymentMethod.ratepay.transferType is sent as BANK_TRANSFER in
            request.
        accountHolderName:
          type: string
          description: >-
            Account holder of the bank account the customer has to transfer the
            money to. Provided only when paymentMethod.ratepay.transferType is
            sent as BANK_TRANSFER in request.
    ratepayResponseObject:
      type: object
      title: ratepay
      properties:
        authorizationExpiry:
          type: string
          format: date-time
          description: >-
            The date and time when remaining un-cancelled and un-captured
            authorized amount will be automatically cancelled. Available only
            for successful responses HTTP 201.
        account:
          $ref: '#/components/schemas/accountRatepayResponse'
        paymentReference:
          type: string
          description: >-
            Purpose to be indicated in the bank transfer (generated by Ratepay).
            Provided only when paymentMethod.ratepay.transferType is sent as
            BANK_TRANSFER in request.
        providerTransactionId:
          type: string
          description: >-
            ID of transaction generated by Ratepay during authorization. A
            transaction ID is generated for both accepted and declined
            transactions.
    allowedPaymentMethods:
      type: array
      items:
        type: object
        properties:
          type:
            type: string
            description: >-
              Available payment method. Possible values: "Invoice", "Account",
              "Installment", "Consolidatedinvoice".
          account:
            type: object
            properties:
              profileNo:
                type: number
                description: Account profile number.
          directDebit:
            type: object
            properties:
              available:
                type: boolean
                description: Indicates whether DirectDebit is available.
          campaigns:
            type: array
            items:
              type: object
              properties:
                campaignNo:
                  type: number
                  description: Campaign number.
                description:
                  type: string
                  description: Campaign description.
          installment:
            type: object
            properties:
              basketAmount:
                type: string
                description: Available payment method.
                enum:
                  - INVOICE
                  - ACCOUNT
                  - INSTALLMENT
                  - CONSOLIDATED_INVOICE
              numberOfInstallments:
                type: number
                description: Number of installments.
              installmentAmount:
                type: string
                description: Installment amount for each month.
              firstInstallmentAmount:
                type: string
                description: First installment amount.
              lastInstallmentAmount:
                type: string
                description: Final installment amount.
              interestRate:
                type: string
                description: Interest rate.
              effectiveInterestRate:
                type: string
                description: Effective interest rate.
              effectiveAnnualPercentageRate:
                type: string
                description: Effective annual percentage.
              totalInterestAmount:
                type: string
                description: Total interest rate.
              startupFee:
                type: string
                description: Starting fee.
              monthlyFee:
                type: string
                description: Monthly fee.
              totalAmount:
                type: string
                description: Total amount.
              installmentProfileNumber:
                type: string
                description: Installment profile number.
              readMore:
                type: string
                description: Further information about the installment process.
          legalInfo:
            type: object
            properties:
              requiresCustomerConsent:
                type: number
                description: '"true", if customer consent is required.'
              termsAndConditionsUrl:
                type: string
                description: URL to Terms and Conditions.
              privacyStatementUrl:
                type: string
                description: URL to Privacy Statement.
              bgb507Url:
                type: string
                description: URL to § 507 BGB.
              text:
                type: string
                description: Legal text.
    billingAddressResponse:
      type: object
      properties:
        country:
          type: string
          description: 2 character ISO country code of billing address.
          enum:
            - 'NO'
            - SE
            - FI
            - DK
            - DE
            - AT
            - CH
            - NL
            - BE
        postalCode:
          type: string
          description: Postal code of billing address.
        city:
          type: string
          description: City of billing address.
        streetName:
          type: string
          description: Street name of billing address.
        streetNumber:
          type: string
          description: Street number of billing address.
        addressLine2:
          type: string
          description: Street number addition.
        addressLine3:
          type: string
          description: Responsible person for dispatch of shipment.
    shippingAddressResponse:
      type: object
      properties:
        countryCode:
          type: string
          description: Shipping country code.
        postalCode:
          type: string
          description: Shipping postal code.
        city:
          type: string
          description: Shipping city.
        streetName:
          type: string
          description: Shipping street.
        streetNumber:
          type: string
          description: Shipping street number.
        addressLine2:
          type: string
          description: Street number addition.
        addressLine3:
          type: string
          description: Responsible person for dispatch of shipment.
    rivertyDirectResponse:
      type: object
      title: riverty
      properties:
        allowedPaymentMethod:
          $ref: '#/components/schemas/allowedPaymentMethods'
        billingAddress:
          $ref: '#/components/schemas/billingAddressResponse'
        shippingAddress:
          $ref: '#/components/schemas/shippingAddressResponse'
        providerResponseCode:
          type: string
          description: Response code from Riverty.
        providerResponseText:
          type: string
          description: Response text from Riverty.
    paymentDirectResponse:
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                applePay:
                  $ref: '#/components/schemas/applePayDirectResponse'
                boleto:
                  $ref: '#/components/schemas/boletoDirectResponse'
                card:
                  $ref: '#/components/schemas/cardDirectResponse'
                directDebit:
                  $ref: '#/components/schemas/directDebitDirectResponse'
                googlePay:
                  $ref: '#/components/schemas/googlePayDirectResponse'
                klarna:
                  $ref: '#/components/schemas/klarnaDirectResponse'
                payPal:
                  $ref: '#/components/schemas/payPalDirectResponse'
                pfConnect:
                  $ref: '#/components/schemas/pfConnectDirectResponse'
                ratepay:
                  $ref: '#/components/schemas/ratepayResponseObject'
                riverty:
                  $ref: '#/components/schemas/rivertyDirectResponse'
    cardErrorResponse:
      type: object
      title: card
      properties:
        providerResponseCode:
          type: string
          description: Provider response code.
        providerResponseMessage:
          type: string
          description: Provider response text.
        issuerResponseCode:
          type: string
          description: Issuer response code.
        issuerResponseMessage:
          type: string
          description: Issuer response text.
    directDebitErrorResponse:
      type: object
      title: directDebit
      properties:
        providerResponseCode:
          type: string
          description: Provider response code.
        providerResponseText:
          type: string
          description: Provider response text.
    ratepayErrorResponse:
      type: object
      title: ratepay
      properties:
        providerDeclineCategory:
          type: string
          description: >-
            Decline category provider by Ratepay. See Decline Categories for
            details.
        providerResponseText:
          type: string
          description: A message from Ratepay describing which constraint was violated.
        providerResponseCode:
          type: string
          description: >-
            List of none, one or multiple reasons why the request was declined.
            See Decline Categories to learn about possible reasons for each
            decline category.
    paymentErrorResponse:
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                card:
                  $ref: '#/components/schemas/cardErrorResponse'
                directDebit:
                  $ref: '#/components/schemas/directDebitErrorResponse'
                ratepay:
                  $ref: '#/components/schemas/ratepayErrorResponse'
    amountConfirmEndpoint:
      type: object
      title: amount
      required:
        - value
        - currency
      properties:
        value:
          type: number
          description: >-
            Total order amount in smallest currency unit including taxes,
            shipping costs, discounts, etc.
        currency:
          type: string
          description: 3-character ISO currency code.
        taxTotal:
          type: number
          description: Total tax amount.
    creditCardConfirm:
      type: object
      title: card
      properties:
        eventToken:
          type: string
          description: >-
            Defines specific use cases of card payments, if applicable.

            - DELAYED_SHIPMENT: Passed to confirm the payment after the shipment
            is sent.

            - ORDER: Pass this to confirm the payment if you created the payment
            previously purely for authentication. 
          enum:
            - DELAYED_SHIPMENT
            - ORDER
    klarnaConfirm:
      type: object
      title: klarna
      required:
        - accessToken
      properties:
        accessToken:
          type: string
          description: >-
            Client token from Klarna received as a response to Create Payment
            request. Note: Access token is valid for 60 minutes. If you attempt
            to initiate confirm payment after 60 minutes, it will be rejected by
            Klarna.
    paymentConfirm:
      title: paymentMethods
      properties:
        card:
          $ref: '#/components/schemas/creditCardConfirm'
        klarna:
          $ref: '#/components/schemas/klarnaConfirm'
    confirmRequest:
      type: object
      title: ConfirmRequest
      required:
        - transId
        - amount
      properties:
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
          maxLength: 64
        amount:
          $ref: '#/components/schemas/amountConfirmEndpoint'
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually.
        captureMethod:
          $ref: '#/components/schemas/captureMethod'
        expirationTime:
          type: string
          format: date-time
          description: Transaction expiry timestamp (UTC).
          example: '2025-02-07T16:00:00Z'
        order:
          $ref: '#/components/schemas/order'
        metadata:
          type: object
          description: >-
            A collection of additional custom data provided by you to store
            extra information about the transaction. This is a set of JSON key
            value pairs passed by you. Paygate will return the data as it is in
            the response.
        billingAddress:
          $ref: '#/components/schemas/billingAddress'
        shipping:
          $ref: '#/components/schemas/shippingAddressCreatePayment'
        paymentMethods:
          $ref: '#/components/schemas/paymentConfirm'
    klarnaConfirmResponse:
      type: object
      title: klarna
      properties:
        providerTransactionId:
          type: string
          description: Transaction ID from Klarna.
        providerToken:
          type: string
          description: >-
            Consumer token from Klarna. This information is returned only when
            the initial request was sent with credentialOnFile.type as recurring
            and credentialOnFile.initialPayment as true.
        redirectUrl:
          type: string
          description: >-
            The customer must be forwarded to this URL so that Klarna can place
            a Cookie.
        providerResponseCode:
          type: string
          description: Response code from Klarna
        providerResponseText:
          type: string
          description: Response description from Klarna.
    payPalConfirmResponse:
      type: object
      title: payPal
      properties:
        providerResponseCode:
          type: number
          description: Error code from PayPal if agreed with Computop Helpdesk.
    rivertyConfirmResponse:
      type: object
      title: riverty
      properties:
        providerResponseCode:
          type: string
          description: Response code from Riverty.
        providerResponseText:
          type: string
          description: Response text from Riverty.
        billingAddress:
          $ref: '#/components/schemas/billingAddress'
        shippingAddress:
          $ref: '#/components/schemas/shippingAddressCreatePayment'
    confirmResponse:
      title: ConfirmResponse
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              properties:
                klarna:
                  $ref: '#/components/schemas/klarnaConfirmResponse'
                payPal:
                  $ref: '#/components/schemas/payPalConfirmResponse'
                riverty:
                  $ref: '#/components/schemas/rivertyConfirmResponse'
    amountReversal:
      title: amount
      type: object
      required:
        - value
        - currency
      properties:
        value:
          type: number
          description: >-
            Total order amount in smallest currency unit including taxes,
            shipping costs, discounts, etc.
        currency:
          type: string
          description: 3-character ISO currency code.
    incrementalRequest:
      type: object
      required:
        - transId
        - amount
      properties:
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
          maxLength: 64
        amount:
          $ref: '#/components/schemas/amountReversal'
        duration:
          type: number
          description: >-
            Indicates the additional number of days to be added to the stay or
            rental. Valid only for merchants operating in specific industries
            like Hotel/Car rental.
    incrementalResponse:
      title: IncrementalResponse
      type: object
      properties:
        payId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate to the payment.
            This ID remains constant throughout the lifecycle of the payment and
            is used to track and reference the payment across all subsequent
            operations, such as authorization, capture, refund, or cancellation.
        merchantId:
          type: string
          description: Merchant ID assigned by Computop Paygate.
        transId:
          type: string
          description: Transaction ID provided by you in the request.
        xId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate for each operation
            in the payment. For example: xId will be different for the
            authorization and capture operations of a payment whereas payId will
            be same.
        refNr:
          type: string
          description: Reference number provided by you in the request.
        status:
          type: string
          description: Status of the transaction.
        responseCode:
          type: string
          description: Response code of the transaction.
        responseDescription:
          type: string
          description: Response description associated with the response code.
        paymentMethods:
          type: object
          properties:
            ratepay:
              $ref: '#/components/schemas/ratepayResponseObject'
    incrementalErrorResponse:
      title: IncrementalResponse
      type: object
      properties:
        payId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate to the payment.
            This ID remains constant throughout the lifecycle of the payment and
            is used to track and reference the payment across all subsequent
            operations, such as authorization, capture, refund, or cancellation.
        merchantId:
          type: string
          description: Merchant ID assigned by Computop Paygate.
        transId:
          type: string
          description: Transaction ID provided by you in the request.
        xId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate for each operation
            in the payment. For example: xId will be different for the
            authorization and capture operations of a payment whereas payId will
            be same.
        refNr:
          type: string
          description: Reference number provided by you in the request.
        status:
          type: string
          description: Status of the transaction.
        responseCode:
          type: string
          description: Response code of the transaction.
        responseDescription:
          type: string
          description: Response description associated with the response code.
        paymentMethods:
          type: object
          properties:
            ratepay:
              $ref: '#/components/schemas/ratepayErrorResponse'
    reversalRequest:
      type: object
      title: ReversalRequest
      required:
        - transId
        - amount
      properties:
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
          maxLength: 64
        amount:
          $ref: '#/components/schemas/amountReversal'
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually.
        order:
          $ref: '#/components/schemas/order'
        metadata:
          type: object
          description: >-
            A collection of additional custom data provided by you to store
            extra information about the transaction. This is a set of JSON key
            value pairs passed by you. Paygate will return the data as it is in
            the response.
    cardReversalResponse:
      type: object
      title: card
      properties:
        providerResponseCode:
          type: string
          description: Returned only when Acquirer is Clearhaus or MasaPay.
        providerResponseText:
          type: string
          description: >-
            Returned only when Acquirer is Clearhaus or MasaPay. Information is
            passed only when status is FAILED.
        providerTransactionId:
          type: string
          description: Provider transaction ID. Returned only when Acquirer is Clearhaus.
        providerApprovalCode:
          type: number
          description: Approval Code returned by acquirer.
    klarnaReversalResponse:
      type: object
      title: klarna
      properties:
        providerResponseCode:
          type: string
          description: Response code from Klarna.
        providerResponseText:
          type: string
          description: Response description from Klarna.
    payPalReversalResponse:
      type: object
      title: payPal
      properties:
        providerResponseCode:
          type: string
          description: Error code from PayPal if agreed with Computop Helpdesk.
    rivertyReversalResponse:
      type: object
      title: riverty
      properties:
        providerResponseCode:
          type: string
          description: Response code from Riverty.
        providerResponseText:
          type: string
          description: Response text from Riverty.
    reversalResponse:
      title: ReversalResponse
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                card:
                  $ref: '#/components/schemas/cardReversalResponse'
                klarna:
                  $ref: '#/components/schemas/klarnaReversalResponse'
                payPal:
                  $ref: '#/components/schemas/payPalReversalResponse'
                ratepay:
                  $ref: '#/components/schemas/ratepayResponseObject'
                riverty:
                  $ref: '#/components/schemas/rivertyReversalResponse'
    cardErrorResponseObject:
      type: object
      title: card
      properties:
        providerResponseCode:
          type: string
          description: Returned only when Acquirer is Clearhaus or MasaPay.
        providerResponseText:
          type: string
          description: >-
            Returned only when Acquirer is Clearhaus or MasaPay. Information is
            passed only when status is FAILED.
    reversalErrorResponse:
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                card:
                  $ref: '#/components/schemas/cardErrorResponseObject'
                ratepay:
                  $ref: '#/components/schemas/ratepayErrorResponse'
    captureMethodCapture:
      type: object
      title: captureMethod
      properties:
        manual:
          type: object
          properties:
            currentSequence:
              type: number
              description: >-
                Represents the sequence number of the current manual capture in
                a series of captures for a single transaction. Relevant for
                multiple partial captures.
            final:
              type: boolean
              description: >-
                Indicates whether the current manual capture is the final
                capture for the transaction. Relevant for multiple partial
                captures.True means final capture.False means not a final
                capture.
            total:
              type: number
              description: Indicates the total number of partial captures will be sent.
    amounts:
      type: object
      properties:
        grossAmount:
          type: integer
        netAmount:
          type: integer
        taxAmount:
          type: integer
    tax:
      type: object
      properties:
        taxRate:
          type: number
        taxTypeIndicator:
          type: string
          enum:
            - ValueAddedTax
            - SalesTax
            - Other
    enhancedDataCommon:
      type: object
      title: common
      required:
        - amounts
      properties:
        amounts:
          $ref: '#/components/schemas/amounts'
        tax:
          $ref: '#/components/schemas/tax'
    enhancedDataAddress:
      type: object
      title: address
      properties:
        street:
          type: string
        city:
          type: string
        zipCode:
          type: string
        state:
          type: string
        country:
          type: string
    rentalDetails:
      type: object
      required:
        - salesIndicator
        - folioNumber
      properties:
        salesIndicator:
          type: string
          enum:
            - D
            - F
            - R
        rentalRate:
          type: string
        orderNumber:
          type: string
        folioNumber:
          type: string
        serviceDescription:
          type: string
        oneWayServiceCharge:
          type: integer
    extraCharges:
      type: object
      properties:
        amount:
          type: integer
        reason:
          type: string
          enum:
            - None
            - Fuel
            - ExtraMileage
            - LateReturn
            - OneWayService
            - ParkingViolation
    pointOfSale:
      type: object
      properties:
        title:
          type: string
        url:
          type: string
        email:
          type: string
        phone:
          type: string
    carRentalCommon:
      type: object
      title: common
      required:
        - rentalAgreementNumber
        - rentalStartDate
        - rentalStartTime
        - pickupLocation
        - returnDate
        - returnTime
        - dropOffLocation
        - daysHired
        - carClass
        - carRegistrationNumber
        - renterName
        - reservationNumber
        - rentalDetails
      properties:
        rentalAgreementNumber:
          type: string
        rentalStart:
          type: string
          format: date
          description: Date and Time are both passed.
        pickupLocation:
          $ref: '#/components/schemas/enhancedDataAddress'
        return:
          type: string
          format: date
          description: Date and Time are both passed.
        dropOffLocation:
          $ref: '#/components/schemas/enhancedDataAddress'
        daysHired:
          type: integer
        carClass:
          type: string
        carRegistrationNumber:
          type: string
        renterName:
          type: string
        renterAddress:
          $ref: '#/components/schemas/enhancedDataAddress'
        noShowIndicator:
          type: boolean
        reservationNumber:
          type: string
        rentalDetails:
          $ref: '#/components/schemas/rentalDetails'
        extraCharges:
          $ref: '#/components/schemas/extraCharges'
        pointOfSale:
          $ref: '#/components/schemas/pointOfSale'
    person:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
    rentalInformation:
      type: object
      required:
        - carMake
        - milesDriven
        - driver
        - carRentalCompanyId
      properties:
        carMake:
          type: string
        departureDate:
          type: string
          format: date
          description: 'In format: YYYY-MM-DD'
        customerOrderNumber:
          type: string
        costPerMile:
          type: integer
        milesDriven:
          type: integer
        driver:
          $ref: '#/components/schemas/person'
        vehicleGroup:
          type: string
        carRentalCompanyId:
          type: string
          enum:
            - D
            - F
            - G
            - H
            - M
            - O
            - P
            - T
            - W
            - 'Y'
            - Z
        fuelConsumption:
          type: integer
    billingAndInvoiceInformation:
      type: object
      required:
        - countryCode
      properties:
        accountingUnit:
          type: string
        businessUnit:
          type: string
        actionNumber:
          type: string
        voucherNumber:
          type: string
        department:
          type: string
        discountNumber:
          type: string
        internalAccountNumber:
          type: string
        costCenter:
          type: string
        customerNumber:
          type: string
        customerReference:
          type: string
        employeeNumber:
          type: string
        projectNumber:
          type: string
        invoiceDate:
          type: string
          format: date
          description: 'In format: YYYY-MM-DD'
        invoiceNumber:
          type: string
        destination:
          type: string
        taxRegistrationNumber:
          type: string
        comments:
          type: string
        misc:
          type: string
        countryCode:
          type: string
    mileageUnit:
      type: string
      enum:
        - Km
        - Mi
    hotelBookingDetails:
      type: object
      properties:
        name:
          type: string
        checkInDate:
          type: string
          format: date
          description: 'In format: YYYY-MM-DD'
        locationCity:
          type: string
        roomNights:
          type: number
    carSharing:
      type: object
      required:
        - amounts
        - tax
        - taxTypeIndicator
        - documentNumber
        - serviceDescription
      properties:
        amounts:
          $ref: '#/components/schemas/amounts'
        nonVATableNetAmount:
          type: integer
        tax:
          $ref: '#/components/schemas/tax'
        taxTypeIndicator:
          type: string
          enum:
            - NoVat
            - NonDeductibleCityVAT
            - NonDeductibleState
            - DeductibleCityVAT
            - DeductibleState
            - DeductibleNationalVAT
            - EUReverseCharge
        documentNumber:
          type: string
          description: >-
            Size: 10, internal document number of the related service as printed
            on the voucher, train-ticket, etc.
        serviceDescription:
          type: string
          description: 'Size: 135, will be parsed into 3 sub-fields with 45 digits each'
        serviceType:
          type: string
        hotelBookingDetails:
          $ref: '#/components/schemas/hotelBookingDetails'
    airPlusLineItem:
      type: object
      title: lineItem
      required:
        - itemDescription
        - amounts
        - tax
      properties:
        itemDescription:
          type: string
          enum:
            - C9
            - CB
            - CC
            - CG
            - CI
            - CJ
            - CT
            - CU
            - CV
            - CW
            - CX
            - CY
            - D4
            - D7
            - D8
            - D9
            - DA
            - O6
            - OQ
        amounts:
          $ref: '#/components/schemas/amounts'
        tax:
          $ref: '#/components/schemas/tax'
    carRentalAirPlus:
      type: object
      title: airPlus
      required:
        - rentalInformation
        - billingAndInvoiceInformation
        - mileageUnit
        - odometerStart
        - odometerReturn
      properties:
        rentalInformation:
          $ref: '#/components/schemas/rentalInformation'
        billingAndInvoiceInformation:
          $ref: '#/components/schemas/billingAndInvoiceInformation'
        mileageUnit:
          $ref: '#/components/schemas/mileageUnit'
        odometerStart:
          type: integer
        odometerReturn:
          type: integer
        telcoUnits:
          type: integer
        carSharing:
          $ref: '#/components/schemas/carSharing'
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/airPlusLineItem'
    additionalAmount:
      type: object
      required:
        - amountTypeCode
        - transactionType
        - amounts
        - tax
      properties:
        amountTypeCode:
          type: string
        transactionType:
          type: string
          enum:
            - Debit
            - Credit
        amounts:
          $ref: '#/components/schemas/amounts'
        tax:
          $ref: '#/components/schemas/tax'
    supplier:
      type: object
      required:
        - name
      properties:
        name:
          type: string
        taxRegistrationNumber:
          type: string
        matchCode:
          type: string
        legalName:
          type: string
        address:
          $ref: '#/components/schemas/enhancedDataAddress'
    amexInvoice:
      type: object
      title: invoice
      properties:
        number:
          type: string
        date:
          type: string
          format: date
          description: 'In format: YYYY-MM-DD'
        associatedNumber:
          type: string
    provider:
      type: object
      required:
        - travelAgencyCode
        - travelOfficeCode
        - transactionReference
        - invoiceIndicator
        - invoiceNumber
        - invoiceDate
      properties:
        travelAgencyCode:
          type: string
        travelOfficeCode:
          type: string
        transactionReference:
          type: string
        invoiceIndicator:
          type: string
          enum:
            - 'N'
            - 'Y'
            - R
        invoice:
          $ref: '#/components/schemas/amexInvoice'
        iataNumber:
          type: integer
        serviceCentre:
          type: string
        terminalId:
          type: string
        providerReference:
          type: string
        electronicInvoiceLocation:
          type: string
    bookingSystem:
      type: object
      properties:
        bookingSystemReference:
          type: string
        invoice:
          $ref: '#/components/schemas/amexInvoice'
    reference:
      type: object
      required:
        - statementField
        - typeCode
        - data
      properties:
        statementField:
          type: string
          enum:
            - '01'
            - '02'
            - '03'
            - '04'
            - '05'
            - '06'
            - '07'
          description: >-
            The number indicates which reference field on the statement that the
            customer wishes to see this data in
        typeCode:
          type: string
          enum:
            - CostCentre
            - EmployeeId
            - TravelBookerName
            - JobNumber
            - ProjectCode
            - BusinessUnit
            - Other
        data:
          type: string
    amexLineItem:
      type: object
      title: lineItem
      required:
        - number
        - description
        - reference
        - statementIndicator
        - grossAmount
        - transactionType
        - additionalAmounts
      properties:
        number:
          type: integer
        description:
          type: string
        reference:
          type: string
        statementIndicator:
          type: string
          enum:
            - 'N'
            - 'Y'
            - R
        grossAmount:
          type: integer
        transactionType:
          type: string
          enum:
            - Debit
            - Credit
        additionalAmounts:
          type: array
          items:
            $ref: '#/components/schemas/additionalAmount'
    amex:
      type: object
      required:
        - additionalAmounts
        - destination
        - departureDate
        - traveller
        - supplier
        - provider
        - CustomerReference
      properties:
        cancellationReason:
          type: string
        bookingSourceCode:
          type: string
          enum:
            - OnlineBooking
            - SelfBookingTool
            - AfterHoursBooking
            - PhoneBooking
        mediaCode:
          type: string
          enum:
            - CardmemberSignatureOnFile
            - PhoneOrder
            - MailOrder
            - InternetOrder
            - RecurringBilling
        globalDistributionSystem:
          type: string
          enum:
            - Amadeus
            - Sabre
            - Galileo
        originalAmount:
          type: integer
        originalCurrencyCode:
          type: string
        additionalAmounts:
          type: array
          items:
            $ref: '#/components/schemas/additionalAmount'
        destination:
          type: string
        departureDate:
          type: string
          format: date
          description: 'In format: YYYY-MM-DD'
        travellers:
          type: array
          items:
            $ref: '#/components/schemas/person'
        consultant:
          type: string
        mileageUnit:
          $ref: '#/components/schemas/mileageUnit'
        milesDriven:
          type: integer
        supplier:
          $ref: '#/components/schemas/supplier'
        provider:
          $ref: '#/components/schemas/provider'
        bookingSystem:
          $ref: '#/components/schemas/bookingSystem'
        customerReference:
          type: array
          items:
            $ref: '#/components/schemas/reference'
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/amexLineItem'
    enhancedDataCarRental:
      type: object
      title: carRental
      properties:
        common:
          $ref: '#/components/schemas/carRentalCommon'
        airPlus:
          $ref: '#/components/schemas/carRentalAirPlus'
        amex:
          $ref: '#/components/schemas/amex'
    cardCapture:
      title: card
      type: object
      properties:
        finishAuth:
          type: boolean
          description: >-
            Transmit value in order to stop the renewal of guaranteed
            authorisations and rest amounts after partial captures. Use this
            parameter only if you are using the additional function ETM
            (Extended Transactions Managament).
    directDebitCapture:
      title: directDebit
      properties:
        mandateId:
          type: string
          description: >-
            for SEPA: SEPA mandate number (compulsory in the case of SEPA).
            Should be unique, is not case-sensitive. Permissible characters:
            numbers 0-9, upper case letters A-Z, lower case letters a-z,
            apostrophe, colon, question mark, comma, full stop, plus sign, minus
            sign, forward slash, left and right bracket.
        dateOfSignature:
          type: string
          format: date
          description: >-
            for SEPA: Date of issuing the mandate in the format DD.MM.YYYY
            (obligatory when transferring the MandateID).
    shippingInfoMini:
      title: shippingInfo
      type: object
      description: Delivery information (e.g. tracking data)
      properties:
        trackingId:
          type: string
          description: Tracking number for the shipment.
        returnTrackingId:
          type: string
          description: Tracking number for the return shipment.
        returnShippingCompany:
          type: string
          description: >-
            Identifier of the shipping company. The value should be a valid
            SHIPPING_COMPANY from the Carrier list:
            https://docs.klarna.com/payments/after-payments/order-management/more-actions/klarna-carrier-partner-list/
    shippingInfo:
      allOf:
        - $ref: '#/components/schemas/shippingInfoMini'
        - type: object
          description: Delivery information (e.g. tracking data)
          properties:
            shippingCompany:
              type: string
              description: >-
                Identifier of the shipping company. The value should be a valid
                SHIPPING_COMPANY from the Carrier list:
                https://docs.klarna.com/payments/after-payments/order-management/more-actions/klarna-carrier-partner-list/
            shippingMethod:
              type: string
              description: Shipping method.
              enum:
                - PICK_UP_STORE
                - HOME
                - BOX_REG
                - BOX_UNREG
                - PICK_UP_POINT
                - OWN
                - POSTAL
                - DHL_PACKSTATION
                - DIGITAL
                - UNDEFINED
                - PICK_UP_WAREHOUSE
                - CLICK_COLLECT
                - PALLET_DELIVERY_PICK_UP_POINT
                - PALLET_DELIVERY
            trackingUrl:
              type: string
              description: URL where the customer can track their shipment.
            returnTrackingUrl:
              type: string
              description: URL where the customer can track the return shipment.
    klarnaCapture:
      title: klarna
      properties:
        completeType:
          type: string
          description: >-
            With this parameter during a partial capture it is possible to
            reverse the remaining amount simultaneously. Possible value "YES".
            If the order was processed completely this parameter will cause an
            error, because a remaining amount of 0 cannot be reversed.
        shippingInfo:
          $ref: '#/components/schemas/shippingInfo'
    payPalCapture:
      title: payPal
      properties:
        completeType:
          type: boolean
          description: >-
            Defines the completeness of capture for an open Paypal order. If
            sent as true, order is closed for capture. Reason: a 115% capture is
            permissible on the part of PayPal. If a capture reached 100%,
            Paygate automatically sends a request to close the payment.
    shippingInfoCapture:
      type: object
      title: shipping
      required:
        - type
        - shippingCompany
        - trackingId
      properties:
        type:
          type: string
          description: Dispatch type.
          enum:
            - SHIPMENT
            - RETURN
        shippingCompany:
          type: string
          description: Shipping company
        trackingId:
          type: string
          description: Unique TrackingID
    rivertyCapture:
      title: riverty
      required:
        - shippingInfo
      properties:
        shippingInfo:
          $ref: '#/components/schemas/shippingInfoCapture'
    paymentCapture:
      title: paymentMethods
      properties:
        card:
          $ref: '#/components/schemas/cardCapture'
        directDebit:
          $ref: '#/components/schemas/directDebitCapture'
        klarna:
          $ref: '#/components/schemas/klarnaCapture'
        payPal:
          $ref: '#/components/schemas/payPalCapture'
        riverty:
          $ref: '#/components/schemas/rivertyCapture'
      type: object
    captureRequest:
      type: object
      title: CaptureRequest
      required:
        - transId
        - amount
      properties:
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
          maxLength: 64
          example: test-TransactionId01
        amount:
          $ref: '#/components/schemas/amountReversal'
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually.
        order:
          $ref: '#/components/schemas/order'
        statementDescriptor:
          type: string
          description: >-
            Short, clear description of the transaction that appears on the
            customer's statement.
        captureMethod:
          $ref: '#/components/schemas/captureMethodCapture'
        enhancedData:
          type: object
          required:
            - common
          properties:
            common:
              $ref: '#/components/schemas/enhancedDataCommon'
            carRental:
              $ref: '#/components/schemas/enhancedDataCarRental'
        paymentMethods:
          $ref: '#/components/schemas/paymentCapture'
    cardCaptureResponse:
      type: object
      title: card
      properties:
        providerResponseCode:
          type: string
          description: Returned only when Acquirer is Clearhaus or MasaPay.
        providerResponseText:
          type: string
          description: >-
            Returned only when Acquirer is Clearhaus or MasaPay. Information is
            passed only when status is FAILED.
        providerTransactionId:
          type: string
          description: Provider transaction ID. Returned only when Acquirer is Clearhaus.
        providerApprovalCode:
          type: number
          description: Approval Code returned by acquirer.
    klarnaCaptureResponse:
      type: object
      title: klarna
      properties:
        providerResponseCode:
          type: string
          description: Response code from Klarna.
        providerResponseText:
          type: string
          description: Response description from Klarna.
        invoiceNumber:
          type: string
          description: >-
            Invoice/booking number from Klarna. This number is needed for
            example for resending the E-Mail with payment and order information.
    payPalCaptureResponse:
      type: object
      title: payPal
      properties:
        providerResponseCode:
          type: number
          description: Error code from PayPal if agreed with Computop Helpdesk.
        providerTransactionId:
          type: string
          description: >-
            Unique PayPal-generated Capture ID. The value is required for a
            refund after several partial captures.
    rivertyCaptureResponse:
      type: object
      title: riverty
      properties:
        providerResponseCode:
          type: number
          description: Response code from Riverty.
        providerResponseText:
          type: string
          description: Response text from Riverty.
        invoiceNumber:
          type: string
          description: >-
            Booking number generated by merchant or, if not available, by
            Riverty. Is necessary for partial credits.
    captureResponse:
      title: CaptureResponse
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                card:
                  $ref: '#/components/schemas/cardCaptureResponse'
                klarna:
                  $ref: '#/components/schemas/klarnaCaptureResponse'
                payPal:
                  $ref: '#/components/schemas/payPalCaptureResponse'
                ratepay:
                  $ref: '#/components/schemas/ratepayResponseObject'
                riverty:
                  $ref: '#/components/schemas/rivertyCaptureResponse'
    payPalErrorResponse:
      type: object
      title: payPal
      properties:
        providerDeclineCategory:
          type: string
          description: Error code from PayPal if agreed with Computop Helpdesk.
    captureErrorResponse:
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                card:
                  $ref: '#/components/schemas/cardErrorResponseObject'
                payPal:
                  $ref: '#/components/schemas/payPalErrorResponse'
                ratepay:
                  $ref: '#/components/schemas/ratepayErrorResponse'
    boletoCredit:
      title: boleto
      properties:
        bankName:
          type: string
          description: >-
            Bank name of the customer. Relevant only when processing Boleto via
            Pagbrasil.
        accountNumber:
          type: string
          description: >-
            Customer's account number (must contain a hyphen, e.g. 12345-6).
            Relevant only when processing Boleto via Pagbrasil.
        bankSortCode:
          type: string
          description: >-
            Bank sort code or rather branch number of the bank. Relevant only
            when processing Boleto via Pagbrasil.
    cardCredit:
      title: card
      properties:
        providerTransactionId:
          type: string
          description: >-
            Transaction ID returned by the provider in the capture response.
            This is needed for the use cases of multiple captures and if you
            want to refund a specific capture. If the parameter is not submitted
            then the last capture will be credited.
    payPalCredit:
      title: payPal
      properties:
        providerTransactionId:
          type: string
          description: >-
            Transaction ID returned by Paypal in the capture response. This is
            needed for the use cases of multiple captures and if you want to
            refund a specific capture.
    rivertyCredit:
      title: riverty
      properties:
        refundType:
          type: string
          description: Type of credit.
          enum:
            - RETURN
            - REFUND
        invoiceNumber:
          type: string
          description: >-
            Invoice number that is displayed within Riverty portal. An order can
            contain more than one invoice.
    paymentCredit:
      title: paymentMethods
      properties:
        boleto:
          $ref: '#/components/schemas/boletoCredit'
        card:
          $ref: '#/components/schemas/cardCredit'
        payPal:
          $ref: '#/components/schemas/payPalCredit'
        riverty:
          $ref: '#/components/schemas/rivertyCredit'
    refundRequest:
      type: object
      title: RefundRequest
      required:
        - transId
        - amount
      properties:
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
          maxLength: 64
          example: test-TransactionId01
        amount:
          $ref: '#/components/schemas/amountReversal'
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually.
        metadata:
          type: object
          description: >-
            A collection of additional custom data provided by you to store
            extra information about the transaction. This is a set of JSON key
            value pairs passed by you. Paygate will return the data as it is in
            the response.
        order:
          $ref: '#/components/schemas/order'
        statementDescriptor:
          type: string
          description: >-
            Short, clear description of the transaction that appears on the
            customer's statement.
        paymentMethods:
          $ref: '#/components/schemas/paymentCredit'
    bancontactCreditResponse:
      type: object
      title: bancontact
      properties:
        providerResponseText:
          type: number
          description: >-
            Response text from the provider. Returned only when the status is
            FAILED.
    boletoCreditResponse:
      type: object
      title: boleto
      properties:
        providerResponseText:
          type: number
          description: >-
            Response text from the provider. Returned only when the status is
            FAILED.
    cardCreditResponse:
      type: object
      title: card
      properties:
        providerResponseCode:
          type: string
          description: Returned only when Acquirer is Clearhaus or MasaPay.
        providerResponseText:
          type: string
          description: >-
            Returned only when Acquirer is Clearhaus or MasaPay. Information is
            passed only when status is FAILED.
        providerTransactionId:
          type: string
          description: Provider transaction ID. Returned only when Acquirer is Clearhaus.
    klarnaCreditResponse:
      type: object
      title: klarna
      properties:
        providerResponseCode:
          type: string
          description: Response code from Klarna.
        providerResponseText:
          type: string
          description: Response description from Klarna.
        invoiceNumber:
          type: string
          description: >-
            Invoice/booking number from Klarna. This number is needed for
            example for resending the E-Mail with payment and order information.
    payPalCreditResponse:
      type: object
      title: payPal
      properties:
        providerResponseCode:
          type: number
          description: Error code from PayPal if agreed with Computop Helpdesk.
        feeRefundAmount:
          type: number
          description: The refunded amount of the PayPal transaction fees.
        grossRefundAmount:
          type: number
          description: Amount refunded to the buyer in this refund transaction.
        netRefundAmount:
          type: number
          description: Amount deducted from your PayPal account to make this refund.
    rivertyCreditResponse:
      type: object
      title: riverty
      properties:
        providerResponseCode:
          type: number
          description: Response code from Riverty.
        providerResponseText:
          type: string
          description: Response code from Riverty.
    baseRefundResponse:
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                bancontact:
                  $ref: '#/components/schemas/bancontactCreditResponse'
                boleto:
                  $ref: '#/components/schemas/boletoCreditResponse'
                card:
                  $ref: '#/components/schemas/cardCreditResponse'
                klarna:
                  $ref: '#/components/schemas/klarnaCreditResponse'
                payPal:
                  $ref: '#/components/schemas/payPalCreditResponse'
                ratepay:
                  $ref: '#/components/schemas/ratepayResponseObject'
                riverty:
                  $ref: '#/components/schemas/rivertyCreditResponse'
    refundResponse:
      title: RefundResponse
      allOf:
        - $ref: '#/components/schemas/baseRefundResponse'
        - type: object
    refundErrorResponse:
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                card:
                  $ref: '#/components/schemas/cardErrorResponseObject'
                payPal:
                  $ref: '#/components/schemas/payPalErrorResponse'
                ratepay:
                  $ref: '#/components/schemas/ratepayErrorResponse'
    billingAddressRefundPayment:
      title: billingAddress
      allOf:
        - type: object
          properties:
            firstName:
              type: string
              description: First name of billing address.
            lastName:
              type: string
              description: Last name of billing address.
        - $ref: '#/components/schemas/billingAddress'
    phone:
      type: object
      properties:
        countryCode:
          type: string
          description: Country code of the phone number.
        number:
          type: string
          description: Phone number.
    customerInfoCreditEx:
      type: object
      title: customerInfo
      required:
        - email
      properties:
        merchantCustomerId:
          type: string
          description: >-
            A unique identifier for the customer, assigned by the merchant's
            system.
        customerType:
          type: string
          description: Specifies the type of customer, such as "individual" or "business".
        firstName:
          type: string
          description: First name of the customer.
        lastName:
          type: string
          description: Last name (surname) of the customer.
        email:
          type: string
          description: Email address of the customer.
        phone:
          $ref: '#/components/schemas/phone'
        birthDate:
          type: string
          description: Birth date of the customer in YYYY-MM-DD format.
    browserInfoCreditEx:
      type: object
      title: browserInfo
      properties:
        acceptHeaders:
          type: string
          description: >-
            Exact content of the HTTP accept headers as sent from the customer’s
            browser.
        ipAddres:
          type: string
          description: IP address of the browser as returned by the HTTP headers.
        sessionId:
          type: string
          description: Customer´s Session ID.
    cardRefund:
      title: card
      required:
        - number
        - cardholderName
        - expiryDate
        - brand
      properties:
        number:
          type: string
          description: The card number or the pseudo card number of the payment card.
        cardholderName:
          type: string
          description: The name of the cardholder as it appears on the payment card.
        expiryDate:
          type: string
          description: The expiration date of the card in YYYYMM format.
        brand:
          type: string
          description: The brand or network of the card, such as "visa", "mastercard".
        securityCode:
          type: string
          description: The Card Security Code, also known as CVV or CVC.
        paymentOfWinnings:
          type: boolean
          description: >-
            In the case of the acquirer EMS (Omnipay) the merchant can control
            CFT credit notes in this way.Transfer PaymentOfWinnings=True to
            credit a win rather than simply repaying a paid amount.
        paymentData:
          type: object
          description: Additional data if PaymentOfWinnings=True.
          properties:
            senderData:
              type: object
              properties:
                accountNumber:
                  type: string
                  description: >-
                    Contains the sender’s bank account number from which the
                    funds are to be taken.
                name:
                  type: string
                  description: >-
                    Contains the name of the person or business for the account
                    from which funds are to be taken.
                address:
                  type: string
                  description: >-
                    Contains the address of the person or business for the
                    account from which funds are to be taken.
                city:
                  type: string
                  description: >-
                    Contains the city of the person or business for the account
                    from which funds are to be taken.
                countryCode:
                  type: string
                  description: >-
                    Contains the country of the person or business’s account
                    from which funds are to be taken. To be sent in number 3
                    Digit ISO standard.
                transactionMethod:
                  type: string
                  enum:
                    - CREDIT
                    - DEBIT
                    - PREPAID
                    - CASH
                    - DEPOSIT_ACCOUNT
                    - MOBILE_MONEY_ACCOUNT
                  description: >-
                    It indicates the method used by the sender to fund a Payment
                    of winning transaction.
                accountType:
                  type: string
                  enum:
                    - RTN_AND_BANK_ACCOUNT_NUMBER
                    - IBAN
                    - CARD_ACCOUNT
                    - IBAN_AND_BIC
            recipientData:
              type: object
              properties:
                name:
                  type: string
    accountRefund:
      type: object
      title: account
      required:
        - number
        - accountHolderName
      properties:
        number:
          type: string
          description: International Bank Account Number.
        code:
          type: string
          description: Bank Identifier Code.
        bankName:
          type: string
          description: Bank name.
        accountHolderName:
          type: string
          description: Account holder name.
    directDebitRefund:
      title: directDebit
      required:
        - account
      properties:
        account:
          $ref: '#/components/schemas/accountRefund'
    payPalRefund:
      title: payPal
      properties:
        accountId:
          type: string
          description: >-
            Your Paypal account ID. It can be ID or email address associated
            with the Paypal account. This parameter can be passed to override
            the static merchant configuration if you have multiple Paypal
            accounts.
        payerId:
          type: string
          description: Unique identification number of customer account at PayPal.
    paymentMethods:
      properties:
        card:
          $ref: '#/components/schemas/cardRefund'
        directDebit:
          $ref: '#/components/schemas/directDebitRefund'
        payPal:
          $ref: '#/components/schemas/payPalRefund'
    creditExRequest:
      type: object
      title: CreditExRequest
      required:
        - transId
        - amount
      properties:
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
          maxLength: 64
          example: test-TransactionId01
        amount:
          $ref: '#/components/schemas/amountConfirmEndpoint'
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually.
        billingAddress:
          $ref: '#/components/schemas/billingAddressRefundPayment'
        shipping:
          $ref: '#/components/schemas/shippingAddressCreatePayment'
        statementDescriptor:
          type: string
          description: >-
            Short, clear description of the transaction that appears on the
            customer's statement.
        customerInfo:
          $ref: '#/components/schemas/customerInfoCreditEx'
        browserInfo:
          $ref: '#/components/schemas/browserInfoCreditEx'
        metadata:
          type: object
          description: >-
            A collection of additional custom data provided by the merchant to
            store extra information about the transaction. This is a set of JSON
            key value pairs passed by the merchant. Paygate will return the data
            as it is in the response.
        paymentMethods:
          $ref: '#/components/schemas/paymentMethods'
    cardCreditExResponse:
      title: card
      properties:
        providerResponseCode:
          type: string
          description: Returned only when Acquirer is Clearhaus or MasaPay.
        providerResponseText:
          type: string
          description: >-
            Returned only when Acquirer is Clearhaus or MasaPay. Information is
            passed only when status is FAILED.
        providerTransactionId:
          type: string
          description: Provider transaction ID. Returned only when Acquirer is Clearhaus.
        providerApprovalCode:
          type: number
          description: Approval code returned by provider.
    payPalCreditExResponse:
      title: payPal
      properties:
        providerResponseCode:
          type: number
          description: Error code from PayPal if agreed with Computop Helpdesk.
        feeRefundAmount:
          type: number
          description: The refunded amount of the PayPal transaction fees.
        grossRefundAmount:
          type: number
          description: Amount refunded to the buyer in this refund transaction.
        netRefundAmount:
          type: number
          description: Amount deducted from your PayPal account to make this refund.
    baseCreditExResponse:
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                card:
                  $ref: '#/components/schemas/cardCreditExResponse'
                payPal:
                  $ref: '#/components/schemas/payPalCreditExResponse'
    creditExResponse:
      title: CreditExResponse
      allOf:
        - $ref: '#/components/schemas/baseCreditExResponse'
        - type: object
    creditExErrorResponse:
      allOf:
        - $ref: '#/components/schemas/baseResponse'
        - type: object
          properties:
            paymentMethods:
              type: object
              properties:
                card:
                  $ref: '#/components/schemas/cardErrorResponseObject'
    baseDetailsResponse:
      type: object
      properties:
        payId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate to the payment.
            This ID remains constant throughout the lifecycle of the payment and
            is used to track and reference the payment across all subsequent
            operations, such as authorization, capture, refund, or cancellation.
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
        externalIntegrationId:
          type: string
          description: External integration identifier
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually. 
        xId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate for each operation
            in the payment. For example: xId will be different for the
            authorization and capture operations of a payment whereas payId will
            be same.
        status:
          type: string
          description: Status of the transaction.
        responseCode:
          type: string
          description: Response code of the transaction.
        responseDescription:
          type: string
          description: Response description associated with the response code.
        metadata:
          type: object
          description: >-
            A collection of additional custom data provided by you to store
            extra information about the transaction. This is a set of JSON key
            value pairs passed by you. Paygate will return the data as it is in
            the response.
    amountPaymentDetails:
      title: amount
      type: object
      properties:
        value:
          type: number
          description: >-
            Total order amount in the smallest currency unit, including taxes,
            shipping costs, discounts, etc.
        currency:
          type: string
          description: 3-character ISO currency code.
        taxTotal:
          type: number
          description: Total tax amount.
        netItemTotal:
          type: number
          description: >-
            Total net amount of the products as part of the order, excluding
            shipping costs.
        netShippingAmount:
          type: number
          description: Net shipping costs.
        grossShippingAmount:
          type: number
          description: Gross shipping costs.
        netDiscount:
          type: number
          description: Net discount amount.
        grossDiscount:
          type: number
          description: Gross discount amount.
        capturedValue:
          type: number
          description: Amount captured
        refundedValue:
          type: number
          description: Amount refunded
    orderPaymentDetails:
      type: object
      title: order
      properties:
        id:
          type: string
          description: A unique identifier for the order, assigned by your system.
        numberOfArticles:
          type: number
          description: The total number of articles (items) included in the order.
        creationDate:
          type: string
          format: date-time
          description: The date and time when the order was created.
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: A unique identifier for the specific item in the order.
              sku:
                type: string
                description: >-
                  The Stock Keeping Unit (SKU) of the item, used to uniquely
                  identify the product within the merchant's inventory.
              name:
                type: string
                description: The name or title of the item being purchased.
              type:
                type: string
                description: >-
                  The type of item, such as "physical", "digital", "discount",
                  "sales_tax", "shipping_fee", "discount", "gift_card",
                  "store_credit", etc.
              quantity:
                type: number
                description: The quantity of this item being purchased in the order.
              quantityUnit:
                type: string
                description: >-
                  The unit of measurement for the quantity, such as "pcs", "kg",
                  or "liters".
              taxRate:
                type: number
                description: >-
                  The tax rate applied to this item. Percentage sign must be
                  replaced with two zeros. For example: A tax rate of 25% should
                  be sent as 2500.
              netPrice:
                type: number
                description: >-
                  The net price of a single unit of this item, excluding tax and
                  discounts.
              grossPrice:
                type: number
                description: >-
                  The gross price of a single unit of this item, including taxes
                  but excluding discounts.
              totalDiscountAmount:
                type: number
                description: >-
                  The total discount amount applied to this item across all
                  units.
              totalTaxAmount:
                type: number
                description: >-
                  The total tax amount applied to this item across all units.
                  The value maybe negative if type is discount.
              merchantData:
                type: string
                description: >-
                  Additional data or metadata provided by the merchant about
                  this item.
              description:
                type: string
                description: Detailed description of the item.
              marketplaceSellerId:
                type: string
                description: An identifier for the seller in a marketplace context.
              lineNumber:
                type: number
                description: >-
                  A sequential line number assigned to this item in the order
                  for reference purposes.
              merchantProductType:
                type: string
                description: A classification or type assigned to this product by you.
              googleProductCategory:
                type: string
                description: >-
                  Indicates the category of the item based on the Google product
                  taxonomy.
              googleProductCategoryId:
                type: number
                description: Google product category ID.
              groupId:
                type: string
                description: An identifier used to group related items together.
              taxCategory:
                type: string
                description: Specifies the tax category applicable to this item.
              additionalDescription:
                type: string
                description: >-
                  Any additional descriptive information about this item not
                  covered elsewhere.
              productInfo:
                $ref: '#/components/schemas/productInfo'
              articleNumbers:
                type: object
                properties:
                  numberType:
                    type: string
                  number:
                    type: string
              status:
                type: string
                description: >-
                  Status of each order item. Applicable for marketplace
                  functionality.
              invoiceId:
                type: string
                description: >-
                  Invoice ID of each order item. Applicable for marketplace
                  functionality.
              captureId:
                type: string
                description: >-
                  Capture ID of each order item. Applicable for marketplace
                  functionality.
    urls:
      type: object
      properties:
        return:
          type: string
          format: uri
          description: >-
            The URL to which the customer is redirected after successfully
            completing the payment process.
        cancel:
          type: string
          format: uri
          description: >-
            The URL to which the customer is redirected if they cancel the
            payment process before completion.
        webhook:
          type: string
          format: uri
          description: >-
            The URL endpoint on the merchant's server that receives asynchronous
            notifications about the outcome of the payment.
    schemas-billingAddress:
      type: object
      properties:
        firstName:
          type: string
          description: First name of billing address.
        lastName:
          type: string
          description: Last name of billing address.
        streetName:
          type: string
          description: Street name of billing address.
        streetNumber:
          type: string
          description: Street number of billing address.
        addressLine2:
          type: string
          description: Address line 2 of billing address.
        addressLine3:
          type: string
          description: Address line 3 of billing address.
        city:
          type: string
          description: City of billing address.
        state:
          type: string
          description: State of billing address.
        postalCode:
          type: string
          description: Postal code of billing address.
        country:
          type: string
          description: 2 character ISO country code of billing address.
    schemas-shippingAddress:
      type: object
      title: address
      properties:
        firstName:
          type: string
          description: Shipping first name.
        lastName:
          type: string
          description: Shipping last name.
        streetName:
          type: string
          description: Shipping street.
        streetNumber:
          type: string
          description: Shipping street number.
        addressLine2:
          type: string
          description: Address line 2 of shipping address.
        addressLine3:
          type: string
          description: Address line 3 of shipping address.
        city:
          type: string
          description: Shipping city.
        state:
          type: string
          description: State of shipping address.
        country:
          type: string
          description: Shipping country code.
        postalCode:
          type: string
          description: Shipping postal code.
    schemas-shippingAddressCreatePayment:
      type: object
      title: shipping
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/schemas-shippingAddress'
            - type: object
        type:
          type: string
          description: Shipping method.
          enum:
            - CLICK_AND_COLLECT
    getDetailsCustomerInfo:
      type: object
      title: customerInfo
      properties:
        gatewayCustomerId:
          type: string
          description: >-
            Unique identifier for the customer assigned by Computop Paygate.
            Populated if Customer Vault feature is enabled
      allOf:
        - $ref: '#/components/schemas/customerInfo'
    applePayDetailsResponse:
      type: object
      title: applePay
      properties:
        schemeReferenceId:
          type: string
          description: >-
            Unique identifier assigned by card schemes that is required to be
            sent in subsequent credential on file transactions.
    accountBancontactDetails:
      type: object
      title: account
      properties:
        paymentGuarantee:
          type: string
          description: >-
            NONE= no payment guarantee;VALIDATED= customer account valid, but no
            payment guarantee;FULL= payment guarantee
          enum:
            - NONE
            - VALIDATED
            - FULL
    bancontactDetailsResponse:
      type: object
      title: bancontact
      properties:
        paymentPurpose:
          type: string
          description: Purpose of payment.
        account:
          $ref: '#/components/schemas/accountBancontactDetails'
        providerResponseText:
          type: string
          description: Provider response message.
        providerTransactionId:
          type: string
          description: Provider transaction ID.
        first6Digits:
          type: string
          description: First 6 digits of card.
        last4Digits:
          type: string
          description: Last 4 digits of the card.
        expiryDate:
          type: string
          description: The expiration date of the card in YYYYMM format.
        checkoutToken:
          type: string
          description: >-
            Card Token that merchant should store and provide in request to
            subsequent actions like Bancontact Recurring or One-Click
            Payment.Unique identifier of a card linked to the merchant. Can be
            used in subsequent WIP transactions only if the initial transaction
            has succeeded.
    boletoDetailsResponse:
      type: object
      title: boleto
      properties:
        paymentSlipLink:
          type: string
          description: >-
            Complete URL (URL-encoded) for the page which presents the payment
            form. This link should be displayed to the customer on the
            confirmation page.
    cardDetailsResponse:
      type: object
      title: card
      properties:
        cardHolderName:
          type: string
          description: The name of the cardholder as it appears on the payment card.
        pseudoCardNumber:
          type: string
          description: >-
            Pseudo card number generated by Computop Paygate, if the service is
            activated.
        first6Digits:
          type: string
          description: First 6 digits of card.
        last4Digits:
          type: string
          description: Last 4 digits of the card.
        expiryDate:
          type: string
          description: The expiration date of the card in YYYYMM format.
        brand:
          type: string
          description: The brand or network of the card, such as "visa", "mastercard".
        product:
          type: string
          description: Card product name (if available) (e.g. 'Business Premium Debit').
        source:
          type: string
          description: Card funding source (if available).
          enum:
            - DEBIT
            - CREDIT
            - DEFERRED_DEBIT
            - PREPAID
            - CHARGE
        type:
          type: string
          description: >-
            The card type specifies the program, application or card level
            attached to the card if any (e.g. Classic, Standard, Gold, Business
            etc.).
        issuer:
          type: string
          description: Card issuer (if available).
        country:
          type: string
          description: Country the card was issued in.
        bin:
          $ref: '#/components/schemas/bin'
        versioningData:
          $ref: '#/components/schemas/versioningDataObjectResponse'
        fraudData:
          $ref: '#/components/schemas/fraudPreventionObjectResponse'
        authenticationData:
          $ref: '#/components/schemas/authenticationResultObjectResponse'
        schemeReferenceId:
          type: string
          description: >-
            Unique identifier assigned by card schemes that is required to be
            sent in subsequent credential on file transactions.
        providerApprovalCode:
          type: string
          description: Approval code of the transaction.
        providerResponseCode:
          type: string
          description: Provider response code.
        providerResponseMessage:
          type: string
          description: Provider response text.
        providerTransactionId:
          type: string
          description: Transaction ID assigned by the provider.
        providerToken:
          type: string
          description: Provider's token.
        providerMerchantId:
          type: string
          description: Provider Merchant ID.
        providerTerminalId:
          type: string
          description: Provider Terminal ID.
        providerOrderId:
          type: string
          description: Provider Order ID.
        issuerResponseCode:
          type: string
          description: Issuer response code.
        issuerResponseMessage:
          type: string
          description: Issuer response text.
    accountDirectDebitDetails:
      type: object
      title: account
      properties:
        code:
          type: string
          description: Bank identifier code.
        number:
          type: string
          description: International bank account number.
        pseudoBankNumber:
          type: string
          description: Pseudo bank number if the service is active.
        accountHolderName:
          type: string
          description: Account holder name.
        bankName:
          type: string
          description: Bank name.
    directDebitDetailsResponse:
      type: object
      title: directDebit
      properties:
        method:
          type: string
          description: Direct debit in Germany:=ELV, Netherlands=ENL, Austria=EEV.
        service:
          type: string
          description: Products or service sold.
        sellingPoint:
          type: string
          description: Selling point.
        mandateId:
          type: string
          description: SEPA Mandate ID for the transaction.
        dateOfSignature:
          type: string
          description: Date of issuing the mandate in format DD.MM.YYYY.
        account:
          $ref: '#/components/schemas/accountDirectDebitDetails'
        providerResponseCode:
          type: string
          description: Provider response code
        providerResponseText:
          type: string
          description: Provider response text.
    googlePayDetailsResponse:
      type: object
      title: googlePay
      properties:
        schemeReferenceId:
          type: string
          description: >-
            Unique identifier assigned by card schemes that is required to be
            sent in subsequent credential on file transactions
    accountIdealDetails:
      type: object
      title: account
      properties:
        bankName:
          type: string
          description: Bank name.
        accountHolderName:
          type: string
          description: Account holder name.
        number:
          type: string
          description: International Bank Account Number.
        code:
          type: string
          description: Bank Identifier Code.
        paymentGuarantee:
          type: string
          description: >-
            NONE= no payment guarantee;VALIDATED= customer account valid, but no
            payment guarantee;FULL= payment guarantee
          enum:
            - NONE
            - VALIDATED
            - FULL
    idealDetailsResponse:
      type: object
      title: ideal
      properties:
        account:
          $ref: '#/components/schemas/accountIdealDetails'
        paymentPurpose:
          type: string
          description: Purpose of payment.
        providerResponseText:
          type: string
          description: Provider response message.
        providerTransactionId:
          type: string
          description: Provider transaction ID.
    klarnaDetailsResponse:
      type: object
      title: klarna
      properties:
        subType:
          type: array
          description: >-
            Indicates the Klarna's sub payment method type selected by the
            customer.
          items:
            type: string
            enum:
              - PAY_NOW
              - DIRECT_DEBIT
              - DIRECT_BANK_TRANSFER
              - PAY_LATER
              - PAY_OVER_TIME
              - KLARNA
        providerResponseCode:
          type: string
          description: Response code from Klarna
        provideResponseText:
          type: string
          description: Response description from Klarna.
        providerToken:
          type: string
          description: >-
            Token-ID (Consumer Token) from Klarna which must be additionally
            transferred for recurring payments. The value is returned only if
            request was made with RTF=I.
        providerTransactionId:
          type: string
          description: Reference number from Klarna system.
    payPalDetailsResponse:
      type: object
      title: payPal
      properties:
        orderId:
          type: string
          description: >-
            Unique order identifier assigned by Paypal that should be used to
            construct the URL for the smart button.
        providerResponseCode:
          type: string
          description: Response code from Paypal.
        payerStatus:
          type: string
          description: Status of buyer.
          enum:
            - VERIFIED
            - UNVERIFIED
        infoText:
          type: string
          description: Response message to the merchant.
        payerId:
          type: string
          description: Unique identification number of customer account at PayPal.
        grossAmount:
          type: string
          description: >-
            Final amount charged, including any shipping and taxes from your
            Merchant profile.
        feeAmount:
          type: string
          description: PayPal fee amount charged for the transaction.
        settleAmount:
          type: string
          description: >-
            Amount deposited in your PayPal account after a currency conversion,
            if any.
        taxAmount:
          type: string
          description: Tax charged on the transaction.
        exchangeRate:
          type: string
          description: Exchange rate if a currency conversion occurred.
        mcFee:
          type: string
          description: >-
            Transaction fee associated with the payment. mc_gross minus mc_fee
            equals the amount deposited into the receiver_email account.
            Equivalent to payment_fee for USD payments. If this amount is
            negative, it signifies a refund or reversal, and either of those
            payment statuses can be for the full or partial amount of the
            original transaction fee.
        mcGross:
          type: string
          description: >-
            Full amount of the customer's payment before transaction fee is
            subtracted. Equivalent to payment_gross for USD payments. If this
            amount is negative, it signifies a refund or reversal, and either of
            those payment statuses can be for the full or partial amount of the
            original transaction.
        providerCaptureId:
          type: string
          description: >-
            Unique PayPal-generated Capture ID. The value is required for a
            refund after several partial captures.
    pfConnectDetailsResponse:
      type: object
      title: pfConnect
      properties:
        providerResponseCode:
          type: string
          description: Provider response code.
        providerResponseText:
          type: string
          description: Provider response message.
        applicationId:
          type: string
          description: PF Connect identifier.
    ratepayDetailsResponse:
      type: object
      title: ratepay
      properties:
        authorizationExpiry:
          type: string
          format: date-time
          description: >-
            The date and time when remaining un-cancelled and un-captured
            authorized amount will be automatically cancelled. Available only
            for successful responses HTTP 201.
        account:
          $ref: '#/components/schemas/accountRatepayResponse'
        paymentReference:
          type: string
          description: >-
            Purpose to be indicated in the bank transfer (generated by Ratepay).
            Provided only when paymentMethod.ratepay.transferType is sent as
            BANK_TRANSFER in request.
        providerTransactionId:
          type: string
          description: >-
            ID of transaction generated by Ratepay during authorization. A
            transaction ID is generated for both accepted and declined
            transactions.
        providerDeclineCategory:
          type: string
          description: >-
            Decline category provider by Ratepay. See Decline Categories for
            details.
        providerResponseText:
          type: string
          description: A message from Ratepay describing which constraint was violated.
        providerResponseCode:
          type: string
          description: >-
            List of none, one or multiple reasons why the request was declined.
            See Decline Categories to learn about possible reasons for each
            decline category.
    rivertyDetailsResponse:
      type: object
      title: riverty
      properties:
        providerResponseCode:
          type: number
          description: Response code from Riverty.
        providerResponseText:
          type: string
          description: Response text from Riverty.
        subType:
          type: array
          description: Indicates Riverty's sub payment method type.
          items:
            type: string
            enum:
              - INVOICE
              - ACCOUNT
              - INSTALLMENT
              - CONSOLIDATED_INVOICE
        billingCareOf:
          type: string
          description: >-
            Intermediary who is responsible for transferring a piece of mail
            between the postal system and the final addressee. For example Jane
            c/o John (“Jane at Johns address”).
        shippingCareOf:
          type: string
          description: >-
            Intermediary who is responsible for transferring a piece of mail
            between the postal system and the final addressee. For example Jane
            c/o John (“Jane at Johns address”).
        account:
          type: object
          properties:
            code:
              type: string
              description: Bank Identifier Code.
            number:
              type: string
              description: >-
                International Bank Account Number. Mandatory if subType is
                INVOICE or INSTALLMENT.
        profileNumber:
          type: string
          description: Profile number. Mandatory if subType is ACCOUNT or INSTALLMENT.
        orderRisk:
          type: object
          properties:
            channelType:
              type: string
              description: Order channel type.
              enum:
                - INTERNET
                - CATALOG
                - CALL_CENTER
                - STATIONARY
                - OTHER
            deliveryType:
              type: string
              description: Order delivery type.
              enum:
                - NORMAL
                - EXPRESS
            ticketDeliveryMethod:
              type: string
              description: Ticket's delivery method.
              enum:
                - NOT_SET
                - PICKUP
                - EMAIL
                - POST
                - PHONE
        customerRisk:
          type: object
          properties:
            existingCustomer:
              type: boolean
              description: >-
                Indicates whether the customer is an existing customer of the
                merchant.
            verifiedCustomerIdentification:
              type: boolean
              description: Indicates whether the customer has been verified.
            marketingOptIn:
              type: boolean
              description: Indicates whether marketing material is requested.
            customerSince:
              type: string
              format: date
              description: Date in format YYYY-MM-DD since which the customer has existed.
            customerClassification:
              type: string
              description: Customer classification.
            acquistitionChannel:
              type: string
              description: Indicates the channel via which the merchant is reached.
              enum:
                - NOT_SET
                - ADVERTISEMENT
                - SOCIAL_NETWORK
                - DIRECT
                - SEARCH_ENGINE
                - OTHER
            hasCustomerCard:
              type: boolean
              description: Indicates whether the customer has a loyalty card.
            customerCardSince:
              type: string
              format: date
              description: >-
                Date in format YYYY-MM-DD since which the loyalty card has
                existed.
            customerCardClassification:
              type: string
              description: Indicates the loyalty card level, e.g. "Gold Member".
            profileTrackingId:
              type: string
              description: Unique TrackingID.
            numberOfTransactions:
              type: number
              description: >-
                Number of successful transactions already completed by the
                customer.
            customerIndividualScore:
              type: number
              description: Individual score for the customer supplied by the merchant.
            userAgent:
              type: string
              description: UserAgent of this specific consumer.
            amountOfTransactions:
              type: number
              description: Amount of paid orders last 12 months.
            otherPaymentMethods:
              type: boolean
              description: Other payment method than MI in wallet.
    paymentDetails:
      title: paymentMethods
      type: object
      properties:
        type:
          type: string
          description: Indicates the payment method used for this transaction.
          enum:
            - APPLEPAY
            - BANCONTACT
            - BOLETO
            - CARD
            - DIRECTDEBIT
            - GOOGLEPAY
            - IDEAL
            - KLARNA
            - PAYPAL
            - PAYU
            - PFCONNECT
            - RATEPAY
            - RIVERTY
            - WERO
        applePay:
          $ref: '#/components/schemas/applePayDetailsResponse'
        bancontact:
          $ref: '#/components/schemas/bancontactDetailsResponse'
        boleto:
          $ref: '#/components/schemas/boletoDetailsResponse'
        card:
          $ref: '#/components/schemas/cardDetailsResponse'
        directDebit:
          $ref: '#/components/schemas/directDebitDetailsResponse'
        googlePay:
          $ref: '#/components/schemas/googlePayDetailsResponse'
        ideal:
          $ref: '#/components/schemas/idealDetailsResponse'
        klarna:
          $ref: '#/components/schemas/klarnaDetailsResponse'
        payPal:
          $ref: '#/components/schemas/payPalDetailsResponse'
        pfConnect:
          $ref: '#/components/schemas/pfConnectDetailsResponse'
        ratepay:
          $ref: '#/components/schemas/ratepayDetailsResponse'
        riverty:
          $ref: '#/components/schemas/rivertyDetailsResponse'
    paymentDetailsResponse:
      title: PaymentDetailsResponse
      allOf:
        - $ref: '#/components/schemas/baseDetailsResponse'
        - type: object
          properties:
            amount:
              $ref: '#/components/schemas/amountPaymentDetails'
            language:
              type: string
              description: >-
                Language code to determine the language of the payment form and
                customer communication where applicable.
            captureMethod:
              $ref: '#/components/schemas/captureMethod'
            credentialOnFile:
              $ref: '#/components/schemas/credentialOnFileForDirect'
            order:
              $ref: '#/components/schemas/orderPaymentDetails'
            simulationMode:
              type: string
              description: >-
                Used to simulate a specific payment success or error use case.
                Accepts a list of predefined error codes.
            urls:
              $ref: '#/components/schemas/urls'
            billingAddress:
              $ref: '#/components/schemas/schemas-billingAddress'
            shipping:
              $ref: '#/components/schemas/schemas-shippingAddressCreatePayment'
            statementDescriptor:
              type: string
              description: >-
                Short, clear description of the transaction that appears on the
                customer's statement.
            customerInfo:
              $ref: '#/components/schemas/getDetailsCustomerInfo'
            expirationTime:
              type: string
              format: date-time
              description: Transaction expiry timestamp (UTC).
              example: '2025-02-07T16:00:00Z'
            fraudData:
              $ref: '#/components/schemas/fraudData'
            paymentFacilitator:
              $ref: '#/components/schemas/subMerchantPaymentFacilitator'
            browserInfo:
              $ref: '#/components/schemas/browserInfo'
            device:
              $ref: '#/components/schemas/device'
            channel:
              type: string
              description: >-
                Specifies the sales or interaction channel through which the
                transaction is initiated.
              enum:
                - ECOM
                - MOTO
                - APP
                - PAYBYLINK
                - POS
            metadata:
              type: object
              description: >-
                A collection of additional custom data provided by you to store
                extra information about the transaction. This is a set of JSON
                key value pairs passed by you. Paygate will return the data as
                it is in the response.
            paymentMethods:
              $ref: '#/components/schemas/paymentDetails'
    amountMini:
      title: amount
      type: object
      properties:
        value:
          type: number
          format: int64
        currency:
          type: string
          minLength: 3
          maxLength: 3
          description: 3-character ISO currency code.
    updateRequest:
      type: object
      title: PaymentDetailsRequest
      required:
        - eventToken
      properties:
        transId:
          type: string
          description: >-
            Transaction ID provided by you which should be unique for each
            payment.
          maxLength: 64
        amount:
          $ref: '#/components/schemas/amountMini'
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually.
        order:
          $ref: '#/components/schemas/order'
        billingAddress:
          $ref: '#/components/schemas/billingAddress'
        shipping:
          $ref: '#/components/schemas/shippingAddressCreatePayment'
        eventToken:
          type: string
          description: >-
            Intent of the updating the payment details.Note: Not all event
            tokens are applicable for all payment method types. Refer payment
            method specific pages in our product guide to know the relevant
            event tokens for a specific payment method.
          enum:
            - UPDATE_ORDER_DETAILS
            - UPDATE_ADDRESS
            - UPDATE_REFERENCE
            - RESEND_INVOICE
    baseUpdateResponse:
      type: object
      properties:
        payId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate to the payment.
            This ID remains constant throughout the lifecycle of the payment and
            is used to track and reference the payment across all subsequent
            operations, such as authorization, capture, refund, or cancellation.
        merchantId:
          type: string
          description: Merchant ID assigned by Computop Paygate.
        transId:
          type: string
          description: Transaction ID provided by you in the request.
        xId:
          type: string
          description: >-
            A unique identifier assigned by Computop Paygate for each operation
            in the payment. For example: xId will be different for the
            authorization and capture operations of a payment whereas payId will
            be same.
        refNr:
          type: string
          description: Reference number provided by you in the request.
        status:
          type: string
          description: Status of the transaction.
        responseDescription:
          type: string
          description: Response description associated with the response code.
        responseCode:
          type: number
          description: Response code of the transaction.
    klarnaUpdateResponse:
      type: object
      title: klarna
      properties:
        providerResponseCode:
          type: string
          description: Response code from Klarna.
        providerResponseText:
          type: string
          description: Response description from Klarna.
    payPalUpdateResponse:
      type: object
      title: payPal
      properties:
        providerResponseCode:
          type: string
          description: Error code from PayPal if agreed with Computop Helpdesk.
    paymentMethodsUpdateResponse:
      title: paymentMethods
      properties:
        klarna:
          $ref: '#/components/schemas/klarnaUpdateResponse'
        payPal:
          $ref: '#/components/schemas/payPalUpdateResponse'
    updateResponse:
      title: PaymentDetailsResponse
      allOf:
        - $ref: '#/components/schemas/baseUpdateResponse'
        - type: object
          properties:
            paymentMethods:
              $ref: '#/components/schemas/paymentMethodsUpdateResponse'
    directDebitLink:
      type: object
      title: directDebit
      required:
        - debitDelay
      properties:
        method:
          type: string
          description: Direct debit in Germany=ELV, Netherlands=ENL, Austria=EEV
          enum:
            - ELV
            - ENL
            - EEV
        debitDelay:
          type: number
          description: >-
            For SEPA: Number of bank working days >0 which has to be added for
            the execution date of direct debit.
        sellingPoint:
          type: string
          description: Selling point.
        mandate:
          $ref: '#/components/schemas/mandate'
        template:
          $ref: '#/components/schemas/directDebitTemplate'
        prefillInfo:
          $ref: '#/components/schemas/directDebitPrefillInfo'
    bancontactLink:
      type: object
      title: bancontact
      required:
        - account
      properties:
        sellingPoint:
          type: string
          description: Selling point.
        account:
          type: object
          required:
            - accountHolderName
          properties:
            accountHolderName:
              type: string
              description: Name of account holder
        checkoutToken:
          type: string
          description: >-
            Card Token that merchant should store and provide in request to
            subsequent actions like Bancontact Recurring or One-Click
            Payment.Unique identifier of a card linked to the merchant. Can be
            used in subsequent WIP transactions only if the initial transaction
            has succeeded.
    paymentLink:
      type: object
      title: paymentMethods
      properties:
        card:
          $ref: '#/components/schemas/cardHosted'
        boleto:
          $ref: '#/components/schemas/boleto'
        directDebit:
          $ref: '#/components/schemas/directDebitLink'
        bancontact:
          $ref: '#/components/schemas/bancontactLink'
        klarna:
          $ref: '#/components/schemas/klarnaHosted'
        paypal:
          $ref: '#/components/schemas/payPal'
        ideal:
          $ref: '#/components/schemas/ideal'
    createLinkRequest:
      title: CreateLinkRequest
      type: object
      required:
        - transId
        - amount
      properties:
        transId:
          type: string
          description: >-
            Transaction ID created in your system. It should be unique for each
            payment.
          maxLength: 64
        externalIntegrationId:
          type: string
          description: External integration identifier
        refNr:
          type: string
          description: >-
            Your unique reference number for the specific operation. You can
            pass this value to reconcile different operations in a payment
            (authorization, capture, refund, etc) individually. 
        amount:
          $ref: '#/components/schemas/amount'
        language:
          type: string
          description: >-
            Language code to determine the language of the payment form and
            customer communication where applicable.
        captureMethod:
          $ref: '#/components/schemas/captureMethod'
        credentialOnFile:
          $ref: '#/components/schemas/credentialOnFileForHosted'
        order:
          $ref: '#/components/schemas/order'
        simulationMode:
          type: string
          description: >-
            Used to simulate a specific payment success or error use case.
            Accepts a list of predefined error codes.
        urls:
          $ref: '#/components/schemas/urls'
        billingAddress:
          $ref: '#/components/schemas/billingAddress'
        shipping:
          $ref: '#/components/schemas/shippingAddressCreatePayment'
        statementDescriptor:
          type: string
          description: >-
            Short, clear description of the transaction that appears on the
            customer's statement.
        customerInfo:
          $ref: '#/components/schemas/customerInfo'
        expirationTime:
          type: string
          format: date-time
          description: Transaction expiry timestamp (UTC).
          example: '2025-02-07T16:00:00Z'
        fraudData:
          $ref: '#/components/schemas/fraudData'
        paymentFacilitator:
          $ref: '#/components/schemas/subMerchantPaymentFacilitator'
        browserInfo:
          $ref: '#/components/schemas/browserInfo'
        device:
          $ref: '#/components/schemas/device'
        channel:
          type: string
          description: >-
            Specifies the sales or interaction channel through which the
            transaction is initiated.
          enum:
            - ECOM
            - MOTO
            - APP
            - PAYBYLINK
            - POS
        metadata:
          type: object
          description: >-
            A collection of additional custom data provided by you to store
            extra information about the transaction. This is a set of JSON key
            value pairs passed by you. Paygate will return the data as it is in
            the response.
        serviceType:
          type: string
          enum:
            - LINK
            - SMS
            - EMAIL
        externalTemplate:
          type: string
        customValue:
          type: string
        lifetime:
          type: number
        allowedPaymentMethods:
          type: array
          description: >-
            Indicates list of allowed payment methods that should be shown on
            the hosted payment page. If not passed default merchant level
            configuration is used to display the allowed payment methods.
          items:
            type: string
            enum:
              - APPLEPAY
              - BOLETO
              - BANCONTACT
              - CARDS
              - DIRECTDEBIT
              - GOOGLEPAY
              - IDEAL
              - KLARNA
              - PAYPAL
              - WERO
        paymentMethods:
          $ref: '#/components/schemas/paymentLink'
    createLinkResponse:
      title: CreateLinkResponse
      allOf:
        - $ref: '#/components/schemas/paymentHostedResponse'
