Deutsche Bank Google Pay API

The Google Pay™ API contains endpoints to perform credit card payment transactions based on Google Pay™ payment information.

Operations 1

POST /googlepay/pay/{event_id}/{tx_action}/initialize Perform payment requests based on Google Pay™ data #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/deutsche-bank-google-pay-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

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

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

OpenAPI Specification

deutsche-bank-google-pay-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Merchant-Server II REST Services Google Pay API
  version: v2.1
  description: The Google Pay™ API contains endpoints to perform credit card payment transactions based on Google Pay™ payment information.
servers:
- url: https://testmerch.directpos.de/rest-api/services/v2.1/
security:
- bearerAuth: []
tags:
- name: Google Pay
  description: The Google Pay™ API contains endpoints to perform credit card payment transactions based on Google Pay™ payment information.
paths:
  /googlepay/pay/{event_id}/{tx_action}/initialize:
    post:
      tags:
      - Google Pay
      summary: Perform payment requests based on Google Pay™ data
      operationId: googlepayPost
      parameters:
      - name: Merchant-ID
        in: header
        description: Unique identification of the merchant for whom the transaction is carried out. This parameter is  required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.
        required: false
        style: simple
        explode: false
        schema:
          maxLength: 10
          minLength: 10
          pattern: '[0-9]+'
          type: string
      - name: event_id
        in: path
        description: A unique ID for the event.
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 50
          minLength: 1
          pattern: '[\/0-9a-zA-Z_.:,\-+*$%]+'
          type: string
      - name: tx_action
        in: path
        description: The action of an initial transaction.
        required: true
        style: simple
        explode: false
        schema:
          type: string
          enum:
          - authorization
          - preauthorization
          - credit
          - verify-mop
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GooglePayRequest'
            examples:
              GooglePayRequest:
                summary: Sample Google Pay™ Request
                description: GooglePayRequest
                value:
                  means_of_payment_google_pay:
                    googlepay_token: '{"signature":"MEUCIEx9BeftghFS3BeKpaOsmBYyOtP5NzJiBN9NknaTAUypAiEAgkDAuAa8upeKpKx3xWDMKvp4YvOY60jpPneFA/LGtBs\u003d","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/Cs+e5QTjlzCSkOeGy0UtI8waUV+2xxep1+MdYHOcFT1F/K0d55UidOTht9wziNEInHqCj3o+3X2+8H8hZEKoA\\u003d\\u003d\",\"keyExpiration\":\"1646101850734\"}","signatures":["MEUCIQD9TzJS/FYPaAbhPvKklnVj9IDkhZDXxgBWxnkFaboHSAIgDGU9MI3uKf9NG3eEL+B25eW+ylIzYnX8lzm6rysiKNQ\u003d"]},"protocolVersion":"ECv2","signedMessage":"{\"encryptedMessage\":\"qlZOdNSdm/G5pEFuyUWxZhjG2TSQrtq9c1xZIAaKs5ocrqs/EfcO/rTR0/SMHsxxdqlSv0TMduJUrzD1k7BCXQjamvST0DRVrz48bAeCDuXIitzKQcil/JvLqZA04DASMVSHMmEy2wCCXvzZndXvOob6nx95l2G/f3wlGfolfj9uCGp/W7LohCqvpTc/Eovp+sVfsSTRsb2QDNzm8awXPwnOAAfn4yqbLE4Be7mbaSQDGwhGI5tJYSJrJtOTsjAYlZWfjchKMRu49rW1NE0ghUOLeGWvWub7Qvj4bB9xVN1SBQIvvzswWDkXiDw3xPsVNs5dFoCwBip7OJp+xsOHXM/Xx+eKWR3fgNMQNvuzm4mLhaE4v2R56xQlUjWt21FhPg/iUY6fO9wws71hCjuSuOeBxkqFi7qGvvN2/0jDjyaW7c/4SBO9Dc1T4g/F7t60/77fmrHlMYzflC4j2n0EKAsaWr5BBNkcta9+DjDT9ahzvjNQlueD15abKaoOfuogC73T5D5wpHiFT0Uz657bWXYlMpVEACdu\",\"ephemeralPublicKey\":\"BIxk2eXO3LCyKyCytyYVi6MqIfSJ6HbJsxI/To4oVodJjiUi+l55Or9APgSKowxeLh5S+1mGP/zm83vEAGm1WvQ\\u003d\",\"tag\":\"8vMJhy/dCOtUIo4YQlOlLn7fys+BVAqmx2Lh9aWZaGU\\u003d\"}"}'
                  processing_options:
                  - RISKCHECK
                  amount_total:
                    amount: 100
                    currency: EUR
                  tds_20_data:
                    communication_data:
                      method_notification_url: https://example.com/method_notification_url
                      cres_notification_url: https://example.com/cres_notification_url
      responses:
        '400':
          description: Response in case of an error. Includes a response code and an error message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '401':
          description: Unauthorized request. Response body may be empty.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
        '200':
          description: Information about the outcome of the transaction.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Headless3DSecureResponse'
              examples:
                sample_response_to_initial_request_-_transaction_processed:
                  summary: Transaction has been processed, no further actions required.
                  description: Transaction has been processed, no further actions required.
                  value:
                    outcome: PROCESSED
                    processed:
                      amount_total:
                        amount: 100
                        currency: EUR
                      event_id: id1628241502404
                      kind: CREDITCARD_3DS20
                      tx_action: preauthorization
                      tx_id: fCDszGoUje8piOUC2tVVU9
                      back_rc: '00'
                      transaction_info:
                        type: creditcard
                        transaction_creditcard_info:
                          credit_card:
                            number: 401200******7778
                            expiry_date:
                              year: 2034
                              month: 12
                            cardholder: Card Holder
                      rc: '0'
                      message: Transaction successful.
                    rc: '0'
                    message: Transaction successful.
                sample_response_to_initial_request_-_method_flow_required:
                  summary: Proceed with 3-D Secure method flow.
                  description: Proceed with 3-D Secure method flow.
                  value:
                    outcome: METHOD_REQUIRED
                    method_required:
                      method_request: ew0KICAiY29udGVudCIgOiAiZHVtbXkiDQp9
                    rc: '1548'
                    message: Transaction is pending.
                sample_response_to_initial_request_-_challenge_flow_required:
                  summary: Proceed with 3-D Secure challenge flow.
                  description: Proceed with 3-D Secure challenge flow.
                  value:
                    outcome: CHALLENGE_REQUIRED
                    challenge_required:
                      acs_url: https://acs.example.com/acs/challenge/ew0KICAiZHVtbXkiIDogImR1bW15Ig0KfQ==
                      creq: ew0KICAiZHVtbXkiIDogImNvbnRlbnQiDQp9
                    rc: '1548'
                    message: Transaction is pending.
components:
  schemas:
    GooglePayRequest:
      required:
      - amount_total
      - means_of_payment_google_pay
      type: object
      properties:
        billing_address:
          $ref: '#/components/schemas/CommonAddress'
        basket:
          $ref: '#/components/schemas/Basket'
        device_information:
          $ref: '#/components/schemas/DeviceInformation'
        shipping_address:
          $ref: '#/components/schemas/CommonAddress'
        merchant_information:
          $ref: '#/components/schemas/MerchantInformation'
        account_information:
          $ref: '#/components/schemas/AccountInformation'
        customer_information:
          $ref: '#/components/schemas/CustomerInformation'
        merchant_risk_indicators:
          $ref: '#/components/schemas/MerchantRiskIndicators'
        merchant_defined_information:
          type: array
          items:
            $ref: '#/components/schemas/RiskCheckMerchantDefinedInformation'
        travel_information:
          $ref: '#/components/schemas/RiskCheckTravelInformation'
        risk_check_additional_information:
          $ref: '#/components/schemas/RiskCheckAdditionalInformation'
        amount_total:
          $ref: '#/components/schemas/AmountCurrency'
        alias_action:
          $ref: '#/components/schemas/AliasAction'
        means_of_payment_google_pay:
          $ref: '#/components/schemas/MeansOfPaymentGooglePay'
        processing_options:
          uniqueItems: true
          type: array
          description: Defines an additional processing option for Google Pay™ transactions.
          example:
          - RISKCHECK
          items:
            type: string
            description: "Additional processing option for headless 3-D Secure transactions.\n\n* `FALLBACK_ON_SSL`: process the transaction flagged as channel-encrypted (SSL, 3-D Secure authentication \nwas not performed) instead of 3-D Secure in case 3-D Secure authentication could not be performed.\n* `RISKCHECK`: process risk check transaction before start of 3-D Secure authentication. In case of declined risk check\nno credit card transaction is started\n"
            example: FALLBACK_ON_SSL
            enum:
            - FALLBACK_ON_SSL
            - RISKCHECK
        recurring_payment:
          maxLength: 50
          minLength: 1
          pattern: '[/0-9a-zA-Z_.:,+*$%-]+'
          type: string
          description: Identifier of a recurring credit card payment.
          example: 07H987Tx3PF9VxL5G7RfNp
        sequence_type:
          type: string
          description: "If this payment is part of a sequence of payments\n\n * `FIRST`: first payment of a sequence\n * `RECURRING`: follow-up payment\n * `FINAL`: last payment of a sequence\n"
          enum:
          - FINAL
          - FIRST
          - RECURRING
        series_flag:
          type: string
          description: 'Designates a payment as part of a series of payments.


            * `INSTALMENT`: for example in the case of paying a fixed sum in multiple partial payments.

            * `RECURRING`: for example in the case of a subscription or standing order.

            * `UCOF`: when a card number alias is created for future payments with the same credit card. In this case use _alias_action_ with _action_ `CREATE` with the first payment and the card number alias with the following payments. You can use the _tx_action_ `verify-mop` with the first UCOF transaction to register a card number alias without a payment.'
          enum:
          - INSTALMENT
          - RECURRING
          - UCOF
        tds_20_data:
          $ref: '#/components/schemas/TDS20Data'
      description: The payment request of the Google Pay™ API.
    AliasInfo:
      type: object
      properties:
        alias:
          type: string
          description: Name of the alias.
          example: da2c9029-b180-42a7-b473-50d182a01f8a
        credit_card:
          $ref: '#/components/schemas/CreditCardInfo'
        bank_account:
          $ref: '#/components/schemas/BankAccount'
        address:
          $ref: '#/components/schemas/CommonAddress'
      description: Contains information about the created or updated alias. This field is null if the there was no 'alias_info' in the request.
    ExpiryDate:
      required:
      - month
      - year
      type: object
      properties:
        year:
          maximum: 2099
          minimum: 2000
          type: integer
          description: The credit card expiry year.
          format: int32
          example: 2021
        month:
          maximum: 12
          minimum: 1
          type: integer
          description: The credit card expiry month.
          format: int32
          example: 11
      description: The credit card expiry date.
    Headless3DSecure20MethodRequiredResponse:
      type: object
      properties:
        method_request:
          type: string
        method_url:
          type: string
    MeansOfPaymentGooglePay:
      type: object
      properties:
        googlepay_token:
          maxLength: 5000
          minLength: 1
          pattern: "[a-zA-Z0-9:,\\/+=_\\-\\\\\\{\\}\\[\\]\\\"\n\t ]*"
          type: string
          description: 'The complete token generated by Google Pay™ as contained in paymentData.paymentMethodData.tokenizationData.token. Note: use for example JSON.stringify before sending.'
          example: '{\"signature\":\"MEUCIQD8RtwzL8/Mzjm1wpQYXrZedFp++ZyqNI6fE4i+eZWVyAIgTLIJWwzx2vYpYxJAiY4ze5c9Ja96+cljw9JCOYG6q/M\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2zv+MrfoTlZ4ccBmOCyPf2mV59d1KtpenaoI/QOXY/GWptmRapfFiE9r864vw9ggpUf8ZZbs3T/SmNgA95fyQw\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1646865007568\\\"}\",\"signatures\":[\"MEQCIEa8OSuqEqFHzYIBF0rYJAYvp8Tuxt4m5Eia4kw8SvKkAiB0Jolsc583JA1nghgbM2rSQ4fme+ZwzwRvYZNvsjVsxQ\\u003d\\u003d\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"0Ey+Y+F/9Wu6qLxo1tlEJaadbEV8dLLwgGWsrWId/7AKQVVO9lnzuoE6Z286ttquMc+X9BRGGpLQ6VPAuxdKBrDPeMd8cQoM/fqDLnq7oLQk3aKkcpULav3YusBqit33j2VAE3BcqjUmKz7QueoHUzUDEkYgmiasPujQ9TgsBYOFioXw6kOLy2NZZImIV8FzlI2deDgVG8+oW6P/G2VhEzY2KU+BSZ5ukepDeYyLOd/BIGxzqyoVRTkyG7m3PxZl0Ofp0qjwS816ruxBpXsWHQjuZgtSn7JWz2WPuevE8YT9JGm5mjzIaCxOq1QTKKyeKR0r0hXLkXtGd5NEvn9y/a1/tRtQtvQerTp/aFdjSX3IazmVfFpFqOnWD76TIi8mNAwtKuDyDfUMHMKATpJZhaFhw5/25bUbEdkTGjBBQpkpzGfxBlbnvEtCLUjCjzwppIi50FSu4IxPj9PhDxtMB+UWmhDzM4Lq/OzK/xol7cYfPkLhccHlht+SHqNz2aOOZw8qVlgyYAScOYaJtUGtBGtyJJ00yKDXC/xnXPewt8QKGuNr/i/PpUg2Ma1t7iXKHh+oa+3hB8De\\\",\\\"ephemeralPublicKey\\\":\\\"BEmwMBAo38JnpnZexSNBbgsLMXg0xF5SKqBb/nptzFsaFPQjI70yKMLXv4bEa3kJ15VBLiaDsketAHe7B4Hp7go\\\\u003d\\\",\\\"tag\\\":\\\"zOz55zo9efgTP/e6hxdylmDsXVqfxXfyuUrWzrAEDuc\\\\u003d\\\"}\"}'
      description: The means of payment that will be used. Only a Google Pay™ token is valid.
    CommonAddressExtensions:
      type: object
      properties:
        alternative_address_data:
          $ref: '#/components/schemas/AlternativeAddressData'
        paydirekt_data:
          $ref: '#/components/schemas/AddressPaydirektData'
      description: Service specific address fields.
    MerchantInformationExtensions:
      type: object
      properties:
        klarna_data:
          $ref: '#/components/schemas/MerchantInformationKlarnaData'
      description: Service specific merchant information fields.
    BankAccount:
      required:
      - iban
      type: object
      properties:
        bic:
          maxLength: 11
          minLength: 11
          pattern: '[A-Z]{6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3}'
          type: string
          description: "The business identifier code (BIC) of a bank account. If the branch identifier\n                (positions 9 to 11) is not applicable, it is set to \"XXX\". "
          example: VZVDDED1XXX
        iban:
          maxLength: 34
          minLength: 15
          pattern: '[A-Z]{2}[0-9]{2}[A-Z0-9*]{11,30}'
          type: string
          description: The international bank account number of a bank account.
          example: DE17215730140403340300
        account_holder:
          maxLength: 27
          minLength: 1
          pattern: .*
          type: string
          description: The account holder of the bank account.
          example: Max Muster
        bank_name:
          type: string
          description: Name of the bank.
          example: Musterbank
      description: Information about a bank account.
    TaxInfo:
      required:
      - tax_id
      - tax_id_type
      type: object
      properties:
        tax_id:
          type: string
          description: The customer's tax ID value.
          example: 867.226.847-41
        tax_id_type:
          type: string
          description: 'Type of tax ID. May be country specific. Different types may adhere to different patterns.


            * `BR_CPF` : Brazilian individual tax id type.

            * `BR_CNPJ` : Brazilian business tax id type.

            * `OTHER` : None of the above.

            '
          example: BR_CPF
          enum:
          - BR_CPF
          - BR_CNPJ
          - OTHER
      description: Legal tax information of the payer.
    BasketItem:
      type: object
      properties:
        name:
          maxLength: 127
          minLength: 0
          type: string
          description: Descriptive name of the order item. Mandatory for PayPal.
          example: A fine shirt
        description:
          maxLength: 127
          minLength: 0
          type: string
          description: Used for storing merchant's internal order number or other reference.
          example: BI123456
        reference:
          maxLength: 64
          minLength: 0
          type: string
          description: Article number, SKU or similar.
          example: UGG-BB-PUR-06
        quantity:
          $ref: '#/components/schemas/Quantity'
        unit_price:
          $ref: '#/components/schemas/TaxedAmountCurrency'
        item_discount:
          $ref: '#/components/schemas/TaxedAmountCurrency'
        extensions:
          $ref: '#/components/schemas/BasketItemExtensions'
      description: A purchasable item that is part of a shopping basket's list of items.
    RiskmanagementInfoResponse:
      type: object
      properties:
        case_priority:
          type: string
          description: Riskcheck information regarding the case priority.
          example: '1'
        error_information:
          $ref: '#/components/schemas/RiskmanErrorInformation'
        event_id:
          maxLength: 50
          minLength: 1
          pattern: '[\/0-9a-zA-Z_.:,\-+*$%]+'
          type: string
          description: A unique ID for the event.
          example: E5686585867636541231230
        infocodes_address:
          type: array
          items:
            type: string
            description: Riskcheck information regarding the address risk check. See user guide for details and all possible values.
            example: '["COR-BA","COR-SA","MM-A","MM-Z"]'
        infocodes_customerlist:
          type: array
          items:
            type: string
            description: Riskcheck information regarding the customer list risk check.  See user guide for details and all possible values.
            example: '["CONPOSNEG","NEG-BCO"]'
        infocodes_device_behaviour:
          type: array
          items:
            type: string
            description: Indicates the device behavior information code(s) returned from device fingerprinting. See user guide for details and all possible values.
            example: '["MouseOffPageDetected"]'
        infocodes_globalvelocity:
          type: array
          items:
            type: string
            description: Riskcheck information regarding the velocity risk check. See user guide for details and all possible values.
            example: '["VEL-ADDR","VELS-FP"]'
        infocodes_identitychange:
          type: array
          items:
            type: string
            description: Riskcheck information regarding the identity change. See user guide for details and all possible values.
            example: '["ID-M-HPOS"]'
        infocodes_internet:
          type: array
          items:
            type: string
            description: Riskcheck information regarding the internet check. See user guide for details and all possible values.
            example: '["FREE-EM"]'
        infocodes_phone:
          type: array
          items:
            type: string
            description: Riskcheck information regarding the phone risk check. See user guide for details and all possible values.
            example: '["MMACBST, "UNV-PH" ]'
        infocodes_suspicious:
          type: array
          items:
            type: string
            description: Riskcheck information regarding suspicious risk. See user guide for details and all possible values.
            example: '["BAD-FP","MUL-EM"]'
        infocodes_velocity:
          type: array
          items:
            type: string
            description: 'List of information codes triggered by the order. These information codes were generated when you created

              the order and product velocity rules and are returned so that you can associate them with the rules. See user guide for details and all possible values.'
            example: '["GVEL-R20","GVEL-R21"]'
        localtime:
          type: string
          description: Riskcheck information regarding the local time of the risk check.
          example: '55083'
        profile_destination_queue:
          type: string
          description: Riskcheck information regarding the profile destination queue of the risk check.
          example: dst-queue
        profile_name:
          type: string
          description: Riskcheck information regarding the profile of the risk check.
          example: example-profile
        profile_selectorrule:
          type: string
          description: Riskcheck information regarding the profile selector rule risk check.
          example: example-rule
        providers:
          type: array
          items:
            type: string
            description: Providers used to calculate the risk.
            example: '["provider1","provider2"]'
        rules:
          type: array
          items:
            type: string
            description: Riskcheck information regarding the matched rules in risk check.
            example: '["example-rule"]'
        score:
          type: string
          description: Calculated risk score of request data.
          example: '14'
        score_factor_codes:
          type: array
          items:
            type: string
            description: Riskcheck information regarding the profile factor codes of the risk check. See user guide for all possible values.
            example: '["G","H","Y","Z"]'
        score_model_used:
          type: string
          description: Name of the score model used for the transaction. This field contains the name of risk management’s selected model.
          example: default_eu
        travel_actual_final_dst_country:
          type: string
          description: Actual country of final destination of the travel.
          example: US
        travel_actual_final_dst_locality:
          type: string
          description: Actual city of final destination of the travel.
          example: Chicago
        travel_first_departure_country:
          type: string
          description: First departure country of the travel.
          example: US
        travel_first_departure_locality:
          type: string
          description: First departure city of the travel.
          example: San Francisco
        tx_risk_status:
          type: string
          description: Status result of an external risk management transaction. See user guide for all possible values.
          example: ACCEPTED
        tx_scoring_id:
          type: string
          description: Unique scoring transaction identifier. Can be used to reference the depending scoring transaction.
          example: '6373172383866963604006'
        utc_time:
          type: string
          description: Riskcheck information regarding the UTC time of the risk check, used in error cases.
          example: '2021-12-21T14:18:04Z'
    CreditCardInfo:
      required:
      - expiry_date
      - number
      type: object
      properties:
        number:
          maxLength: 19
          minLength: 10
          pattern: '[0-9]*'
          type: string
          description: The credit card number (Primary Account Number). It is sometimes masked in response messages, for example 411111******1111.
          example: '41111111111111111'
        expiry_date:
          $ref: '#/components/schemas/ExpiryDate'
        cardholder:
          maxLength: 27
          minLength: 1
          type: string
          description: The holder of a credit card.
          example: Max Muster
        brand:
          type: string
          description: "The credit card brand.  The use of this field requires an explicit activation. Please contact customer support. Possible values:     \n           \n* `AMEX`\n* `DINERS`\n* `JCB`\n* `MAESTRO`\n* `MASTERCARD`\n* `VISA`        \n"
          example: VISA
          enum:
          - AMEX
          - DINERS
          - JCB
          - MAESTRO
          - MASTERCARD
          - VISA
        issuer_country:
          type: string
          description: The card issuers country of origin.  The use of this field requires an explicit activation. Please contact customer support.
      description: Information about a credit card.
    PhoneContact:
      required:
      - phone_number
      - phone_type
      type: object
      properties:
        phone_type:
          type: string
          description: 'The phone type.


            * `FAX`

            * `HOME`

            * `MOBILE`

            * `OTHER`

            * `PAGER`

            * `WORK`

            '
          example: FAX
          enum:
          - FAX
          - HOME
          - MOBILE
          - OTHER
          - PAGER
          - WORK
        phone_number:
          maxLength: 16
          minLength: 0
          pattern: \+[1-9]\d{1,14}
          type: string
          description: A phone number in its canonical international E.164 numbering plan format.
          example: '+442071838750'
      description: A means of contacting a customer by phone.
      example:
        phone_type: FAX
        phone_number: '+442071838750'
    MerchantInformationKlarnaData:
      type: object
      properties:
        custom_payment_method_ids:
          type: array
          description: List of custom payment method ids.
          example:
          - klarna_invoice
          - klarna_installments
          items:
            type: string
            description: List of custom payment method ids.
            example: '["klarna_invoice","klarna_installments"]'
      description: Klarna specific MerchantInformation fields.
    CommonAddress:
      type: object
      properties:
        title:
          type: string
          description: Customer's title.
          example: Ms
        first_name:
          maxLength: 60
          minLength: 0
          type: string
          description: First name of the individual.
          example: Jane
        last_name:
          maxLength: 60
          minLength: 0
          type: string
          description: Last name of the individual.
          example: Doe
        company_name:
          maxLength: 60
          minLength: 0
          type: string
          description: Name of the company.
          example: Acme Inc.
        email:
          maxLength: 255
          minLength: 0
          type: string
          description: Email address of the individual.
          example: test_jane@gmail.com
        phone_contact:
          $ref: '#/components/schemas/PhoneContact'
        address_line_1:
          maxLength: 60
          minLength: 0
          type: string
          description: An address line.
          example: Main Street 123
        address_line_2:
          maxLength: 60
          minLength: 0
          type: string
          description: An address line. For 3DS this maps to additional1.
          example: Building A
        address_line_3:
          maxLength: 60
          minLength: 0
          type: string
          description: An address line. For 3DS this maps to additional2.
          example: Apartment 12
        postal_code:
          maxLength: 60
          minLength: 0
          type: string
          description: Postal code of the address.
          example: '80469'
        city:
          maxLength: 60
          minLength: 0
          type: string
          description: City of the address.
          example: Munich
        state:
          maxLength: 300
          minLength: 0
          type: string
          description: State or province of the address.
          example: BY
        country:
          maxLength: 2
          minLength: 2
          pattern: '[A-Z]{2}'
          type: string
          description: The ISO 3166 Alpha-2 country code (upper case) of the individual's homeland.
          example: DE
        extensions:
          $ref: '#/components/schemas/CommonAddressExtensions'
      description: Address data as applicable to most use cases.
    TDS20PhoneNumber:
      type: object
      properties:
        country:
          type: string
          description: The country code of the phone number.
        regional:
          type: string
          description: The regional part of the phone number.
      description: Phone number with country code.
    RiskmanErrorFieldInformation:
      type: object
      properties:
        field:
          type: string
          description: The name of the field which was the reason of the request rejection.
          example: orderInformation.billTo.firstName
        reason:
          type: string
          description: The reason why the request was rejected.
          example: MISSING_FIELD
      description: Field name and reason why the request was rejected.
    ErrorModel:
      required:
      - message
      - rc
      type: object
      properties:
        rc:
          type: string
          description: Four digit response code.
          example: '4001'
        message:
          type: string
          description: Describes the error.
          example: unexpected error
      description: Includes data returned in case of an error.
    RiskCheckTravelInformation:
      type: object
      properties:
        actual_final_destination:
          maxLength: 3
          minLength: 0
          type: string
          description: 'IATA Code for the actual final destination that the customer intends to travel to.

            It should be a destination on the complete_route.'
          example: SFO
        complete_route:
          maxLength: 255
          minLength: 0
          type: string
          description: Concatenation of individual travel legs in the format ORIG1-DEST1[:ORIG2-DEST2...:ORIGn-DESTn]
          example: SFO-JFK:JFK-LHR:LHR-CDG
        departure_time:
          type: string
          description: Departure date and time of the first leg of the trip.
          format: date-time
        journey_type:
          type: string
          description: "Type of travel, for example one way or round trip.\n                \n* `ONEWAY`\n* `ROUNDTRIP`\n"
          example: ONEWAY
          enum:
          - ONEWAY
          - ROUNDTRIP
        legs:
          maxItems: 60
          minItems: 0
          type: array
          description: Single legs of the complete journey.
          items:
            $ref: '#/components/schemas/RiskmanagementTravelInformationLeg'
        number_of_passengers:
          type: string
          description: Number of passengers for whom the ticket was issued.
          example: '1'
        passengers:
          type: array
          items:
            $ref: '#/components/schemas/RiskmanagementTravelInformationPassenger'
      description: Travel information of the order.
    Basket:
      type: object
      properties:
        basket_id:
          maxLength: 140
          minLength: 0
          type: string
          description: 'Dependent on the backend services the value might be shortened or special characters might be removed before sending.


            giropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.'
          example: basket123456
        invoice_id:
          maxLength: 127
          minLength: 0
          type: string
          description: The API caller-provided external invoice number for this order.
          example: RE123345
        soft_descriptor:
          type: string
          description: Dynamic text used to construct the statement descriptor that appears on a payer's card statement.
          example: 800-123-1234
        shipping_costs:
          $ref: '#/components/schemas/AmountCurrency'
        basket_discount:
          $ref: '#/components/schemas/AmountCurrency'
        basket_type:
          type: string
          description: 'Type of a shopping basket. Mandatory for PayPal.


            * `DIGITAL`: Basket contains digital items only.

            * `MIXED`: Basket contains items of various types.

            * `PHYSICAL`: Basket contains physical items only.

            '
          example: DIGITAL
          enum:
          - DIGITAL
          - MIXED
          - PHYSICAL
        extensions:
          $ref: '#/components/schemas/BasketExtensions'
        basket_items:
          type: array
          description: An array of items that the customer p

# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/deutsche-bank/refs/heads/main/openapi/deutsche-bank-google-pay-api-openapi.yml