---
title: "Update a Payment Setup"
method: PUT
path: "/payments/setups/{id}"
tags: ["Payment Setups"]
---

# Update a Payment Setup

`PUT /payments/setups/{id}`

## Request

- Base URL: `https://{prefix}.api.sandbox.checkout.com`
- URL: `https://{prefix}.api.sandbox.checkout.com/payments/setups/{id}`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `string` scopes: `gateway`, `gateway:payment`, `vault`
  - API key in header `Authorization`
- TypeScript: <https://skmtc.dev/checkout/apis/checkout-com-api-reference/docs/payments/setups/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

<span style="font-size: 12px; font-weight: 500; color: rgb(0, 0, 0); background-color: rgb(255, 176, 97); border-radius: 4px; padding: 2px 6px" >Beta</span><p></p>

Updates a Payment Setup.

Update the Payment Setup whenever there are significant changes in the data relevant to the customer's transaction. For example, when the customer makes a change that impacts the total payment amount.

## Path parameters

- `id` string, required

## Request body

- PaymentSetup
  - `id` string
  - `processing_channel_id` string, required: The processing channel to use for the payment.
  - `amount` number, required: The payment amount, in the <a href="https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value" target="_blank">minor currency unit</a>.
  - `currency` string, required: The currency of the payment, as a three-letter <a href="https://www.checkout.com/docs/developer-resources/codes/currency-codes" target="_blank">ISO currency code</a>.
  - `presentment_details` PaymentSetupPresentmentDetails: The amount and currency to present to the customer, when the settlement currency differs from the customer-facing currency.
    - `amount` integer: The presentment amount, in the minor currency unit.
    - `currency` string: The presentment currency, as a three-letter ISO currency code.
  - `payment_type` 'regular' | 'recurring' | 'moto' | 'installment' | 'pay_later' | 'unscheduled': The type of payment. You must provide this field for card payments in which the cardholder is not present. For example, if the transaction is a recurring payment, or a mail order/telephone order (MOTO) payment.
  - `reference` string: A reference you can use to identify the payment. For example, an order number.
  - `description` string: A description of the payment.
  - `payment_methods` object: The payment methods that are enabled on your account and available for use.
    - `auto_confirm` string: The payment method that automatically confirms the payment when it is ready.
    - `instrument` PaymentSetupInstrument: The instrument payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `id` string: The unique identifier of the selected instrument.
      - `type` string: The type of the instrument.
      - `action` object: The next available action for the payment method.
        - `type` 'set_instrument': The type of action.
    - `klarna` Klarna: The Klarna payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `action` object: The next available action for the payment method.
        - `type` 'sdk': The type of action.
        - `client_token` string: The client token for the Klarna SDK.
        - `session_id` string: The session ID.
      - `account_holder` KlarnaAccountHolder: The account holder details returned by Klarna after the shopper completes verification.
        - `name` string: The full name of the account holder.
      - `iban` string: The IBAN of the account used to complete Klarna verification.
    - `stcpay` StcPay: The stc pay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `otp` string: The one-time password (OTP) for stc pay.
      - `action` object: The next available action for the payment method.
        - `type` 'otp': The type of action.
    - `tabby` Tabby: The Tabby payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `payment_types` string[]: The available payment types for Tabby (For example, `installments`).
    - `bizum` Bizum: The Bizum payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `paynow` PayNow: The PayNow payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `qpay` Qpay: The QPay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `national_id` string: The Qatari national ID. Must start with 2 or 3, followed by 10 digits.
      - `description` string: A description of the payment order. Alphanumeric characters only.
    - `eps` Eps: The EPS payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `ideal` Ideal: The iDEAL payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `description` string: A description of the products or services being paid for. Do not include HTML tags or special characters, as these are rejected by iDEAL.
    - `knet` Knet: The KNET payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `language` 'en' | 'ar': The customer's preferred language, as an ISO 639-1 code. For example, the language selected on your site, if the issuer's site supports it. - `ar` - Arabic - `en` - English
    - `bancontact` Bancontact: The Bancontact payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_holder_name` string: The account holder's name.
    - `benefit` Benefit: The Benefit payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `blik` Blik: The Blik payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `partner_code` string: The 6-digit BLIK code generated by the customer's banking app.
    - `vipps` Vipps: The Vipps payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `twint` Twint: The Twint payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `alipay_cn` AlipayCn: The Alipay CN payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `alipay_hk` AlipayHK: The Alipay HK payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `gcash` GCash: The GCash payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `tng` Tng: The TNG payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `dana` Dana: The Dana payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `mobilepay` MobilePay: The MobilePay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `tamara` Tamara: The Tamara payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `risk_assessment` object: Risk signals about the customer, forwarded to Tamara with the payment.
        - `premium_customer` boolean: Specifies whether the customer is a premium customer.
        - `risk_score` integer: The customer's risk score.
        - `order_count_last24h` integer: The number of orders the customer has made in the last 24 hours.
        - `linked_device_count` integer: The number of devices linked to the customer.
    - `mbway` MBWay: The MBWay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `multibanco` Multibanco: The Multibanco payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_holder_name` string: The account holder's name.
    - `wechatpay` WeChatPay: The WeChatPay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `kakaopay` KakaoPay: The KakaoPay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `truemoney` TrueMoney: The TrueMoney payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `octopus` Octopus: The Octopus payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `p24` P24: The P24 (Przelewy24) payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_holder` object: The account holder's details.
        - `name` string: The account holder's name.
        - `email` string, email: The account holder's email address.
    - `alma` Alma: The Alma payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `swish` Swish: The Swish payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `billing_descriptor` string: A description that appears on the customer's billing statement.
      - `account_holder` object: The account holder's details.
        - `first_name` string: The account holder's first name.
        - `last_name` string: The account holder's last name.
    - `sequra` Sequra: The Sequra payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `ach` Ach: The ACH payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_type` 'savings' | 'current' | 'cash': The type of Direct Debit account.
      - `account_holder` object: The account holder details.
        - `type` 'individual' | 'corporate' | 'government': The type of account holder.
        - `first_name` string: The first name of the account holder.
        - `last_name` string: The last name of the account holder.
        - `company_name` string: The legal name of a registered company that holds the account.
        - `date_of_birth` string: The account holder's date of birth.
        - `identification` object: The account holder's government document identification, for example a Social Security Number (SSN).
          - `type` string: The document type.
          - `issuing_country` string: The country where the document was issued.
          - `number` string: The document number.
      - `account_number` string: The account number of the Direct Debit account.
      - `bank_code` string: The bank code of the Direct Debit account.
      - `country` string: The two-letter ISO country code of the bank account.
    - `sepa` Sepa: The SEPA payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_holder` object: The account holder details.
        - `type` 'individual' | 'corporate': The type of account holder.
        - `first_name` string: The first name of the account holder.
        - `last_name` string: The last name of the account holder.
        - `company_name` string: The legal name of a registered company that holds the account.
      - `account_number` string: The account holder's IBAN.
      - `country` string: The account's country, as an ISO 3166-1 alpha-2 code.
      - `currency` string: The account holder's account currency.
      - `mandate` object: The mandate details.
        - `id` string: The ID of the mandate.
        - `type` 'core' | 'b2b': The type of mandate.
        - `date_of_signature` string, date: The date the mandate was signed.
    - `bacs` Bacs: The Bacs payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `instrument_id` string: The ID of the Bacs instrument used for the payment.
      - `account_holder` object: The account holder details.
        - `type` 'individual' | 'corporate': The type of account holder.
        - `first_name` string: The first name of the account holder.
        - `last_name` string: The last name of the account holder.
        - `company_name` string: The legal name of a registered company that holds the account.
        - `email` string: The email address of the account holder.
      - `account_number` string: The account number of the Bacs Direct Debit account.
      - `bank_code` string: The sort code of the Bacs Direct Debit account.
      - `country` string: The account's country, as an ISO 3166-1 alpha-2 code.
      - `currency` string: The account holder's account currency.
      - `allow_partial_match` boolean: Indicates whether the Bacs instrument is created when account validation returns a partial match. When `true`, the instrument is created on a partial match; when `false`, instrument creation fails on a partial match.
    - `paybybank` PayByBank: The Pay by Bank (Open Banking) payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `bank_id` string: The identifier of the bank the customer has selected for the payment.
      - `action` object: The next available action for the payment method.
        - `type` 'select_bank': The type of action.
        - `banks` object[]: The list of banks available for the customer to select.
          - `bank_id` string: The unique identifier of the bank.
          - `display_name` string: The display name of the bank.
          - `logo_url` string: The URL of the bank's logo.
          - `available` boolean: Whether the bank is currently available for selection.
    - `paypal` PayPal: The PayPal payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `user_action` 'pay_now' | 'continue': The user action for the PayPal widget. - `pay_now` - After the customer clicks the PayPal button, the customer is redirected to a page to enter payment details and immediately directed to finalize the payment. - `continue` - After the customer clicks the PayPal button, the customer is redirected to a page to enter payment details and then redirected back to the merchant's site to review and finalize the payment.
      - `brand_name` string: The brand name to display in the PayPal checkout experience.
      - `shipping_preference` 'no_shipping' | 'get_from_file' | 'set_provided_address': Where to obtain the shipping information. - `no_shipping` - Redacts the shipping address from the PayPal pages. - `get_from_file` - Obtains the shipping address from the customer's PayPal account. - `set_provided_address` - Uses the shipping address provided by the merchant.
      - `action` object: The next available action for the payment method.
        - `type` 'sdk': The type of action.
        - `order_id` string: The PayPal order ID to use with the PayPal SDK.
    - `cashapp` CashApp: The Cash App payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `customer_profile_sharing` boolean: Indicates whether the customer consents to share their Cash App customer profile with Checkout.com.
      - `customer_profile` object: The customer's Cash App profile that they consented to share. Included in the response when `customer_profile_sharing` is enabled. Cash App releases this profile only once. It's present in the first successful response when you get the Payment Setup after the customer authorizes the payment. Every subsequent response omits it.
        - `customer_id` string: Cash App's identifier for the customer. This is not a Checkout.com customer identifier.
        - `cashtag` string: The customer's `$Cashtag`.
        - `reference_id` string: Cash App's reference for the customer profile.
        - `full_name` string: The customer's full name.
        - `given_name` string: The customer's given name.
        - `middle_name` string: The customer's middle name.
        - `family_name` string: The customer's family name.
        - `suffix` string: The suffix of the customer's name.
        - `birth_date` string, date: The customer's date of birth.
        - `address` object: The customer's address.
          - `address_line_1` string: The first line of the address.
          - `address_line_2` string: The second line of the address.
          - `address_line_3` string: The third line of the address.
          - `locality` string: The address locality, such as the city or town.
          - `sublocality` string: The address sublocality, such as the district or neighborhood.
          - `administrative_district_level_1` string: The address's top-level administrative district, such as the state or province.
          - `postal_code` string: The postal or zip code.
          - `country` string: The address country, in ISO 3166-1 alpha-2 format.
        - `phone_number` string: The customer's phone number.
        - `email_address` string: The customer's email address.
        - `customer_since` string, date-time: The date and time the customer's Cash App account was created.
      - `reference` string: A reference for the Cash App Pay transaction, returned by the provider.
      - `action` object: The next available action for the payment method.
        - `type` 'redirect': The type of action.
        - `redirect_url` string, uri: The URL to redirect the customer to so they can authorize the payment with Cash App.
    - `googlepay` GooglePay: The Google Pay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `token_data` object
        - `protocol_version` string: The encryption and signing scheme used to create this message. If not set, the default is `ECv0`.
        - `signature` string: The signature that verifies the message came from Google, created using `ECDSA`.
        - `signed_message` string: A serialized JSON string containing the `encryptedMessage`, `ephemeralPublicKey`, and `tag`. To simplify the signature verification process, this value is serialized.
        - `tokenization_key` string: The public key provided to the Google API in the `tokenizationSpecification.parameters.gatewayMerchantId` field.
      - `token` object: The Checkout.com Google Pay token.
        - `id` string, required: The token identifier, prefixed by `tok_`.
        - `expires_on` string, date-time: The date and time the token expires, in ISO 8601 format.
      - `network_token` PaymentSetupNetworkToken: The third-party network token details. Only supported when the payment method is set as `payment_methods.auto_confirm`.
        - `number` string, required: The network token PAN.
        - `expiry_month` integer, required: The expiry month of the token.
        - `expiry_year` integer, required: The expiry year of the token.
        - `cryptogram` string: The Base64-encoded cryptographic identifier (TAVV) used by card schemes to validate the token verification result.
        - `eci` string: The Electronic Commerce Indicator (ECI) security level associated with the token.
      - `store_for_future_use` boolean: Set to `true` if you intend to reuse the payment credentials in subsequent payments. If set to `false`, a payment instrument will not be included in the payment response.
      - `phone` PaymentSetupPhone: The customer's phone number.
        - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
        - `number` string: The phone number.
      - `account_holder` PaymentSetupAccountHolder: Account holder details for the payment.
        - `type` 'individual' | 'government' | 'corporate': The card account holder type.
        - `first_name` string: The card account holder's first name.
        - `last_name` string: The card account holder's last name.
        - `middle_name` string: The card account holder's middle name.
        - `company_name` string: The card account holder's company name.
        - `account_name_inquiry` boolean: Indicates whether the ANI (account name inquiry) check is performed with the card scheme (Visa or Mastercard).
      - `schemes` string[]: The list of supported card scheme names.
      - `preferred_scheme` 'visa' | 'mastercard': The preferred card scheme to process the payment.
    - `applepay` ApplePay: The Apple Pay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `token_data` object
        - `version` string: The version of the payment token. The token uses `EC_v1` for ECC-encrypted data, and `RSA_v1` for RSA-encrypted data.
        - `data` string: The encrypted payment data, Base64-encoded.
        - `signature` string: The signature of the payment and header data. The signature includes the signing certificate, its intermediate CA certificate, and information about the signing algorithm.
        - `header` object: Additional version-dependent information used to decrypt and verify the payment.
          - `ephemeral_public_key` string
          - `public_key_hash` string
          - `transaction_id` string
      - `token` object: The Checkout.com Apple Pay token.
        - `id` string, required: The token identifier, prefixed by `tok_`.
        - `expires_on` string, date-time: The date and time the token expires, in ISO 8601 format.
      - `network_token` PaymentSetupNetworkToken: The third-party network token details. Only supported when the payment method is set as `payment_methods.auto_confirm`.
        - `number` string, required: The network token PAN.
        - `expiry_month` integer, required: The expiry month of the token.
        - `expiry_year` integer, required: The expiry year of the token.
        - `cryptogram` string: The Base64-encoded cryptographic identifier (TAVV) used by card schemes to validate the token verification result.
        - `eci` string: The Electronic Commerce Indicator (ECI) security level associated with the token.
      - `store_for_future_use` boolean: Set to `true` if you intend to reuse the payment credentials in subsequent payments. If set to `false`, a payment instrument will not be included in the payment response.
      - `phone` PaymentSetupPhone: The customer's phone number.
        - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
        - `number` string: The phone number.
      - `account_holder` PaymentSetupAccountHolder: Account holder details for the payment.
        - `type` 'individual' | 'government' | 'corporate': The card account holder type.
        - `first_name` string: The card account holder's first name.
        - `last_name` string: The card account holder's last name.
        - `middle_name` string: The card account holder's middle name.
        - `company_name` string: The card account holder's company name.
        - `account_name_inquiry` boolean: Indicates whether the ANI (account name inquiry) check is performed with the card scheme (Visa or Mastercard).
      - `schemes` string[]: The list of supported card scheme names.
      - `preferred_scheme` 'visa' | 'mastercard' | 'cartes_bancaires': The preferred card scheme to process the payment.
    - `card` Card: The Card payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `token` object
        - `id` string: The Checkout.com card token identifier.
      - `details` object
        - `number` string: The card number (without separators).
        - `last4` string: The last four digits of the card number.
        - `bin` string: The card issuer's Bank Identification Number (BIN).
        - `scheme` string: The card scheme.
        - `expiry_month` integer: The expiry month of the card.
        - `expiry_year` integer: The expiry year of the card.
        - `name` string: The cardholder's name.
        - `cvv` string: The card verification value/code. 3 digits, except for American Express (4 digits).
        - `stored` boolean: Indicates whether this card is being submitted from your own stored card-on-file system, rather than being entered by the customer at the time of payment. Set to `true` when you provide card details that you already have on file for the customer.
        - `expires_on` string, date-time: The time by which the card details must be confirmed.
        - `allow_update` boolean: Indicates whether to use the Real-Time Account Updater to update the card information.
      - `store_for_future_use` boolean: Set to `true` if you intend to reuse the payment credentials in subsequent payments. If set to `false`, a payment instrument will not be included in the payment response.
      - `phone` PaymentSetupPhone: The customer's phone number.
        - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
        - `number` string: The phone number.
      - `account_holder` PaymentSetupAccountHolder: Account holder details for the payment.
        - `type` 'individual' | 'government' | 'corporate': The card account holder type.
        - `first_name` string: The card account holder's first name.
        - `last_name` string: The card account holder's last name.
        - `middle_name` string: The card account holder's middle name.
        - `company_name` string: The card account holder's company name.
        - `account_name_inquiry` boolean: Indicates whether the ANI (account name inquiry) check is performed with the card scheme (Visa or Mastercard).
      - `schemes` string[]: The list of supported card scheme names.
      - `preferred_scheme` 'visa' | 'mastercard' | 'cartes_bancaires': The preferred card scheme to process the payment.
    - `stablecoin` Stablecoin: The Stablecoin payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
  - `available_payment_methods` string[]: An ordered list of available payment method names. The order indicates the recommended presentation priority, with the first item being the highest priority.
  - `settings` object: Settings for the Payment Setup.
    - `success_url` string, uri: The URL to redirect the customer to, if the payment is successful. For payment methods with a redirect, this value overrides the default success redirect URL configured on your account.
    - `failure_url` string, uri: The URL to redirect the customer to, if the payment is unsuccessful. For payment methods with a redirect, this value overrides the default failure redirect URL configured on your account.
    - `capture` boolean: Indicates whether to capture the payment immediately.
    - `excluded_payment_methods` string[]: The list of payment methods excluded from the Payment Setup.
  - `risk` object: Risk assessment settings for the Payment Setup.
    - `enabled` boolean: Indicates whether a risk assessment should be performed.
  - `customer` object: The customer's details.
    - `country` string: The two-letter ISO country code of the customer for this payment.
    - `id` string: The unique identifier of the customer.
    - `email` object: Details of the customer's email.
      - `address` string: The customer's email address.
      - `verified` boolean: Specifies whether the customer's email address is verified.
    - `name` string: The customer's full name.
    - `tax_number` string: The customer's tax identification number.
    - `phone` PaymentSetupPhone: The customer's phone number.
      - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
      - `number` string: The phone number.
    - `device` object: Details of the customer's device.
      - `locale` string: The locale of the device.
      - `fingerprint` string: A unique identifier for the customer's device.
      - `ipv4` string: The customer's device IPv4 address, used by some payment methods for risk and eligibility checks.
      - `ipv6` string: The customer's device IPv6 address, used by some payment methods for risk and eligibility checks.
      - `client` 'web' | 'mobile_web' | 'app': The type of client the customer uses to initiate the payment.
      - `os` 'android' | 'ios': The operating system of the customer's device.
    - `merchant_account` PaymentSetupMerchantAccount: Details of the account the customer holds with the merchant.
      - `id` string: The merchant's unique identifier for the customer's account.
      - `registration_date` string, date: The date the customer registered their account with the merchant.
      - `last_modified` string, date: The date the customer's account with the merchant was last modified.
      - `returning_customer` boolean: Specifies if the customer is a returning customer.
      - `first_transaction_date` string, date: The date of the customer's first transaction.
      - `last_transaction_date` string, date: The date of the customer's most recent transaction.
      - `total_order_count` integer: The total number of orders made by the customer.
      - `last_payment_amount` number: The payment amount of the customer's most recent transaction.
  - `order` object: The customer's order details.
    - `items` OrderItem[]: A list of items in the order.
      - `name` string: The descriptive name of the line item.
      - `quantity` integer: The quantity of the line item.
      - `unit_price` number: The unit price of the line item, in <a href="https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value" target="_blank">minor currency units</a>.
      - `total_amount` number: The total cost of the line item, in <a href="https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value" target="_blank">minor currency units</a>. Include any tax and discounts applied, using the formula: `value = (quantity x unit_price) - discount_amount`.
      - `reference` string: The line item reference or product stock keeping unit (SKU).
      - `discount_amount` number: The discount applied to each invoice line item.
      - `url` string: Link to the line item's product page.
      - `image_url` string: Link to the item image to show in the order confirmation.
      - `type` string: The item type. For example, physical or digital.
      - `category` string: The category of the line item. For example, electronics or groceries.
    - `shipping` PaymentSetupShipping: The customer's shipping details.
      - `first_name` string: The customer's first name.
      - `last_name` string: The customer's last name.
      - `email` string: The customer's email address.
      - `phone` PaymentSetupPhone: The customer's phone number.
        - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
        - `number` string: The phone number.
      - `address` PaymentSetupAddress: A physical address.
        - `address_line1` string: The first line of the address.
        - `address_line2` string: The second line of the address.
        - `city` string: The address city.
        - `state` string: The address state or county.
        - `zip` string: The postal or zip code.
        - `country` string: The address country, in ISO 3166-1 alpha-2 format.
      - `method` string: The shipping method the customer selected. For more information on which values you can specify, refer to the payment method's external API reference.
      - `delay` integer: The number of days between the order date and the expected delivery date.
    - `sub_merchants` PaymentSetupSubMerchant[]: The details of the sub-merchants.
      - `id` string: The unique identifier for the sub-merchant.
      - `product_category` string: The product category for the sub-merchant.
      - `number_of_sales` integer: The number of orders the sub-merchant has processed.
      - `registration_date` string, date: The date the sub-merchant was registered.
    - `invoice_id` string: The unique identifier for the invoice.
    - `shipping_amount` integer: The total shipping amount for the order.
    - `discount_amount` integer: The discount amount the merchant applied to the transaction.
    - `tax_amount` integer: The total tax amount for the order.
    - `tipping_amount` integer: The total tipping amount for the order.
    - `surcharge_amount` integer: The total surcharge amount for the order.
    - `amount_allocations` PaymentSetupAmountAllocation[]: The sub-entities that the payment is being processed on behalf of.
      - `id` string, required: The id of the sub-entity.
      - `amount` integer, required: The split amount - this will be credited to your sub-entity's currency account. The sum of all split amounts must be equal to the payment amount. The amount must be provided in the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>.
      - `reference` string: A reference you can later use to identify this split, such as an order number.
      - `commission` object: Commission you'd like to collect from this split - this will be credited to your currency account. The commission cannot exceed the split amount. Commission = (`amount` * `commission.percentage`) + `commission.amount`
        - `amount` integer: Optional fixed amount of commission to collect. The amount must be provided in the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>.
        - `percentage` number: Optional percentage of commission to collect. Supports up to 8 decimal places.
  - `billing` PaymentSetupBilling: The billing details for the payment.
    - `address` PaymentSetupAddress: A physical address.
      - `address_line1` string: The first line of the address.
      - `address_line2` string: The second line of the address.
      - `city` string: The address city.
      - `state` string: The address state or county.
      - `zip` string: The postal or zip code.
      - `country` string: The address country, in ISO 3166-1 alpha-2 format.
  - `industry` object: Industry-specific information.
    - `airline` PaymentSetupAirline[]
      - `ticket` object: Details about the airline ticket.
        - `number` string: The ticket's unique identifier.
        - `issue_date` string, date: The date the airline ticket was issued.
        - `issuing_carrier_code` string: The carrier code of the ticket issuer.
        - `travel_package_indicator` string: The travel package indicator, as one of the following codes: - `A` - Airline flight reservation - `B` - Car rental and airline reservation - `C` - Car rental reservation - `N` - Unknown
        - `travel_agency_name` string: The name of the travel agency.
        - `travel_agency_code` string: The IATA or ARC unique identifier for the travel agency that issues the ticket.
      - `passengers` object[]: The list of passengers on the flight.
        - `first_name` string: The passenger's first name.
        - `last_name` string: The passenger's last name.
        - `date_of_birth` string, date: The passenger's date of birth.
        - `address` object: Details about the passenger's address.
          - `country` string: The two-letter ISO country code of the passenger's country of residence.
      - `flight_leg_details` PaymentSetupFlightLegDetails[]: The list of flight legs booked by the customer.
        - `flight_number` string: The flight identifier.
        - `carrier_code` string: The IATA 2-letter accounting code (PAX) that identifies the carrier. Required if the airline data includes leg details.
        - `class_of_travelling` string: A one-letter identifier for the travel class. For example: - `F` - First class - `J` - Business class - `W` - Premium economy class - `Y` - Economy class
        - `departure_airport` string: The IATA three-letter airport code for the departure airport. Required if the airline data includes leg details.
        - `departure_date` string, date: The date of the scheduled take-off.
        - `departure_time` string: The time of the scheduled take-off.
        - `arrival_airport` string: The IATA three-letter airport code for the destination airport. Required if the airline data includes leg details.
        - `stop_over_code` string: A one-letter code that indicates whether the passenger is entitled to make a stopover. Specify `O` or a blank space if the passenger is entitled. Specify `X` if the passenger is not entitled.
        - `fare_basis_code` string: The alphanumeric fare basis code.
      - `total_number_of_passengers` integer: The total number of passengers on the booking.
      - `travel_type` string: The type of travel. For example, `domestic` or `international`.
      - `trip_type` string: The type of trip. For example, `one_way` or `round_trip`.
      - `refundable` boolean: Specifies whether the booking is refundable.
      - `delivery_recipient` string: The recipient the ticket is delivered to.
      - `ancillaries` string: Any additional add-ons purchased with the booking. For example, `extra_baggage`.
      - `insurance` object: Details about the travel insurance purchased with the booking.
        - `type` string: The type of insurance.
        - `company` string: The name of the insurance company.
        - `price` object: The price of the insurance.
          - `amount` number: The insurance amount, in the minor currency unit.
          - `currency` string: The currency of the insurance amount, as a three-letter ISO currency code.
    - `accommodation` PaymentSetupAccommodation[]
      - `name` string: For lodging, contains the lodging name that appears on the storefront/customer receipts. For cruise, contains the ship name booked for the cruise.
      - `booking_reference` string: A unique identifier for the booking.
      - `check_in_date` string, date: For lodging bookings, the customer's check-in date. For cruise bookings, the cruise departure date. Also referred to as the sail date.
      - `check_out_date` string, date: For lodging bookings, the customer's check-out date. For cruise bookings, the cruise return date.
      - `address` object: The accommodation's address.
        - `address_line1` string: The first line of the address.
        - `city` string: The address city.
        - `state` string: The address state or county.
        - `country` string: The address country, in ISO 3166-1 alpha-2 format.
        - `zip` string: The zip code or postal code.
      - `number_of_rooms` integer: The total number of rooms booked for the accommodation.
      - `guests` object[]: The list of guests staying at the accommodation.
        - `first_name` string: The guest's first name.
        - `last_name` string: The guest's last name.
        - `date_of_birth` string, date: The guest's date of birth.
      - `room` object[]: The list of rooms booked by the customer.
        - `rate` number: The rate or cost of the room per day.
        - `number_of_nights` integer: The number of nights the room is booked for.
        - `type` string: The room class or type booked. For example, `deluxe`.
      - `total_number_of_guests` integer: The total number of guests on the booking.
      - `refundable` boolean: Specifies whether the booking is refundable.
      - `delivery_recipient` string: The recipient the booking confirmation is delivered to.
      - `host` object: Details about the host of the accommodation.
        - `registration_date` string, date: The date the host registered.
        - `total_reservation_count` integer: The total number of reservations the host has received.
  - `account_funding_transaction` PaymentSetupAccountFundingTransaction: Account funding transaction details for the payment.
    - `enabled` boolean: Whether to process this payment as an account funding transaction.
    - `purpose` 'donations' | 'education' | 'emergency_need' | 'expatriation' | 'family_support' | 'financial_services' | 'gifts' | 'income' | 'insurance' | 'investment' | 'it_services' | 'leisure' | 'loan_payment' | 'medical_treatment' | 'other' | 'pension' | 'royalties' | 'savings' | 'travel_and_tourism': Specifies the purpose of the account funding transaction.
    - `sender` object: Account funding transaction sender details.
      - `date_of_birth` string, date: Date of birth of the sender (yyyy-mm-dd).
      - `reference` string: The unique reference for the sender of the payment.
      - `identification` object: Sender identification details.
        - `type` 'passport' | 'driving_license' | 'national_id': The type of identification used to identify the sender.
        - `number` string: The identification number.
        - `issuing_country` string: The two-letter ISO country code of the country that issued the identification
    - `recipient` object: Account funding transaction recipient details.
      - `date_of_birth` string, date: Date of birth of the recipient (yyyy-mm-dd).
      - `account_number` string: Any identifier like part of the PAN (first six digits and last four digits), an IBAN, an internal account number, or a phone number related to the primary recipient's account
      - `first_name` string: The recipient's first name.
      - `last_name` string: The recipient's last name.
      - `address` PaymentSetupAddress: A physical address.
        - `address_line1` string: The first line of the address.
        - `address_line2` string: The second line of the address.
        - `city` string: The address city.
        - `state` string: The address state or county.
        - `zip` string: The postal or zip code.
        - `country` string: The address country, in ISO 3166-1 alpha-2 format.
  - `terminal` PaymentSetupTerminal: Terminal details.
    - `id` string: Terminal identifier.
    - `local_date_time` string, date-time: The local date and time on the terminal, in ISO 8601 format.
  - `billing_descriptor` PaymentSetupBillingDescriptor: The billing descriptor for payment.
    - `name` string: A dynamic description of the payment.
    - `city` string: The city from which the payment was made.
    - `reference` string: The reference shown on the statement.
  - `metadata` object: A set of key/value pairs you can attach to a payment. It can be useful for storing additional information about the payment.
  - `latest_payment` PaymentDetails: Payment response
    - `id` string, required: The payment identifier.
    - `requested_on` string, date-time, required: Read-only UTC timestamp, automatically assigned by us
    - `source` union: The source of the payment
      - object: A card payment source
        - `type` 'card', required: The payment source type.
        - `id` string: The payment source identifier that can be used for subsequent payments. For new sources, this will only be returned if the payment was approved
        - `billing_address` Address
          - `address_line1` string: The first line of the address.
          - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
          - `city` string: The address city.
          - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
          - `zip` string: The address zip or postal code.
          - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
        - `phone` PhoneNumber: A phone number
          - `country_code` string: The international <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">country calling code</a>. Required if `source.type` is `tamara`.
          - `number` string: The phone number. Required if `source.type` is `tamara`.
        - `expiry_month` integer, required: The expiry month
        - `expiry_year` integer, required: The expiry year
        - `name` string: The cardholder's name
        - `scheme` string: The card scheme
        - `scheme_local` string: Replaced by `local_schemes` The local co-branded card scheme.
        - `local_schemes` string[]: The local co-branded card schemes.
        - `last4` string, required: The last four digits of the card number
        - `fingerprint` string, required: Uniquely identifies this particular card number. You can use this to compare cards across customers.
        - `bin` string, required: The card issuer's Bank Identification Number (BIN)
        - `card_type` 'CREDIT' | 'DEBIT' | 'PREPAID' | 'CHARGE' | 'DEFERRED DEBIT': The card type
        - `card_category` 'CONSUMER' | 'COMMERCIAL': The card category
        - `card_wallet_type` 'applepay' | 'googlepay': The card wallet type
        - `issuer` string: The name of the card issuer
        - `issuer_country` string: The card issuer's country (<a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">two-letter ISO code</a>)
        - `product_id` string: The issuer/card scheme product identifier
        - `product_type` string: The issuer/card scheme product type
        - `avs_check` string: The Address Verification System check result
        - `cvv_check` string: The card verification value (CVV) check result
        - `payment_account_reference` string: A unique reference to the underlying card for network tokens (e.g., Apple Pay, Google Pay)
        - `encrypted_card_number` string: The JWE encrypted full card number that has been updated by <a href="https://www.checkout.com/docs/payments/manage-payments/real-time-account-updater" target="_blank">real-time account updater</a>.
        - `account_update_status` 'card_updated' | 'card_expiry_updated' | 'card_closed' | 'contact_cardholder': Specifies what card information was updated by the <a href="https://www.checkout.com/docs/payments/manage-payments/real-time-account-updater#Retrieve_card_updates" target="_blank">Real-Time Account Updater</a>.
        - `account_update_failure_code` string: Provides the <a href="https://www.checkout.com/docs/developer-resources/codes/real-time-account-updater-response-codes" target="_blank">failure code</a> if the <a href="https://checkout.com/docs/payments/store-and-manage-credentials/update-stored-credentials/real-time-account-updater" target="_blank">Real-Time Account Updater</a> fails to update the card information.
        - `account_holder` object: Information about the account holder of the card
      - object: ACH Direct Debit Source
        - `type` 'ach', required: The payment source type
        - `id` string, required: The instrument ID
        - `account_holder` PaymentResponseAchAccountHolder: The account holder details, including the Account Name Inquiry outcome
          - `account_name_inquiry` 'full_match' | 'partial_match' | 'no_match' | 'not_performed': The outcome of the Account Name Inquiry (ANI) check
          - `account_name_inquiry_details` object: Details of the Account Name Inquiry check
            - `description` string: The description of the Account Name Inquiry outcome
      - object: Alma Source
        - `type` 'alma', required: The payment source type
      - object: Bancontact Source
        - `type` 'bancontact', required: The payment source type
        - `iban` string: The IBAN of the Consumer Bank account used for payment (if applicable).
        - `bic` string: The Bank Code of the Consumer Bank account used for payment (if applicable). Example: BIC, Sort Code.
      - object: Blik Source
        - `type` 'blik', required: The payment source type.
        - `id` string: The Checkout.com source identifier for the partner agreement created during a Blik recurring payment. Use this value as `source.id` (with `source.type: id`) to process subsequent merchant-initiated payments against the same agreement.
      - object: Currency Account Source
        - `type` 'currency_account', required: The payment source type
        - `id` string, required: The ID of the currency account
        - `amount` integer: If specified, indicates the amount in the source currency to be paid out. If omitted, the root amount in the destination currency will be used.<br>The amount must be provided in the minor currency unit.
      - object: EPS Source
        - `type` 'eps', required: The payment source type
        - `purpose` string: Purpose of the payment as appearing on customer's bank statement.
        - `bic` string: Bank Identifier Code (BIC). It can be exactly 8 characters or 11 characters long.
        - `iban` string: International Bank Account Number (IBAN) without whitespaces.
        - `account_holder_name` string: Account holder information.
        - `account_holder` AccountHolderEps: The account holder details
          - `first_name` string, required: The first name of the account holder
          - `last_name` string, required: The last name of the account holder
      - object: Ideal Source
        - `type` 'ideal', required: The payment source type
        - `account_holder` string: The account holder information
        - `account_holder_name` string: The account holder's name
        - `bic` string: Bank Identifier Code (BIC). It can be exactly 8 characters or 11 characters long
        - `description` string: Description of the product(s) or services being paid for
        - `iban` string: The IBAN of the Consumer Bank account used for payment (if applicable).
      - object: Klarna Source
        - `type` 'klarna', required: The payment source type.
        - `account_holder` object: The account holder's details.
          - `first_name` string: The account holder's first name.
          - `last_name` string: The account holder's last name.
          - `billing_address` object: The account holder's billing address.
            - `address_line1` string: The first line of the billing address.
            - `address_line2` string: The second line of the billing address.
            - `city` string, required: The billing address city.
            - `zip` string, required: The billing address ZIP or postal code.
            - `country` string, required: The two-letter <a href="https://www.checkout.com/docs/previous/resources/codes/country-codes" target="blank">ISO country code</a> of the billing address.
          - `email` string: The account holder's email address.
          - `date_of_birth` string: The account holder's date of birth.
          - `account_holder_name` string: The account holder's full name.
          - `iban` string: The account's international bank account number (IBAN). The IBAN is a standardized international format for identifying bank accounts across countries.
          - `account_number` string: The account holder's account number.
          - `bank_code` string: A unique code that identifies the bank the account is held with.
          - `bank_name` string: The name of the bank the account is held with.
          - `bic` string: The account's bank identifier code (BIC). A BIC is a standardized international code used by banks to identify themselves in financial transactions. Also referred to as a SWIFT code.
          - `gender` string: The account holder's gender.
          - `phone` object: The account holder's phone number.
            - `country_code` string: The international <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">country calling code</a>.
            - `number` string: The phone number.
      - object: KNet Source
        - `type` 'knet', required: The payment source type
        - `language` 'ar' | 'en': Required for KNet Gateway payments. This field enables the issuer's site to select the consumer's preferred language. For example, the language selected on the merchant's site – if the issuer's site supports it. Code list in accordance with ISO 639-1. (Arabic = 'ar', English = 'en'). Note that 'ar' corresponds to 'ARA' and 'en' to 'USA'. Both values accepted by KNet Gateway.
        - `user_defined_field1` string: User-defined field that can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed.
        - `user_defined_field2` string: User-defined field can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed.
        - `user_defined_field3` string: User-defined field can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed. Note that this field must be omitted when the `card_token` field is not empty. This restriction exists because a card token is passed to KNet Gateway as `user_defined_field3`.
        - `user_defined_field4` string: User-defined field can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed.
        - `user_defined_field5` string: User-defined field can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed. Note that this field must be omitted when the `ptlf` field is not empty. This restriction exists because a PTLF value is passed to KNet Gateway as `user_defined_field5`.
        - `card_token` string: This token allows re-usage of card details for multiple payments. This 8-digit token should be generated by a merchant. When a subsequent payment is initialized with the same card token, a customer is presented with two options. The customer can choose to pay with KFast (doesn't need to enter card details again), or with KNet as usual. The payment flow stays the same i.e. a merchant should redirect a customer to the redirect URL which is provided in the payment creation response. Note that `user_defined_field3` must be omitted when the `card_token` field is not empty. This restriction exists because a card token is passed to KNet Gateway as `user_defined_field3`.
        - `ptlf` string: This is an ID for merchant PTLF functionality tracking. Only alphanumeric characters are allowed. Note that `user_defined_field5` must be omitted when the `ptlf` field is not empty. This restriction exists because a PTLF value is passed to KNet Gateway as `user_defined_field5`.
        - `knet_payment_id` string: The payment identifier assigned by KNet Gateway.
        - `knet_result` string: The state of the payment, returned by KNet Gateway after the customer is redirected from the payment page.
        - `inquiry_result` string: The state of the payment, returned by KNet Gateway in the response from the payment inquiry. This field is populated in rare cases when the redirection from the payment page did not occur properly.
        - `bank_reference` string: The result transaction reference, given by some banks/institutions.
        - `knet_transaction_id` string: The transaction identifier assigned by KNet Gateway.
        - `auth_code` string: The resulting authorization code from the issuing bank.
        - `auth_response_code` string: The auth response code / reason code relating to the issuing bank authorization code.
        - `post_date` string: The transaction date in the authorization system format, with the value defined by the issuing bank, so may not match the actual transaction date. The format is `MMDD`.
        - `avr` string: The Address Verification Response returned from the address verification service.
        - `error` string: The KNET error code for transaction processing.
        - `error_text` string: The KNET text detail for the error, including an error code.
      - object: Multibanco Source
        - `type` 'multibanco', required: The payment source type
        - `payment_reference` string: Multibanco payment reference
        - `service_supplier_id` string: The identifier of a supplier charging for its service or product
      - object: P24 Source
        - `type` 'p24', required: The payment source type
        - `p24_descriptor` string: P24-generated payment descriptor, which contains the requested billing descriptor or the merchant's default descriptor (subject to truncation).
      - object: PayPal Source
        - `type` 'paypal', required: The payment source type
        - `account_holder` object: The account holder details
          - `email` string, email: The account holder email address.
          - `full_name` string: The full name of the account holder
      - object: QPay Source
        - `type` 'qpay', required: The payment source type
        - `description` string, required: Alphanumeric string containing a description of the payment order.
        - `qpay_status` string: The status code returned from the QPay gateway on payment, if available.
        - `status_message` string: A message giving further detail on the payment status, for failure/cancelled/success status payments.
        - `confirmation_id` string: An identifier from the QPay gateway for a successful payment.
        - `pun` string, required: QPay Payment Unique Number
      - object: SEPA DD Source
        - `type` 'sepa', required: The payment source type
        - `id` string, required: The instrument ID
      - object: Bacs Direct Debit Source
        - `type` 'bacs', required: The payment source type
        - `id` string, required: The instrument ID
      - object: Swish Source
        - `type` 'swish', required: The payment source type
      - object: Sequra Source
        - `type` 'sequra', required: The payment source type
      - object: Tamara Source
        - `type` 'tamara', required: The payment source type
    - `destination` PaymentResponseDestination: A bank account payment destination
      - `type` 'bank_account', required: The payment destination type.
      - `id` string, required: The payment instrument identifier
    - `amount` integer, required: The original payment amount
    - `amount_requested` integer: The full amount from the original authorization, if a partial authorization was requested.
    - `currency` string, required: The three-letter <a href="https://www.checkout.com/docs/resources/codes/currency-codes" target="_blank">ISO currency code</a> of the payment
    - `payment_type` 'Regular' | 'Recurring' | 'MOTO' | 'Installment' | 'PayLater' | 'Unscheduled': This must be specified for card payments where the cardholder is not present (For example, recurring or mail order / telephone order)
    - `payment_plan` union: The details of a recurring subscription or installment
      - object: The information to process a recurring payment request. To be used when the `payment_type` is `recurring`.
        - `amount_variability` 'Fixed' | 'Variable': Specifies whether the amount is fixed or variable for each recurrence.
        - `days_between_payments` integer: Indicates the minimum number of days between payments
        - `total_number_of_payments` integer: Indicates the agreed total number of payments
        - `current_payment_number` integer: The number of the current installment payment
        - `expiry` string: The date after which no further payments will be performed in the format YYYYMMDD
        - `name` string: The name of the payment plan. Required when `source.type` is `blik`. For Blik merchant-initiated requests using an external `partner_agreement_id`, this value is used as the Blik Alias Label.
        - `start_date` string: The date on which the first payment will be taken, in `YYYYMMDD` format. Required when `source.type` is `blik` and the recurring agreement is created without an initial payment (`amount` set to `0`).
        - `amount` integer: The amount to charge for each payment in the plan, in the [minor currency unit](https://www.checkout.com/docs/resources/calculating-the-amount). Required when `source.type` is `blik`, `payment_plan.amount_variability` is `Fixed`, and the recurring agreement is created without an initial payment (`amount` set to `0`).
      - object: The information to process a installment payment request. To be used when the `payment_type` is `installment`.
        - `financing` boolean: If the installment plan has financing.
        - `days_between_payments` integer: Indicates the minimum number of days between payments
        - `total_number_of_payments` integer: Indicates the agreed total number of payments
        - `current_payment_number` integer: The number of the current installment payment
        - `expiry` string: The date after which no further payments will be performed in the format YYYYMMDD
        - `name` string: The name of the payment plan. Required when `source.type` is `blik`. For Blik merchant-initiated requests using an external `partner_agreement_id`, this value is used as the Blik Alias Label.
        - `start_date` string: The date on which the first payment will be taken, in `YYYYMMDD` format. Required when `source.type` is `blik` and the recurring agreement is created without an initial payment (`amount` set to `0`).
        - `amount` integer: The amount to charge for each payment in the plan, in the [minor currency unit](https://www.checkout.com/docs/resources/calculating-the-amount). Required when `source.type` is `blik`, `payment_plan.amount_variability` is `Fixed`, and the recurring agreement is created without an initial payment (`amount` set to `0`).
    - `reference` string: Your reference for the payment
    - `description` string: A description of the payment
    - `approved` boolean, required: Whether the payment was successful
    - `expires_on` string: The timestamp (ISO 8601 code) for when the authorization's validity period expires
    - `status` 'Pending' | 'Authorized' | 'Card Verified' | 'Voided' | 'Partially Captured' | 'Captured' | 'Partially Refunded' | 'Refunded' | 'Declined' | 'Canceled' | 'Expired' | 'Paid' | 'Retry Scheduled', required: The status of the payment
    - `balances` PaymentResponseBalances: The balances of the payment
      - `total_authorized` integer: The total amount that has been authorized
      - `total_voided` integer: The total amount that has been voided
      - `available_to_void` integer: The total amount that is still available for voiding
      - `total_captured` integer: The total amount that has been captured
      - `available_to_capture` integer: The total amount that is still available for capture
      - `total_refunded` integer: The total amount that has been refunded
      - `available_to_refund` integer: The total amount that is still available for refund
    - `3ds` 3dsData
      - `downgraded` boolean: Indicates whether this was a 3D Secure payment downgraded to non-3D Secure (when `attempt_n3d` is specified)
      - `enrolled` string: Indicates the 3D Secure enrollment status of the issuer * `Y` - Issuer enrolled * `N` - Customer not enrolled * `U` - Unknown
      - `signature_valid` string: Verification to ensure the integrity of the response
      - `authentication_response` 'Y' | 'N' | 'U' | 'A' | 'C' | 'D' | 'R' | 'I': Only available as a result of a 3DS2 authentication. The response from the DS or ACS which indicates whether a transaction qualifies as an authenticated transaction or account verification. <br/> Only available if communication with the scheme was successful and the Session is in a final state. <br/><br/> • Y = Authentication Verification Successful. <br/> • N = Not Authenticated /Account Not Verified; Transaction denied. <br/> • U = Authentication/ Account Verification Could Not Be Performed; Technical or other problem, as indicated in ARes or RReq. <br/> • A = Attempts Processing Performed; Not Authenticated/Verified, but a proof of attempted authentication/verification is provided. <br/> • C = Challenge Required; Additional authentication is required using the CReq/CRes. <br/> • D = Challenge Required; Decoupled Authentication confirmed. <br/> • R = Authentication/ Account Verification Rejected; Issuer is rejecting authentication/verification and request that authorization not be attempted. <br/> • I = Informational Only; 3DS Requestor challenge preference acknowledged.
      - `authentication_status_reason` string: The response from the Directory Server (DS) or Access Control Server (ACS), which provides information on why you received the given `authentication_response` value. This field is only returned as a result of a 3DS2 authentication, and only if the returned `authentication_response` value was not `Y`. Refer to our <a href="https://www.checkout.com/docs/risk-management/3d-secure/sessions/understand-authentication-failures#Common_authentication_failures" target="_blank">authentication failures</a> documentation for more information.
      - `cryptogram` string: Base64 encoded cryptographic identifier (CAVV) used by the card schemes to validate the integrity of the 3D secure payment data
      - `xid` string: Unique identifier for the transaction assigned by the MPI
      - `eci` string: The <a href="https://www.checkout.com/docs/developer-resources/codes/eci-values">Electronic Commerce Indicator (ECI)</a> security level returned in the payment's authentication response.
      - `version` string: Indicates the version of 3D Secure that was used for authentication
      - `exemption` '3ds_outage' | 'data_share' | 'low_risk_program' | 'low_value' | 'none' | 'other' | 'out_of_sca_scope' | 'sca_delegation' | 'secure_corporate_payment' | 'transaction_risk_assessment' | 'trusted_listing' | 'trusted_listing_prompt': Specifies an exemption reason so that the payment is not processed using 3D Secure authentication. Learn more about exemptions in our <a href="https://www.checkout.com/docs/payments/regulation-support/sca-compliance-guide#Possible_SCA_exemptions" target="_blank">SCA compliance guide</a>
      - `exemption_applied` string: Specifies the applied exemption during 3DS authentication
      - `challenged` boolean: Indicates whether this session involved a challenge. This will only be set after communication with the scheme is finished.
      - `upgrade_reason` string: Indicates the reason why the payment was upgraded to 3D Secure.
      - `trusted_listing` TrustedListing: The details of the trusted listing status of the merchant
        - `status` 'Y' | 'N' | 'E' | 'P' | 'R' | 'U': Enables the communication of trusted beneficiary status between the Access Control Server (ACS), the Directory Server (DS), and the 3D Secure (3DS) Requestor.<br/><br/> • Y = 3DS Requestor is allowlisted by cardholder<br/> • N = 3DS Requestor is not allowlisted by cardholder<br/> • E = Not eligible as determined by issuer<br/> • P = Pending confirmation by cardholder<br/> • R = Cardholder rejected<br/> • U = Allowlist status unknown, unavailable, or does not apply
        - `source` string: The system setting trusted beneficiary status<br/><br/> • 01 = 3DS Server <br/> • 02 = DS <br/> • 03 = ACS <br/> • 80-99 = DS-specific values <br/>
    - `authentication` PaymentAuthenticationData
      - `experience` 'google_spa' | '3ds': The authentication experience that was used to authenticate the payment.
    - `risk` object: Returns the payments risk assessment results
      - `flagged` boolean: Whether the payment was flagged by a risk check
      - `score` number: The risk score calculated by our Fraud Detection engine. Absent if not enough data provided.
    - `customer` object: The customer to which this payment is linked
      - `id` string, required: The unique identifier of the customer. This can be passed as a source when making a payment
      - `email` string: The customer's email address
      - `name` string: The customer's name
      - `summary` CustomerSummary: Summary of the customer's transaction history. <br> Used for risk assessment when `source.type` is `Tamara`
        - `registration_date` string, date: The date the customer registered.
        - `first_transaction_date` string, date: The date of the customer's first transaction.
        - `last_payment_date` string, date: The date of the customer's last payment.
        - `total_order_count` integer: The total number of orders made by the customer.
        - `last_payment_amount` number, float: The amount of the customer's last payment.
        - `is_premium_customer` boolean: Specifies whether the customer is a premium customer.
        - `is_returning_customer` boolean: Specifies whether the customer is a returning customer.
        - `lifetime_value` number, float: The customer's lifetime value. This is the total monetary amount that the customer has ordered, in their local currency, excluding the following: - canceled orders - rejected payments - refunded payments - Tamara payments The lifetime value is an indicator of how valuable the relationship with the customer is to your company.
    - `billing_descriptor` BillingDescriptor: An optional description that is displayed on the customer's statement identifying a purchase.
      - `name` string, required: A dynamic description of the payment. Applies to card payments only.
      - `city` string, required: The city from which the payment originated. Applies to card payments only.
      - `reference` string: The reference that should be shown on the statement. Required for payouts to bank accounts.
      - `local_descriptors` LocalBillingDescriptor[], nullable
        - `name` string, required: A dynamic description of the card payment. Other payment methods will not display this description. The character set specified will determine the maximum length of the field. For `katakana`, the maximum length is 23 characters, equivalent to 23 katakana characters. For `kanji`, the maximum length is 40 characters, equivalent to 20 kanji characters.
        - `character_set` 'kanji' | 'katakana', required: The character set of the descriptor
    - `shipping` object: The payment shipping details
      - `address` Address
        - `address_line1` string: The first line of the address.
        - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
        - `city` string: The address city.
        - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
        - `zip` string: The address zip or postal code.
        - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
      - `phone` PhoneNumber: A phone number
        - `country_code` string: The international <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">country calling code</a>. Required if `source.type` is `tamara`.
        - `number` string: The phone number. Required if `source.type` is `tamara`.
    - `payment_ip` string, ipv4
    - `sender` union: Information about the sender of the payment's funds
      - object: Store a previously tokenized instrument
        - `type` 'individual' | 'corporate' | 'instrument', required: The type of sender
        - `reference` string: The sender's reference for the payout
        - `first_name` string, required: The sender's first name
        - `last_name` string, required: The sender's last name
        - `address` Address, required
          - `address_line1` string: The first line of the address.
          - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
          - `city` string: The address city.
          - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
          - `zip` string: The address zip or postal code.
          - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
      - object: Store a previously tokenized instrument
        - `type` 'individual' | 'corporate' | 'instrument', required: The type of sender
        - `reference` string: The sender's reference for the payout
        - `company_name` string, required: The sender's company name
        - `address` Address
          - `address_line1` string: The first line of the address.
          - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
          - `city` string: The address city.
          - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
          - `zip` string: The address zip or postal code.
          - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
      - object: Store a previously tokenized instrument
        - `type` 'individual' | 'corporate' | 'instrument', required: The type of sender
        - `reference` string: The sender's reference for the payout
    - `amount_allocations` object[]: The sub-entities that the payment is being processed on behalf of
      - `id` string, required: The id of the sub-entity.
      - `amount` integer, required: The split amount - this will be credited to your sub-entity's currency account. The sum of all split amounts must be equal to the payment amount. The amount must be provided in the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>.
      - `reference` string: A reference you can later use to identify this split, such as an order number.
      - `commission` object: Commission you'd like to collect from this split - this will be credited to your currency account. The commission cannot exceed the split amount. Commission = (`amount` * `commission.percentage`) + `commission.amount`
        - `amount` integer: Optional fixed amount of commission to collect. The amount must be provided in the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>.
        - `percentage` number: Optional percentage of commission to collect. Supports up to 8 decimal places.
    - `recipient` PaymentRecipient: Information about the recipient of the payment's funds. Relevant for [Account Funding Transactions](https://www.checkout.com/docs/payments/manage-payments/account-funding-transactions) and VISA or Mastercard [domestic UK transactions processed by financial institutions](https://www.checkout.com/docs/payments/regulation-support/requirements-for-financial-institutions).
      - `dob` string, date: The recipient's date of birth (yyyy-mm-dd)
      - `account_number` string: Any identifier like part of the PAN (first six digits and last four digits), an IBAN, an internal account number, or a phone number related to the primary recipient's account
      - `address` Address
        - `address_line1` string: The first line of the address.
        - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
        - `city` string: The address city.
        - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
        - `zip` string: The address zip or postal code.
        - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
      - `zip` string: Replaced by `address.zip` The first part of the UK postcode (e.g., SW1A 1AA would be SW1A).
      - `first_name` string: The recipient's first name
      - `last_name` string: The recipient's last name
    - `processing` ProcessingData: Returns information related to the processing of the payment
      - `preferred_scheme` 'mastercard' | 'visa' | 'cartes_bancaires' | 'accel' | 'discover' | 'eftpos' | 'maestro' | 'nyce' | 'pulse' | 'star': The preferred scheme for co-badged and PINless debit card payment processing. If performing 3DS via a third party, set this value to the scheme that processed 3DS.
      - `app_id` string: The customer's application identifier.
      - `airline_data` object[]: Contains information about the airline ticket and flights booked by the customer.
        - `ticket` object: Contains information about the airline ticket.
          - `number` string: The ticket's unique identifier.
          - `issue_date` string, date: Date the airline ticket was issued.
          - `issuing_carrier_code` string: Carrier code of the ticket issuer.
          - `travel_package_indicator` string: C = Car rental reservation, A = Airline flight reservation, B = Both car rental and airline flight reservations included, N = Unknown.
          - `travel_agency_name` string: The name of the travel agency.
          - `travel_agency_code` string: The unique identifier from IATA or ARC for the travel agency that issues the ticket.
        - `passenger` object[]: Contains information about the passenger(s) on the flight.
          - `first_name` string: The passenger's first name.
          - `last_name` string: The passenger's last name.
          - `date_of_birth` string, date: The passenger's date of birth.
          - `address` object: Contains information about the passenger's address.
            - `country` string: The two-letter ISO country code of the passenger's country residence.
        - `flight_leg_details` object[]: Contains information about the flight leg(s) booked by the customer.
          - `flight_number` string: The flight identifier.
          - `carrier_code` string: The IATA 2-letter accounting code (PAX) that identifies the carrier. This field is required if the airline data includes leg details.
          - `class_of_travelling` string: A one-letter travel class identifier. The following are common: F = First class, J = Business class, Y = Economy class, W = Premium economy.
          - `departure_airport` string: The IATA three-letter airport code of the departure airport. This field is required if the airline data includes leg details.
          - `departure_date` string, date: The date of the scheduled take off.
          - `departure_time` string: The time of the scheduled take off.
          - `arrival_airport` string: The IATA 3-letter airport code of the destination airport. This field is required if the airline data includes leg details.
          - `stop_over_code` string: A one-letter code that indicates whether the passenger is entitled to make a stopover. Can be a space, O if the passenger is entitled to make a stopover, or X if they are not.
          - `fare_basis_code` string: The fare basis code, alphanumeric.
      - `accommodation_data` object[]: Contains information about the accommodation booked by the customer.
        - `name` string: For lodging, contains the lodging name that appears on the storefront/customer receipts. For cruise, contains the ship name booked for the cruise.
        - `booking_reference` string: A unique identifier for the booking.
        - `check_in_date` string, date: For lodging, contains the actual or scheduled date the guest checked-in. For cruise, contains the cruise departure date also known as sail date.
        - `check_out_date` string, date: For lodging, contains the actual or scheduled date the guest checked-out. For cruise, contains the cruise return date also known as sail end date.
        - `address` object: The address details of the accommodation.
          - `address_line1` string: The first line of the address.
          - `zip` string: The postal code for the address.
        - `state` string: The state or province of the address country (ISO 3166-2 code of up to two alphanumeric characters).
        - `country` string: The ISO country code of the address.
        - `city` string: The address city.
        - `number_of_rooms` integer: The total number of rooms booked for the accommodation.
        - `guests` object[]: Contains information about the guests staying at the accommodation.
          - `first_name` string: The first name of the guest.
          - `last_name` string: The last name of the guest.
          - `date_of_birth` string, date: The date of birth of the guest.
        - `room` object[]: Contains information about the rooms booked by the customer.
          - `rate` string: For lodging, contains the nightly rate for one room. For cruise, contains the total cost of the cruise.
          - `number_of_nights_at_room_rate` string: For lodging, contains the number of nights charged at the rate provided in the rate field. For cruise, contains the length of the cruise in days.
        - `property_phone` object[]: The property's phone information.
          - `country_code` string: The property's phone country code.
          - `number` string: The property's phone number.
        - `customer_service_phone` object[]: The customer service phone information.
          - `country_code` string: The customer service phone country code.
          - `number` string: The customer service phone number.
      - `partner_customer_id` string: The customer's ID on the partner platform.
      - `partner_payment_id` string: The partner-originated unique payment identifier
      - `partner_code` string: The 6-digit partner code returned by the payment provider. Returned when `source.type` is `blik`.
      - `failure_code` string: A high-level failure category returned by the payment provider when a payment is declined or fails. Not all payment methods return this field.
      - `partner_response_code` string: The raw response code returned by the payment provider when a payment is declined or fails. Not all payment methods return this field.
      - `tax_amount` number: Total tax amount of the order.
      - `locale` string: The language and region of the customer. ISO 639-2 language code, its value consists of language-country
      - `retrieval_reference_number` string: A unique identifier for the authorization provided by partner
      - `partner_order_id` string: The Klarna order ID associated with the payment.
      - `partner_status` string: Status of a payment provided by partner
      - `partner_transaction_id` string: Unique transaction identification provided by partner
      - `partner_error_codes` string[]: The list of error codes that led the payment to fail or be declined, as given by the payment provider
      - `partner_merchant_advice_code` string: The <a href="https://www.checkout.com/docs/developer-resources/codes/recommendation-codes#Mastercard_merchant_advice_codes" target="blank">Merchant Advice Code (MAC)</a> provided by Mastercard, which contains additional information about the transaction. For example, the MAC can inform you if the transaction was performed using a consumer non-reloadable prepaid card or a consumer single-use virtual card. For declined transactions, the MAC will also let you know whether the payment can be retried, and how long you should wait before doing so.
      - `partner_error_message` string: Error description provided by partner
      - `partner_authorization_code` string: Authorization code provided by partner
      - `partner_authorization_response_code` string: Authorization response code provided by partner
      - `partner_fraud_status` string: Partner fraud status. If the status is Pending, and the Merchant captures before it changes to Accepted the risk of the transaction is solely of the merchant.
      - `pan_type_processed` 'fpan' | 'dpan': The type of Primary Account Number (PAN) used for the payment. DPAN indicates network token was used, FPAN indicates the full card was used
      - `fallback_source_used` boolean: Indicates whether the `fallback_source` field was used for the payment.
      - `custom_payment_method_ids` string[]: An array defining which of the configured payment options within a payment category (for example, `pay_later` or `pay_over_time`) should be displayed for this purchase.
      - `aft` boolean: Indicates whether the payment is an [Account Funding Transaction](https://www.checkout.com/docs/payments/manage-payments/account-funding-transactions)
      - `merchant_category_code` string: Four-digit code for retail financial services expressed in ISO 18245 format, classifying the types of goods or services you provide.
      - `scheme_merchant_id` string: The merchant identifier that was configured with the scheme and used for the payment.
      - `scheme` string: The scheme on which the payment was authorized. This may differ from the card's scheme used for the payment if the card is co-badged and the payment was authorized on a different network.
      - `scheme_transaction_link_id` string: The scheme transaction link identifier.
    - `items` object[]: The order's line items.
      - `type` 'digital' | 'discount' | 'physical': The item type. For example, `physical` or `digital`. This field is used to provide item level metadata where applicable. If `source.type` is `sequra`, this field is required.
      - `sub_type` 'blockchain' | 'cbdc' | 'cryptocurrency' | 'nft' | 'stablecoin': The digital item type. If `type` is set to `digital`, this field is required.
      - `name` string: The descriptive name of the line item. If `source.type` is `sequra`, this field is required.
      - `quantity` integer: The number of line items. If `source.type` is `sequra`, this field is required.
      - `unit_price` integer: The unit price of the item the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>. Required if `source.type` is `sequra`
      - `reference` string: The item reference or product SKU (stock-keeping unit). For Visa and Mastercard's interchange reduction programs, this value has a maximum length of 12 characters. If `source.type` is `sequra`, this field is required.
      - `commodity_code` string: A code identifying a Commodity for value-added tax (VAT) purposes.
      - `unit_of_measure` string: Unit of Measure code used for an item in transaction.
      - `total_amount` number: The total cost of the line item, in <a href="https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value" target="_blank">minor currency units</a>. Calculate this using the following formula: `total_amount` = (`quantity` * `unit_price`) - `discount_amount`. If `source.type` is `sequra`, this field is required.
      - `tax_rate` number: The tax rate of the item line in minor units. The percentage value is represented with two implicit decimals. For example, 2000=20%.
      - `tax_amount` number: Contains the total amount of sales tax or value-added tax (VAT) on the total purchase amount. Tax should be included in the total purchase.
      - `tax_exempt` boolean: Indicates whether the products or services are tax-exempt. <p/> Set to `true` if: - You are processing a card payment. - The `tax_amount` field is `0` due to a tax-exempt product or service.
      - `discount_amount` number: The discount applied to each invoice line item.
      - `wxpay_goods_id` string: Unified product No. defined by WeChat Pay
      - `url` string: Link to the line item's product page
      - `image_url` string: Link to the line item's product page
      - `service_ends_on` string, date: Maximum date for the service to be rendered or ended. If `source.type` is `sequra` and `item.type` is `digital`, this field is required.
      - `purchase_country` string: The country where the purchase was made. <br/>Format – <a href="https://www.checkout.com/docs/previous/resources/codes/country-codes" target="_blank">ISO alpha-2 country code</a>
      - `foreign_retailer_amount` integer: The foreign retailer amount the merchant applied to the transaction, in the [minor currency unit](https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value).
    - `metadata` object: A set of key-value pairs that you can attach to a payment. It can be useful for storing additional information in a structured format
    - `eci` string: The final Electronic Commerce Indicator (ECI) security level used to authorize the payment. Applicable for 3D Secure and network token payments
    - `scheme_id` string: The scheme transaction identifier
    - `actions` PaymentActionSummary[]: A summary of the payment's actions, returned when a session ID is used to get the payment details
      - `id` string, required: The action identifier
      - `type` 'Authorization' | 'Card Verification' | 'Void' | 'Capture' | 'Refund', required: The type of action
      - `response_code` string, required: The Gateway response code
      - `response_summary` string: The Gateway response summary
    - `retry` RetryGetResponse: Configuration relating to asynchronous retries
      - `enabled` boolean, required: Indicates whether asynchronous retries are enabled for the payment.
      - `attempts_made` integer: The number of retries attempted so far.
      - `max_attempts` integer: The maximum number of authorization retry attempts, excluding the initial authorization.
      - `ends_on` string, date-time: ISO 8601 timestamp
      - `next_attempt_on` string, date-time: ISO 8601 timestamp
    - `cko_network_token_available` boolean: The flag indicating if Checkout Network Token was available for the payment
    - `instruction` object: Details about the payment instruction.
      - `purpose` string: The purpose of the payment.
    - `_links` object, required: The links related to the payment
      - `self` Link, required
        - `href` string, required: The link URL
      - `actions` Link, required
        - `href` string, required: The link URL
      - `authorize` Link
        - `href` string, required: The link URL
      - `void` Link
        - `href` string, required: The link URL
      - `capture` Link
        - `href` string, required: The link URL
      - `refund` Link
        - `href` string, required: The link URL

## Response `200`

Payment Setup updated.

- PaymentSetup
  - `id` string
  - `processing_channel_id` string, required: The processing channel to use for the payment.
  - `amount` number, required: The payment amount, in the <a href="https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value" target="_blank">minor currency unit</a>.
  - `currency` string, required: The currency of the payment, as a three-letter <a href="https://www.checkout.com/docs/developer-resources/codes/currency-codes" target="_blank">ISO currency code</a>.
  - `presentment_details` PaymentSetupPresentmentDetails: The amount and currency to present to the customer, when the settlement currency differs from the customer-facing currency.
    - `amount` integer: The presentment amount, in the minor currency unit.
    - `currency` string: The presentment currency, as a three-letter ISO currency code.
  - `payment_type` 'regular' | 'recurring' | 'moto' | 'installment' | 'pay_later' | 'unscheduled': The type of payment. You must provide this field for card payments in which the cardholder is not present. For example, if the transaction is a recurring payment, or a mail order/telephone order (MOTO) payment.
  - `reference` string: A reference you can use to identify the payment. For example, an order number.
  - `description` string: A description of the payment.
  - `payment_methods` object: The payment methods that are enabled on your account and available for use.
    - `auto_confirm` string: The payment method that automatically confirms the payment when it is ready.
    - `instrument` PaymentSetupInstrument: The instrument payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `id` string: The unique identifier of the selected instrument.
      - `type` string: The type of the instrument.
      - `action` object: The next available action for the payment method.
        - `type` 'set_instrument': The type of action.
    - `klarna` Klarna: The Klarna payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `action` object: The next available action for the payment method.
        - `type` 'sdk': The type of action.
        - `client_token` string: The client token for the Klarna SDK.
        - `session_id` string: The session ID.
      - `account_holder` KlarnaAccountHolder: The account holder details returned by Klarna after the shopper completes verification.
        - `name` string: The full name of the account holder.
      - `iban` string: The IBAN of the account used to complete Klarna verification.
    - `stcpay` StcPay: The stc pay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `otp` string: The one-time password (OTP) for stc pay.
      - `action` object: The next available action for the payment method.
        - `type` 'otp': The type of action.
    - `tabby` Tabby: The Tabby payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `payment_types` string[]: The available payment types for Tabby (For example, `installments`).
    - `bizum` Bizum: The Bizum payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `paynow` PayNow: The PayNow payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `qpay` Qpay: The QPay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `national_id` string: The Qatari national ID. Must start with 2 or 3, followed by 10 digits.
      - `description` string: A description of the payment order. Alphanumeric characters only.
    - `eps` Eps: The EPS payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `ideal` Ideal: The iDEAL payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `description` string: A description of the products or services being paid for. Do not include HTML tags or special characters, as these are rejected by iDEAL.
    - `knet` Knet: The KNET payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `language` 'en' | 'ar': The customer's preferred language, as an ISO 639-1 code. For example, the language selected on your site, if the issuer's site supports it. - `ar` - Arabic - `en` - English
    - `bancontact` Bancontact: The Bancontact payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_holder_name` string: The account holder's name.
    - `benefit` Benefit: The Benefit payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `blik` Blik: The Blik payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `partner_code` string: The 6-digit BLIK code generated by the customer's banking app.
    - `vipps` Vipps: The Vipps payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `twint` Twint: The Twint payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `alipay_cn` AlipayCn: The Alipay CN payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `alipay_hk` AlipayHK: The Alipay HK payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `gcash` GCash: The GCash payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `tng` Tng: The TNG payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `dana` Dana: The Dana payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `mobilepay` MobilePay: The MobilePay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `tamara` Tamara: The Tamara payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `risk_assessment` object: Risk signals about the customer, forwarded to Tamara with the payment.
        - `premium_customer` boolean: Specifies whether the customer is a premium customer.
        - `risk_score` integer: The customer's risk score.
        - `order_count_last24h` integer: The number of orders the customer has made in the last 24 hours.
        - `linked_device_count` integer: The number of devices linked to the customer.
    - `mbway` MBWay: The MBWay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `multibanco` Multibanco: The Multibanco payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_holder_name` string: The account holder's name.
    - `wechatpay` WeChatPay: The WeChatPay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `kakaopay` KakaoPay: The KakaoPay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `truemoney` TrueMoney: The TrueMoney payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `terminal_type` 'web' | 'wap' | 'app': The client-side terminal type. Indicates whether the customer is using a PC browser, mobile browser, or mobile application.
      - `os_type` 'android' | 'ios': The customer's operating system type. Required when `terminal_type` is not `web`.
    - `octopus` Octopus: The Octopus payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `p24` P24: The P24 (Przelewy24) payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_holder` object: The account holder's details.
        - `name` string: The account holder's name.
        - `email` string, email: The account holder's email address.
    - `alma` Alma: The Alma payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `swish` Swish: The Swish payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `billing_descriptor` string: A description that appears on the customer's billing statement.
      - `account_holder` object: The account holder's details.
        - `first_name` string: The account holder's first name.
        - `last_name` string: The account holder's last name.
    - `sequra` Sequra: The Sequra payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
    - `ach` Ach: The ACH payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_type` 'savings' | 'current' | 'cash': The type of Direct Debit account.
      - `account_holder` object: The account holder details.
        - `type` 'individual' | 'corporate' | 'government': The type of account holder.
        - `first_name` string: The first name of the account holder.
        - `last_name` string: The last name of the account holder.
        - `company_name` string: The legal name of a registered company that holds the account.
        - `date_of_birth` string: The account holder's date of birth.
        - `identification` object: The account holder's government document identification, for example a Social Security Number (SSN).
          - `type` string: The document type.
          - `issuing_country` string: The country where the document was issued.
          - `number` string: The document number.
      - `account_number` string: The account number of the Direct Debit account.
      - `bank_code` string: The bank code of the Direct Debit account.
      - `country` string: The two-letter ISO country code of the bank account.
    - `sepa` Sepa: The SEPA payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `account_holder` object: The account holder details.
        - `type` 'individual' | 'corporate': The type of account holder.
        - `first_name` string: The first name of the account holder.
        - `last_name` string: The last name of the account holder.
        - `company_name` string: The legal name of a registered company that holds the account.
      - `account_number` string: The account holder's IBAN.
      - `country` string: The account's country, as an ISO 3166-1 alpha-2 code.
      - `currency` string: The account holder's account currency.
      - `mandate` object: The mandate details.
        - `id` string: The ID of the mandate.
        - `type` 'core' | 'b2b': The type of mandate.
        - `date_of_signature` string, date: The date the mandate was signed.
    - `bacs` Bacs: The Bacs payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `instrument_id` string: The ID of the Bacs instrument used for the payment.
      - `account_holder` object: The account holder details.
        - `type` 'individual' | 'corporate': The type of account holder.
        - `first_name` string: The first name of the account holder.
        - `last_name` string: The last name of the account holder.
        - `company_name` string: The legal name of a registered company that holds the account.
        - `email` string: The email address of the account holder.
      - `account_number` string: The account number of the Bacs Direct Debit account.
      - `bank_code` string: The sort code of the Bacs Direct Debit account.
      - `country` string: The account's country, as an ISO 3166-1 alpha-2 code.
      - `currency` string: The account holder's account currency.
      - `allow_partial_match` boolean: Indicates whether the Bacs instrument is created when account validation returns a partial match. When `true`, the instrument is created on a partial match; when `false`, instrument creation fails on a partial match.
    - `paybybank` PayByBank: The Pay by Bank (Open Banking) payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `bank_id` string: The identifier of the bank the customer has selected for the payment.
      - `action` object: The next available action for the payment method.
        - `type` 'select_bank': The type of action.
        - `banks` object[]: The list of banks available for the customer to select.
          - `bank_id` string: The unique identifier of the bank.
          - `display_name` string: The display name of the bank.
          - `logo_url` string: The URL of the bank's logo.
          - `available` boolean: Whether the bank is currently available for selection.
    - `paypal` PayPal: The PayPal payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `user_action` 'pay_now' | 'continue': The user action for the PayPal widget. - `pay_now` - After the customer clicks the PayPal button, the customer is redirected to a page to enter payment details and immediately directed to finalize the payment. - `continue` - After the customer clicks the PayPal button, the customer is redirected to a page to enter payment details and then redirected back to the merchant's site to review and finalize the payment.
      - `brand_name` string: The brand name to display in the PayPal checkout experience.
      - `shipping_preference` 'no_shipping' | 'get_from_file' | 'set_provided_address': Where to obtain the shipping information. - `no_shipping` - Redacts the shipping address from the PayPal pages. - `get_from_file` - Obtains the shipping address from the customer's PayPal account. - `set_provided_address` - Uses the shipping address provided by the merchant.
      - `action` object: The next available action for the payment method.
        - `type` 'sdk': The type of action.
        - `order_id` string: The PayPal order ID to use with the PayPal SDK.
    - `cashapp` CashApp: The Cash App payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `initialization` 'disabled' | 'enabled': The initialization state of the payment method. When you create a Payment Setup, this defaults to `disabled`.
      - `customer_profile_sharing` boolean: Indicates whether the customer consents to share their Cash App customer profile with Checkout.com.
      - `customer_profile` object: The customer's Cash App profile that they consented to share. Included in the response when `customer_profile_sharing` is enabled. Cash App releases this profile only once. It's present in the first successful response when you get the Payment Setup after the customer authorizes the payment. Every subsequent response omits it.
        - `customer_id` string: Cash App's identifier for the customer. This is not a Checkout.com customer identifier.
        - `cashtag` string: The customer's `$Cashtag`.
        - `reference_id` string: Cash App's reference for the customer profile.
        - `full_name` string: The customer's full name.
        - `given_name` string: The customer's given name.
        - `middle_name` string: The customer's middle name.
        - `family_name` string: The customer's family name.
        - `suffix` string: The suffix of the customer's name.
        - `birth_date` string, date: The customer's date of birth.
        - `address` object: The customer's address.
          - `address_line_1` string: The first line of the address.
          - `address_line_2` string: The second line of the address.
          - `address_line_3` string: The third line of the address.
          - `locality` string: The address locality, such as the city or town.
          - `sublocality` string: The address sublocality, such as the district or neighborhood.
          - `administrative_district_level_1` string: The address's top-level administrative district, such as the state or province.
          - `postal_code` string: The postal or zip code.
          - `country` string: The address country, in ISO 3166-1 alpha-2 format.
        - `phone_number` string: The customer's phone number.
        - `email_address` string: The customer's email address.
        - `customer_since` string, date-time: The date and time the customer's Cash App account was created.
      - `reference` string: A reference for the Cash App Pay transaction, returned by the provider.
      - `action` object: The next available action for the payment method.
        - `type` 'redirect': The type of action.
        - `redirect_url` string, uri: The URL to redirect the customer to so they can authorize the payment with Cash App.
    - `googlepay` GooglePay: The Google Pay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `token_data` object
        - `protocol_version` string: The encryption and signing scheme used to create this message. If not set, the default is `ECv0`.
        - `signature` string: The signature that verifies the message came from Google, created using `ECDSA`.
        - `signed_message` string: A serialized JSON string containing the `encryptedMessage`, `ephemeralPublicKey`, and `tag`. To simplify the signature verification process, this value is serialized.
        - `tokenization_key` string: The public key provided to the Google API in the `tokenizationSpecification.parameters.gatewayMerchantId` field.
      - `token` object: The Checkout.com Google Pay token.
        - `id` string, required: The token identifier, prefixed by `tok_`.
        - `expires_on` string, date-time: The date and time the token expires, in ISO 8601 format.
      - `network_token` PaymentSetupNetworkToken: The third-party network token details. Only supported when the payment method is set as `payment_methods.auto_confirm`.
        - `number` string, required: The network token PAN.
        - `expiry_month` integer, required: The expiry month of the token.
        - `expiry_year` integer, required: The expiry year of the token.
        - `cryptogram` string: The Base64-encoded cryptographic identifier (TAVV) used by card schemes to validate the token verification result.
        - `eci` string: The Electronic Commerce Indicator (ECI) security level associated with the token.
      - `store_for_future_use` boolean: Set to `true` if you intend to reuse the payment credentials in subsequent payments. If set to `false`, a payment instrument will not be included in the payment response.
      - `phone` PaymentSetupPhone: The customer's phone number.
        - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
        - `number` string: The phone number.
      - `account_holder` PaymentSetupAccountHolder: Account holder details for the payment.
        - `type` 'individual' | 'government' | 'corporate': The card account holder type.
        - `first_name` string: The card account holder's first name.
        - `last_name` string: The card account holder's last name.
        - `middle_name` string: The card account holder's middle name.
        - `company_name` string: The card account holder's company name.
        - `account_name_inquiry` boolean: Indicates whether the ANI (account name inquiry) check is performed with the card scheme (Visa or Mastercard).
      - `schemes` string[]: The list of supported card scheme names.
      - `preferred_scheme` 'visa' | 'mastercard': The preferred card scheme to process the payment.
    - `applepay` ApplePay: The Apple Pay payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `token_data` object
        - `version` string: The version of the payment token. The token uses `EC_v1` for ECC-encrypted data, and `RSA_v1` for RSA-encrypted data.
        - `data` string: The encrypted payment data, Base64-encoded.
        - `signature` string: The signature of the payment and header data. The signature includes the signing certificate, its intermediate CA certificate, and information about the signing algorithm.
        - `header` object: Additional version-dependent information used to decrypt and verify the payment.
          - `ephemeral_public_key` string
          - `public_key_hash` string
          - `transaction_id` string
      - `token` object: The Checkout.com Apple Pay token.
        - `id` string, required: The token identifier, prefixed by `tok_`.
        - `expires_on` string, date-time: The date and time the token expires, in ISO 8601 format.
      - `network_token` PaymentSetupNetworkToken: The third-party network token details. Only supported when the payment method is set as `payment_methods.auto_confirm`.
        - `number` string, required: The network token PAN.
        - `expiry_month` integer, required: The expiry month of the token.
        - `expiry_year` integer, required: The expiry year of the token.
        - `cryptogram` string: The Base64-encoded cryptographic identifier (TAVV) used by card schemes to validate the token verification result.
        - `eci` string: The Electronic Commerce Indicator (ECI) security level associated with the token.
      - `store_for_future_use` boolean: Set to `true` if you intend to reuse the payment credentials in subsequent payments. If set to `false`, a payment instrument will not be included in the payment response.
      - `phone` PaymentSetupPhone: The customer's phone number.
        - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
        - `number` string: The phone number.
      - `account_holder` PaymentSetupAccountHolder: Account holder details for the payment.
        - `type` 'individual' | 'government' | 'corporate': The card account holder type.
        - `first_name` string: The card account holder's first name.
        - `last_name` string: The card account holder's last name.
        - `middle_name` string: The card account holder's middle name.
        - `company_name` string: The card account holder's company name.
        - `account_name_inquiry` boolean: Indicates whether the ANI (account name inquiry) check is performed with the card scheme (Visa or Mastercard).
      - `schemes` string[]: The list of supported card scheme names.
      - `preferred_scheme` 'visa' | 'mastercard' | 'cartes_bancaires': The preferred card scheme to process the payment.
    - `card` Card: The Card payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
      - `token` object
        - `id` string: The Checkout.com card token identifier.
      - `details` object
        - `number` string: The card number (without separators).
        - `last4` string: The last four digits of the card number.
        - `bin` string: The card issuer's Bank Identification Number (BIN).
        - `scheme` string: The card scheme.
        - `expiry_month` integer: The expiry month of the card.
        - `expiry_year` integer: The expiry year of the card.
        - `name` string: The cardholder's name.
        - `cvv` string: The card verification value/code. 3 digits, except for American Express (4 digits).
        - `stored` boolean: Indicates whether this card is being submitted from your own stored card-on-file system, rather than being entered by the customer at the time of payment. Set to `true` when you provide card details that you already have on file for the customer.
        - `expires_on` string, date-time: The time by which the card details must be confirmed.
        - `allow_update` boolean: Indicates whether to use the Real-Time Account Updater to update the card information.
      - `store_for_future_use` boolean: Set to `true` if you intend to reuse the payment credentials in subsequent payments. If set to `false`, a payment instrument will not be included in the payment response.
      - `phone` PaymentSetupPhone: The customer's phone number.
        - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
        - `number` string: The phone number.
      - `account_holder` PaymentSetupAccountHolder: Account holder details for the payment.
        - `type` 'individual' | 'government' | 'corporate': The card account holder type.
        - `first_name` string: The card account holder's first name.
        - `last_name` string: The card account holder's last name.
        - `middle_name` string: The card account holder's middle name.
        - `company_name` string: The card account holder's company name.
        - `account_name_inquiry` boolean: Indicates whether the ANI (account name inquiry) check is performed with the card scheme (Visa or Mastercard).
      - `schemes` string[]: The list of supported card scheme names.
      - `preferred_scheme` 'visa' | 'mastercard' | 'cartes_bancaires': The preferred card scheme to process the payment.
    - `stablecoin` Stablecoin: The Stablecoin payment method's details and configuration.
      - `status` 'unavailable' | 'action_required' | 'ready' | 'initialization_required' | 'invalid': The payment method status.
      - `flags` string[]: The list of error codes or indicators that highlight missing or invalid information.
  - `available_payment_methods` string[]: An ordered list of available payment method names. The order indicates the recommended presentation priority, with the first item being the highest priority.
  - `settings` object: Settings for the Payment Setup.
    - `success_url` string, uri: The URL to redirect the customer to, if the payment is successful. For payment methods with a redirect, this value overrides the default success redirect URL configured on your account.
    - `failure_url` string, uri: The URL to redirect the customer to, if the payment is unsuccessful. For payment methods with a redirect, this value overrides the default failure redirect URL configured on your account.
    - `capture` boolean: Indicates whether to capture the payment immediately.
    - `excluded_payment_methods` string[]: The list of payment methods excluded from the Payment Setup.
  - `risk` object: Risk assessment settings for the Payment Setup.
    - `enabled` boolean: Indicates whether a risk assessment should be performed.
  - `customer` object: The customer's details.
    - `country` string: The two-letter ISO country code of the customer for this payment.
    - `id` string: The unique identifier of the customer.
    - `email` object: Details of the customer's email.
      - `address` string: The customer's email address.
      - `verified` boolean: Specifies whether the customer's email address is verified.
    - `name` string: The customer's full name.
    - `tax_number` string: The customer's tax identification number.
    - `phone` PaymentSetupPhone: The customer's phone number.
      - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
      - `number` string: The phone number.
    - `device` object: Details of the customer's device.
      - `locale` string: The locale of the device.
      - `fingerprint` string: A unique identifier for the customer's device.
      - `ipv4` string: The customer's device IPv4 address, used by some payment methods for risk and eligibility checks.
      - `ipv6` string: The customer's device IPv6 address, used by some payment methods for risk and eligibility checks.
      - `client` 'web' | 'mobile_web' | 'app': The type of client the customer uses to initiate the payment.
      - `os` 'android' | 'ios': The operating system of the customer's device.
    - `merchant_account` PaymentSetupMerchantAccount: Details of the account the customer holds with the merchant.
      - `id` string: The merchant's unique identifier for the customer's account.
      - `registration_date` string, date: The date the customer registered their account with the merchant.
      - `last_modified` string, date: The date the customer's account with the merchant was last modified.
      - `returning_customer` boolean: Specifies if the customer is a returning customer.
      - `first_transaction_date` string, date: The date of the customer's first transaction.
      - `last_transaction_date` string, date: The date of the customer's most recent transaction.
      - `total_order_count` integer: The total number of orders made by the customer.
      - `last_payment_amount` number: The payment amount of the customer's most recent transaction.
  - `order` object: The customer's order details.
    - `items` OrderItem[]: A list of items in the order.
      - `name` string: The descriptive name of the line item.
      - `quantity` integer: The quantity of the line item.
      - `unit_price` number: The unit price of the line item, in <a href="https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value" target="_blank">minor currency units</a>.
      - `total_amount` number: The total cost of the line item, in <a href="https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value" target="_blank">minor currency units</a>. Include any tax and discounts applied, using the formula: `value = (quantity x unit_price) - discount_amount`.
      - `reference` string: The line item reference or product stock keeping unit (SKU).
      - `discount_amount` number: The discount applied to each invoice line item.
      - `url` string: Link to the line item's product page.
      - `image_url` string: Link to the item image to show in the order confirmation.
      - `type` string: The item type. For example, physical or digital.
      - `category` string: The category of the line item. For example, electronics or groceries.
    - `shipping` PaymentSetupShipping: The customer's shipping details.
      - `first_name` string: The customer's first name.
      - `last_name` string: The customer's last name.
      - `email` string: The customer's email address.
      - `phone` PaymentSetupPhone: The customer's phone number.
        - `country_code` string: The phone number's <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">international country calling code</a>.
        - `number` string: The phone number.
      - `address` PaymentSetupAddress: A physical address.
        - `address_line1` string: The first line of the address.
        - `address_line2` string: The second line of the address.
        - `city` string: The address city.
        - `state` string: The address state or county.
        - `zip` string: The postal or zip code.
        - `country` string: The address country, in ISO 3166-1 alpha-2 format.
      - `method` string: The shipping method the customer selected. For more information on which values you can specify, refer to the payment method's external API reference.
      - `delay` integer: The number of days between the order date and the expected delivery date.
    - `sub_merchants` PaymentSetupSubMerchant[]: The details of the sub-merchants.
      - `id` string: The unique identifier for the sub-merchant.
      - `product_category` string: The product category for the sub-merchant.
      - `number_of_sales` integer: The number of orders the sub-merchant has processed.
      - `registration_date` string, date: The date the sub-merchant was registered.
    - `invoice_id` string: The unique identifier for the invoice.
    - `shipping_amount` integer: The total shipping amount for the order.
    - `discount_amount` integer: The discount amount the merchant applied to the transaction.
    - `tax_amount` integer: The total tax amount for the order.
    - `tipping_amount` integer: The total tipping amount for the order.
    - `surcharge_amount` integer: The total surcharge amount for the order.
    - `amount_allocations` PaymentSetupAmountAllocation[]: The sub-entities that the payment is being processed on behalf of.
      - `id` string, required: The id of the sub-entity.
      - `amount` integer, required: The split amount - this will be credited to your sub-entity's currency account. The sum of all split amounts must be equal to the payment amount. The amount must be provided in the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>.
      - `reference` string: A reference you can later use to identify this split, such as an order number.
      - `commission` object: Commission you'd like to collect from this split - this will be credited to your currency account. The commission cannot exceed the split amount. Commission = (`amount` * `commission.percentage`) + `commission.amount`
        - `amount` integer: Optional fixed amount of commission to collect. The amount must be provided in the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>.
        - `percentage` number: Optional percentage of commission to collect. Supports up to 8 decimal places.
  - `billing` PaymentSetupBilling: The billing details for the payment.
    - `address` PaymentSetupAddress: A physical address.
      - `address_line1` string: The first line of the address.
      - `address_line2` string: The second line of the address.
      - `city` string: The address city.
      - `state` string: The address state or county.
      - `zip` string: The postal or zip code.
      - `country` string: The address country, in ISO 3166-1 alpha-2 format.
  - `industry` object: Industry-specific information.
    - `airline` PaymentSetupAirline[]
      - `ticket` object: Details about the airline ticket.
        - `number` string: The ticket's unique identifier.
        - `issue_date` string, date: The date the airline ticket was issued.
        - `issuing_carrier_code` string: The carrier code of the ticket issuer.
        - `travel_package_indicator` string: The travel package indicator, as one of the following codes: - `A` - Airline flight reservation - `B` - Car rental and airline reservation - `C` - Car rental reservation - `N` - Unknown
        - `travel_agency_name` string: The name of the travel agency.
        - `travel_agency_code` string: The IATA or ARC unique identifier for the travel agency that issues the ticket.
      - `passengers` object[]: The list of passengers on the flight.
        - `first_name` string: The passenger's first name.
        - `last_name` string: The passenger's last name.
        - `date_of_birth` string, date: The passenger's date of birth.
        - `address` object: Details about the passenger's address.
          - `country` string: The two-letter ISO country code of the passenger's country of residence.
      - `flight_leg_details` PaymentSetupFlightLegDetails[]: The list of flight legs booked by the customer.
        - `flight_number` string: The flight identifier.
        - `carrier_code` string: The IATA 2-letter accounting code (PAX) that identifies the carrier. Required if the airline data includes leg details.
        - `class_of_travelling` string: A one-letter identifier for the travel class. For example: - `F` - First class - `J` - Business class - `W` - Premium economy class - `Y` - Economy class
        - `departure_airport` string: The IATA three-letter airport code for the departure airport. Required if the airline data includes leg details.
        - `departure_date` string, date: The date of the scheduled take-off.
        - `departure_time` string: The time of the scheduled take-off.
        - `arrival_airport` string: The IATA three-letter airport code for the destination airport. Required if the airline data includes leg details.
        - `stop_over_code` string: A one-letter code that indicates whether the passenger is entitled to make a stopover. Specify `O` or a blank space if the passenger is entitled. Specify `X` if the passenger is not entitled.
        - `fare_basis_code` string: The alphanumeric fare basis code.
      - `total_number_of_passengers` integer: The total number of passengers on the booking.
      - `travel_type` string: The type of travel. For example, `domestic` or `international`.
      - `trip_type` string: The type of trip. For example, `one_way` or `round_trip`.
      - `refundable` boolean: Specifies whether the booking is refundable.
      - `delivery_recipient` string: The recipient the ticket is delivered to.
      - `ancillaries` string: Any additional add-ons purchased with the booking. For example, `extra_baggage`.
      - `insurance` object: Details about the travel insurance purchased with the booking.
        - `type` string: The type of insurance.
        - `company` string: The name of the insurance company.
        - `price` object: The price of the insurance.
          - `amount` number: The insurance amount, in the minor currency unit.
          - `currency` string: The currency of the insurance amount, as a three-letter ISO currency code.
    - `accommodation` PaymentSetupAccommodation[]
      - `name` string: For lodging, contains the lodging name that appears on the storefront/customer receipts. For cruise, contains the ship name booked for the cruise.
      - `booking_reference` string: A unique identifier for the booking.
      - `check_in_date` string, date: For lodging bookings, the customer's check-in date. For cruise bookings, the cruise departure date. Also referred to as the sail date.
      - `check_out_date` string, date: For lodging bookings, the customer's check-out date. For cruise bookings, the cruise return date.
      - `address` object: The accommodation's address.
        - `address_line1` string: The first line of the address.
        - `city` string: The address city.
        - `state` string: The address state or county.
        - `country` string: The address country, in ISO 3166-1 alpha-2 format.
        - `zip` string: The zip code or postal code.
      - `number_of_rooms` integer: The total number of rooms booked for the accommodation.
      - `guests` object[]: The list of guests staying at the accommodation.
        - `first_name` string: The guest's first name.
        - `last_name` string: The guest's last name.
        - `date_of_birth` string, date: The guest's date of birth.
      - `room` object[]: The list of rooms booked by the customer.
        - `rate` number: The rate or cost of the room per day.
        - `number_of_nights` integer: The number of nights the room is booked for.
        - `type` string: The room class or type booked. For example, `deluxe`.
      - `total_number_of_guests` integer: The total number of guests on the booking.
      - `refundable` boolean: Specifies whether the booking is refundable.
      - `delivery_recipient` string: The recipient the booking confirmation is delivered to.
      - `host` object: Details about the host of the accommodation.
        - `registration_date` string, date: The date the host registered.
        - `total_reservation_count` integer: The total number of reservations the host has received.
  - `account_funding_transaction` PaymentSetupAccountFundingTransaction: Account funding transaction details for the payment.
    - `enabled` boolean: Whether to process this payment as an account funding transaction.
    - `purpose` 'donations' | 'education' | 'emergency_need' | 'expatriation' | 'family_support' | 'financial_services' | 'gifts' | 'income' | 'insurance' | 'investment' | 'it_services' | 'leisure' | 'loan_payment' | 'medical_treatment' | 'other' | 'pension' | 'royalties' | 'savings' | 'travel_and_tourism': Specifies the purpose of the account funding transaction.
    - `sender` object: Account funding transaction sender details.
      - `date_of_birth` string, date: Date of birth of the sender (yyyy-mm-dd).
      - `reference` string: The unique reference for the sender of the payment.
      - `identification` object: Sender identification details.
        - `type` 'passport' | 'driving_license' | 'national_id': The type of identification used to identify the sender.
        - `number` string: The identification number.
        - `issuing_country` string: The two-letter ISO country code of the country that issued the identification
    - `recipient` object: Account funding transaction recipient details.
      - `date_of_birth` string, date: Date of birth of the recipient (yyyy-mm-dd).
      - `account_number` string: Any identifier like part of the PAN (first six digits and last four digits), an IBAN, an internal account number, or a phone number related to the primary recipient's account
      - `first_name` string: The recipient's first name.
      - `last_name` string: The recipient's last name.
      - `address` PaymentSetupAddress: A physical address.
        - `address_line1` string: The first line of the address.
        - `address_line2` string: The second line of the address.
        - `city` string: The address city.
        - `state` string: The address state or county.
        - `zip` string: The postal or zip code.
        - `country` string: The address country, in ISO 3166-1 alpha-2 format.
  - `terminal` PaymentSetupTerminal: Terminal details.
    - `id` string: Terminal identifier.
    - `local_date_time` string, date-time: The local date and time on the terminal, in ISO 8601 format.
  - `billing_descriptor` PaymentSetupBillingDescriptor: The billing descriptor for payment.
    - `name` string: A dynamic description of the payment.
    - `city` string: The city from which the payment was made.
    - `reference` string: The reference shown on the statement.
  - `metadata` object: A set of key/value pairs you can attach to a payment. It can be useful for storing additional information about the payment.
  - `latest_payment` PaymentDetails: Payment response
    - `id` string, required: The payment identifier.
    - `requested_on` string, date-time, required: Read-only UTC timestamp, automatically assigned by us
    - `source` union: The source of the payment
      - object: A card payment source
        - `type` 'card', required: The payment source type.
        - `id` string: The payment source identifier that can be used for subsequent payments. For new sources, this will only be returned if the payment was approved
        - `billing_address` Address
          - `address_line1` string: The first line of the address.
          - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
          - `city` string: The address city.
          - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
          - `zip` string: The address zip or postal code.
          - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
        - `phone` PhoneNumber: A phone number
          - `country_code` string: The international <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">country calling code</a>. Required if `source.type` is `tamara`.
          - `number` string: The phone number. Required if `source.type` is `tamara`.
        - `expiry_month` integer, required: The expiry month
        - `expiry_year` integer, required: The expiry year
        - `name` string: The cardholder's name
        - `scheme` string: The card scheme
        - `scheme_local` string: Replaced by `local_schemes` The local co-branded card scheme.
        - `local_schemes` string[]: The local co-branded card schemes.
        - `last4` string, required: The last four digits of the card number
        - `fingerprint` string, required: Uniquely identifies this particular card number. You can use this to compare cards across customers.
        - `bin` string, required: The card issuer's Bank Identification Number (BIN)
        - `card_type` 'CREDIT' | 'DEBIT' | 'PREPAID' | 'CHARGE' | 'DEFERRED DEBIT': The card type
        - `card_category` 'CONSUMER' | 'COMMERCIAL': The card category
        - `card_wallet_type` 'applepay' | 'googlepay': The card wallet type
        - `issuer` string: The name of the card issuer
        - `issuer_country` string: The card issuer's country (<a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">two-letter ISO code</a>)
        - `product_id` string: The issuer/card scheme product identifier
        - `product_type` string: The issuer/card scheme product type
        - `avs_check` string: The Address Verification System check result
        - `cvv_check` string: The card verification value (CVV) check result
        - `payment_account_reference` string: A unique reference to the underlying card for network tokens (e.g., Apple Pay, Google Pay)
        - `encrypted_card_number` string: The JWE encrypted full card number that has been updated by <a href="https://www.checkout.com/docs/payments/manage-payments/real-time-account-updater" target="_blank">real-time account updater</a>.
        - `account_update_status` 'card_updated' | 'card_expiry_updated' | 'card_closed' | 'contact_cardholder': Specifies what card information was updated by the <a href="https://www.checkout.com/docs/payments/manage-payments/real-time-account-updater#Retrieve_card_updates" target="_blank">Real-Time Account Updater</a>.
        - `account_update_failure_code` string: Provides the <a href="https://www.checkout.com/docs/developer-resources/codes/real-time-account-updater-response-codes" target="_blank">failure code</a> if the <a href="https://checkout.com/docs/payments/store-and-manage-credentials/update-stored-credentials/real-time-account-updater" target="_blank">Real-Time Account Updater</a> fails to update the card information.
        - `account_holder` object: Information about the account holder of the card
      - object: ACH Direct Debit Source
        - `type` 'ach', required: The payment source type
        - `id` string, required: The instrument ID
        - `account_holder` PaymentResponseAchAccountHolder: The account holder details, including the Account Name Inquiry outcome
          - `account_name_inquiry` 'full_match' | 'partial_match' | 'no_match' | 'not_performed': The outcome of the Account Name Inquiry (ANI) check
          - `account_name_inquiry_details` object: Details of the Account Name Inquiry check
            - `description` string: The description of the Account Name Inquiry outcome
      - object: Alma Source
        - `type` 'alma', required: The payment source type
      - object: Bancontact Source
        - `type` 'bancontact', required: The payment source type
        - `iban` string: The IBAN of the Consumer Bank account used for payment (if applicable).
        - `bic` string: The Bank Code of the Consumer Bank account used for payment (if applicable). Example: BIC, Sort Code.
      - object: Blik Source
        - `type` 'blik', required: The payment source type.
        - `id` string: The Checkout.com source identifier for the partner agreement created during a Blik recurring payment. Use this value as `source.id` (with `source.type: id`) to process subsequent merchant-initiated payments against the same agreement.
      - object: Currency Account Source
        - `type` 'currency_account', required: The payment source type
        - `id` string, required: The ID of the currency account
        - `amount` integer: If specified, indicates the amount in the source currency to be paid out. If omitted, the root amount in the destination currency will be used.<br>The amount must be provided in the minor currency unit.
      - object: EPS Source
        - `type` 'eps', required: The payment source type
        - `purpose` string: Purpose of the payment as appearing on customer's bank statement.
        - `bic` string: Bank Identifier Code (BIC). It can be exactly 8 characters or 11 characters long.
        - `iban` string: International Bank Account Number (IBAN) without whitespaces.
        - `account_holder_name` string: Account holder information.
        - `account_holder` AccountHolderEps: The account holder details
          - `first_name` string, required: The first name of the account holder
          - `last_name` string, required: The last name of the account holder
      - object: Ideal Source
        - `type` 'ideal', required: The payment source type
        - `account_holder` string: The account holder information
        - `account_holder_name` string: The account holder's name
        - `bic` string: Bank Identifier Code (BIC). It can be exactly 8 characters or 11 characters long
        - `description` string: Description of the product(s) or services being paid for
        - `iban` string: The IBAN of the Consumer Bank account used for payment (if applicable).
      - object: Klarna Source
        - `type` 'klarna', required: The payment source type.
        - `account_holder` object: The account holder's details.
          - `first_name` string: The account holder's first name.
          - `last_name` string: The account holder's last name.
          - `billing_address` object: The account holder's billing address.
            - `address_line1` string: The first line of the billing address.
            - `address_line2` string: The second line of the billing address.
            - `city` string, required: The billing address city.
            - `zip` string, required: The billing address ZIP or postal code.
            - `country` string, required: The two-letter <a href="https://www.checkout.com/docs/previous/resources/codes/country-codes" target="blank">ISO country code</a> of the billing address.
          - `email` string: The account holder's email address.
          - `date_of_birth` string: The account holder's date of birth.
          - `account_holder_name` string: The account holder's full name.
          - `iban` string: The account's international bank account number (IBAN). The IBAN is a standardized international format for identifying bank accounts across countries.
          - `account_number` string: The account holder's account number.
          - `bank_code` string: A unique code that identifies the bank the account is held with.
          - `bank_name` string: The name of the bank the account is held with.
          - `bic` string: The account's bank identifier code (BIC). A BIC is a standardized international code used by banks to identify themselves in financial transactions. Also referred to as a SWIFT code.
          - `gender` string: The account holder's gender.
          - `phone` object: The account holder's phone number.
            - `country_code` string: The international <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">country calling code</a>.
            - `number` string: The phone number.
      - object: KNet Source
        - `type` 'knet', required: The payment source type
        - `language` 'ar' | 'en': Required for KNet Gateway payments. This field enables the issuer's site to select the consumer's preferred language. For example, the language selected on the merchant's site – if the issuer's site supports it. Code list in accordance with ISO 639-1. (Arabic = 'ar', English = 'en'). Note that 'ar' corresponds to 'ARA' and 'en' to 'USA'. Both values accepted by KNet Gateway.
        - `user_defined_field1` string: User-defined field that can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed.
        - `user_defined_field2` string: User-defined field can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed.
        - `user_defined_field3` string: User-defined field can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed. Note that this field must be omitted when the `card_token` field is not empty. This restriction exists because a card token is passed to KNet Gateway as `user_defined_field3`.
        - `user_defined_field4` string: User-defined field can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed.
        - `user_defined_field5` string: User-defined field can be used to pass and store any additional transaction data required to be archived with the transaction and available as a searching criterion. Only alphanumeric characters and spaces are allowed. Note that this field must be omitted when the `ptlf` field is not empty. This restriction exists because a PTLF value is passed to KNet Gateway as `user_defined_field5`.
        - `card_token` string: This token allows re-usage of card details for multiple payments. This 8-digit token should be generated by a merchant. When a subsequent payment is initialized with the same card token, a customer is presented with two options. The customer can choose to pay with KFast (doesn't need to enter card details again), or with KNet as usual. The payment flow stays the same i.e. a merchant should redirect a customer to the redirect URL which is provided in the payment creation response. Note that `user_defined_field3` must be omitted when the `card_token` field is not empty. This restriction exists because a card token is passed to KNet Gateway as `user_defined_field3`.
        - `ptlf` string: This is an ID for merchant PTLF functionality tracking. Only alphanumeric characters are allowed. Note that `user_defined_field5` must be omitted when the `ptlf` field is not empty. This restriction exists because a PTLF value is passed to KNet Gateway as `user_defined_field5`.
        - `knet_payment_id` string: The payment identifier assigned by KNet Gateway.
        - `knet_result` string: The state of the payment, returned by KNet Gateway after the customer is redirected from the payment page.
        - `inquiry_result` string: The state of the payment, returned by KNet Gateway in the response from the payment inquiry. This field is populated in rare cases when the redirection from the payment page did not occur properly.
        - `bank_reference` string: The result transaction reference, given by some banks/institutions.
        - `knet_transaction_id` string: The transaction identifier assigned by KNet Gateway.
        - `auth_code` string: The resulting authorization code from the issuing bank.
        - `auth_response_code` string: The auth response code / reason code relating to the issuing bank authorization code.
        - `post_date` string: The transaction date in the authorization system format, with the value defined by the issuing bank, so may not match the actual transaction date. The format is `MMDD`.
        - `avr` string: The Address Verification Response returned from the address verification service.
        - `error` string: The KNET error code for transaction processing.
        - `error_text` string: The KNET text detail for the error, including an error code.
      - object: Multibanco Source
        - `type` 'multibanco', required: The payment source type
        - `payment_reference` string: Multibanco payment reference
        - `service_supplier_id` string: The identifier of a supplier charging for its service or product
      - object: P24 Source
        - `type` 'p24', required: The payment source type
        - `p24_descriptor` string: P24-generated payment descriptor, which contains the requested billing descriptor or the merchant's default descriptor (subject to truncation).
      - object: PayPal Source
        - `type` 'paypal', required: The payment source type
        - `account_holder` object: The account holder details
          - `email` string, email: The account holder email address.
          - `full_name` string: The full name of the account holder
      - object: QPay Source
        - `type` 'qpay', required: The payment source type
        - `description` string, required: Alphanumeric string containing a description of the payment order.
        - `qpay_status` string: The status code returned from the QPay gateway on payment, if available.
        - `status_message` string: A message giving further detail on the payment status, for failure/cancelled/success status payments.
        - `confirmation_id` string: An identifier from the QPay gateway for a successful payment.
        - `pun` string, required: QPay Payment Unique Number
      - object: SEPA DD Source
        - `type` 'sepa', required: The payment source type
        - `id` string, required: The instrument ID
      - object: Bacs Direct Debit Source
        - `type` 'bacs', required: The payment source type
        - `id` string, required: The instrument ID
      - object: Swish Source
        - `type` 'swish', required: The payment source type
      - object: Sequra Source
        - `type` 'sequra', required: The payment source type
      - object: Tamara Source
        - `type` 'tamara', required: The payment source type
    - `destination` PaymentResponseDestination: A bank account payment destination
      - `type` 'bank_account', required: The payment destination type.
      - `id` string, required: The payment instrument identifier
    - `amount` integer, required: The original payment amount
    - `amount_requested` integer: The full amount from the original authorization, if a partial authorization was requested.
    - `currency` string, required: The three-letter <a href="https://www.checkout.com/docs/resources/codes/currency-codes" target="_blank">ISO currency code</a> of the payment
    - `payment_type` 'Regular' | 'Recurring' | 'MOTO' | 'Installment' | 'PayLater' | 'Unscheduled': This must be specified for card payments where the cardholder is not present (For example, recurring or mail order / telephone order)
    - `payment_plan` union: The details of a recurring subscription or installment
      - object: The information to process a recurring payment request. To be used when the `payment_type` is `recurring`.
        - `amount_variability` 'Fixed' | 'Variable': Specifies whether the amount is fixed or variable for each recurrence.
        - `days_between_payments` integer: Indicates the minimum number of days between payments
        - `total_number_of_payments` integer: Indicates the agreed total number of payments
        - `current_payment_number` integer: The number of the current installment payment
        - `expiry` string: The date after which no further payments will be performed in the format YYYYMMDD
        - `name` string: The name of the payment plan. Required when `source.type` is `blik`. For Blik merchant-initiated requests using an external `partner_agreement_id`, this value is used as the Blik Alias Label.
        - `start_date` string: The date on which the first payment will be taken, in `YYYYMMDD` format. Required when `source.type` is `blik` and the recurring agreement is created without an initial payment (`amount` set to `0`).
        - `amount` integer: The amount to charge for each payment in the plan, in the [minor currency unit](https://www.checkout.com/docs/resources/calculating-the-amount). Required when `source.type` is `blik`, `payment_plan.amount_variability` is `Fixed`, and the recurring agreement is created without an initial payment (`amount` set to `0`).
      - object: The information to process a installment payment request. To be used when the `payment_type` is `installment`.
        - `financing` boolean: If the installment plan has financing.
        - `days_between_payments` integer: Indicates the minimum number of days between payments
        - `total_number_of_payments` integer: Indicates the agreed total number of payments
        - `current_payment_number` integer: The number of the current installment payment
        - `expiry` string: The date after which no further payments will be performed in the format YYYYMMDD
        - `name` string: The name of the payment plan. Required when `source.type` is `blik`. For Blik merchant-initiated requests using an external `partner_agreement_id`, this value is used as the Blik Alias Label.
        - `start_date` string: The date on which the first payment will be taken, in `YYYYMMDD` format. Required when `source.type` is `blik` and the recurring agreement is created without an initial payment (`amount` set to `0`).
        - `amount` integer: The amount to charge for each payment in the plan, in the [minor currency unit](https://www.checkout.com/docs/resources/calculating-the-amount). Required when `source.type` is `blik`, `payment_plan.amount_variability` is `Fixed`, and the recurring agreement is created without an initial payment (`amount` set to `0`).
    - `reference` string: Your reference for the payment
    - `description` string: A description of the payment
    - `approved` boolean, required: Whether the payment was successful
    - `expires_on` string: The timestamp (ISO 8601 code) for when the authorization's validity period expires
    - `status` 'Pending' | 'Authorized' | 'Card Verified' | 'Voided' | 'Partially Captured' | 'Captured' | 'Partially Refunded' | 'Refunded' | 'Declined' | 'Canceled' | 'Expired' | 'Paid' | 'Retry Scheduled', required: The status of the payment
    - `balances` PaymentResponseBalances: The balances of the payment
      - `total_authorized` integer: The total amount that has been authorized
      - `total_voided` integer: The total amount that has been voided
      - `available_to_void` integer: The total amount that is still available for voiding
      - `total_captured` integer: The total amount that has been captured
      - `available_to_capture` integer: The total amount that is still available for capture
      - `total_refunded` integer: The total amount that has been refunded
      - `available_to_refund` integer: The total amount that is still available for refund
    - `3ds` 3dsData
      - `downgraded` boolean: Indicates whether this was a 3D Secure payment downgraded to non-3D Secure (when `attempt_n3d` is specified)
      - `enrolled` string: Indicates the 3D Secure enrollment status of the issuer * `Y` - Issuer enrolled * `N` - Customer not enrolled * `U` - Unknown
      - `signature_valid` string: Verification to ensure the integrity of the response
      - `authentication_response` 'Y' | 'N' | 'U' | 'A' | 'C' | 'D' | 'R' | 'I': Only available as a result of a 3DS2 authentication. The response from the DS or ACS which indicates whether a transaction qualifies as an authenticated transaction or account verification. <br/> Only available if communication with the scheme was successful and the Session is in a final state. <br/><br/> • Y = Authentication Verification Successful. <br/> • N = Not Authenticated /Account Not Verified; Transaction denied. <br/> • U = Authentication/ Account Verification Could Not Be Performed; Technical or other problem, as indicated in ARes or RReq. <br/> • A = Attempts Processing Performed; Not Authenticated/Verified, but a proof of attempted authentication/verification is provided. <br/> • C = Challenge Required; Additional authentication is required using the CReq/CRes. <br/> • D = Challenge Required; Decoupled Authentication confirmed. <br/> • R = Authentication/ Account Verification Rejected; Issuer is rejecting authentication/verification and request that authorization not be attempted. <br/> • I = Informational Only; 3DS Requestor challenge preference acknowledged.
      - `authentication_status_reason` string: The response from the Directory Server (DS) or Access Control Server (ACS), which provides information on why you received the given `authentication_response` value. This field is only returned as a result of a 3DS2 authentication, and only if the returned `authentication_response` value was not `Y`. Refer to our <a href="https://www.checkout.com/docs/risk-management/3d-secure/sessions/understand-authentication-failures#Common_authentication_failures" target="_blank">authentication failures</a> documentation for more information.
      - `cryptogram` string: Base64 encoded cryptographic identifier (CAVV) used by the card schemes to validate the integrity of the 3D secure payment data
      - `xid` string: Unique identifier for the transaction assigned by the MPI
      - `eci` string: The <a href="https://www.checkout.com/docs/developer-resources/codes/eci-values">Electronic Commerce Indicator (ECI)</a> security level returned in the payment's authentication response.
      - `version` string: Indicates the version of 3D Secure that was used for authentication
      - `exemption` '3ds_outage' | 'data_share' | 'low_risk_program' | 'low_value' | 'none' | 'other' | 'out_of_sca_scope' | 'sca_delegation' | 'secure_corporate_payment' | 'transaction_risk_assessment' | 'trusted_listing' | 'trusted_listing_prompt': Specifies an exemption reason so that the payment is not processed using 3D Secure authentication. Learn more about exemptions in our <a href="https://www.checkout.com/docs/payments/regulation-support/sca-compliance-guide#Possible_SCA_exemptions" target="_blank">SCA compliance guide</a>
      - `exemption_applied` string: Specifies the applied exemption during 3DS authentication
      - `challenged` boolean: Indicates whether this session involved a challenge. This will only be set after communication with the scheme is finished.
      - `upgrade_reason` string: Indicates the reason why the payment was upgraded to 3D Secure.
      - `trusted_listing` TrustedListing: The details of the trusted listing status of the merchant
        - `status` 'Y' | 'N' | 'E' | 'P' | 'R' | 'U': Enables the communication of trusted beneficiary status between the Access Control Server (ACS), the Directory Server (DS), and the 3D Secure (3DS) Requestor.<br/><br/> • Y = 3DS Requestor is allowlisted by cardholder<br/> • N = 3DS Requestor is not allowlisted by cardholder<br/> • E = Not eligible as determined by issuer<br/> • P = Pending confirmation by cardholder<br/> • R = Cardholder rejected<br/> • U = Allowlist status unknown, unavailable, or does not apply
        - `source` string: The system setting trusted beneficiary status<br/><br/> • 01 = 3DS Server <br/> • 02 = DS <br/> • 03 = ACS <br/> • 80-99 = DS-specific values <br/>
    - `authentication` PaymentAuthenticationData
      - `experience` 'google_spa' | '3ds': The authentication experience that was used to authenticate the payment.
    - `risk` object: Returns the payments risk assessment results
      - `flagged` boolean: Whether the payment was flagged by a risk check
      - `score` number: The risk score calculated by our Fraud Detection engine. Absent if not enough data provided.
    - `customer` object: The customer to which this payment is linked
      - `id` string, required: The unique identifier of the customer. This can be passed as a source when making a payment
      - `email` string: The customer's email address
      - `name` string: The customer's name
      - `summary` CustomerSummary: Summary of the customer's transaction history. <br> Used for risk assessment when `source.type` is `Tamara`
        - `registration_date` string, date: The date the customer registered.
        - `first_transaction_date` string, date: The date of the customer's first transaction.
        - `last_payment_date` string, date: The date of the customer's last payment.
        - `total_order_count` integer: The total number of orders made by the customer.
        - `last_payment_amount` number, float: The amount of the customer's last payment.
        - `is_premium_customer` boolean: Specifies whether the customer is a premium customer.
        - `is_returning_customer` boolean: Specifies whether the customer is a returning customer.
        - `lifetime_value` number, float: The customer's lifetime value. This is the total monetary amount that the customer has ordered, in their local currency, excluding the following: - canceled orders - rejected payments - refunded payments - Tamara payments The lifetime value is an indicator of how valuable the relationship with the customer is to your company.
    - `billing_descriptor` BillingDescriptor: An optional description that is displayed on the customer's statement identifying a purchase.
      - `name` string, required: A dynamic description of the payment. Applies to card payments only.
      - `city` string, required: The city from which the payment originated. Applies to card payments only.
      - `reference` string: The reference that should be shown on the statement. Required for payouts to bank accounts.
      - `local_descriptors` LocalBillingDescriptor[], nullable
        - `name` string, required: A dynamic description of the card payment. Other payment methods will not display this description. The character set specified will determine the maximum length of the field. For `katakana`, the maximum length is 23 characters, equivalent to 23 katakana characters. For `kanji`, the maximum length is 40 characters, equivalent to 20 kanji characters.
        - `character_set` 'kanji' | 'katakana', required: The character set of the descriptor
    - `shipping` object: The payment shipping details
      - `address` Address
        - `address_line1` string: The first line of the address.
        - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
        - `city` string: The address city.
        - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
        - `zip` string: The address zip or postal code.
        - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
      - `phone` PhoneNumber: A phone number
        - `country_code` string: The international <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">country calling code</a>. Required if `source.type` is `tamara`.
        - `number` string: The phone number. Required if `source.type` is `tamara`.
    - `payment_ip` string, ipv4
    - `sender` union: Information about the sender of the payment's funds
      - object: Store a previously tokenized instrument
        - `type` 'individual' | 'corporate' | 'instrument', required: The type of sender
        - `reference` string: The sender's reference for the payout
        - `first_name` string, required: The sender's first name
        - `last_name` string, required: The sender's last name
        - `address` Address, required
          - `address_line1` string: The first line of the address.
          - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
          - `city` string: The address city.
          - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
          - `zip` string: The address zip or postal code.
          - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
      - object: Store a previously tokenized instrument
        - `type` 'individual' | 'corporate' | 'instrument', required: The type of sender
        - `reference` string: The sender's reference for the payout
        - `company_name` string, required: The sender's company name
        - `address` Address
          - `address_line1` string: The first line of the address.
          - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
          - `city` string: The address city.
          - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
          - `zip` string: The address zip or postal code.
          - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
      - object: Store a previously tokenized instrument
        - `type` 'individual' | 'corporate' | 'instrument', required: The type of sender
        - `reference` string: The sender's reference for the payout
    - `amount_allocations` object[]: The sub-entities that the payment is being processed on behalf of
      - `id` string, required: The id of the sub-entity.
      - `amount` integer, required: The split amount - this will be credited to your sub-entity's currency account. The sum of all split amounts must be equal to the payment amount. The amount must be provided in the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>.
      - `reference` string: A reference you can later use to identify this split, such as an order number.
      - `commission` object: Commission you'd like to collect from this split - this will be credited to your currency account. The commission cannot exceed the split amount. Commission = (`amount` * `commission.percentage`) + `commission.amount`
        - `amount` integer: Optional fixed amount of commission to collect. The amount must be provided in the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>.
        - `percentage` number: Optional percentage of commission to collect. Supports up to 8 decimal places.
    - `recipient` PaymentRecipient: Information about the recipient of the payment's funds. Relevant for [Account Funding Transactions](https://www.checkout.com/docs/payments/manage-payments/account-funding-transactions) and VISA or Mastercard [domestic UK transactions processed by financial institutions](https://www.checkout.com/docs/payments/regulation-support/requirements-for-financial-institutions).
      - `dob` string, date: The recipient's date of birth (yyyy-mm-dd)
      - `account_number` string: Any identifier like part of the PAN (first six digits and last four digits), an IBAN, an internal account number, or a phone number related to the primary recipient's account
      - `address` Address
        - `address_line1` string: The first line of the address.
        - `address_line2` string: The second line of the address. <p/> For SEPA payments, this value has a maximum length of 10 characters.
        - `city` string: The address city.
        - `state` string: The state or province of the address country <a href="https://en.wikipedia.org/wiki/ISO_3166-2" target="_blank">ISO 3166-2 code</a> (for example: CA for California in the United States).
        - `zip` string: The address zip or postal code.
        - `country` string: The two-letter <a href="https://www.checkout.com/docs/resources/codes/country-codes" target="_blank">ISO country code</a> of the address.
      - `zip` string: Replaced by `address.zip` The first part of the UK postcode (e.g., SW1A 1AA would be SW1A).
      - `first_name` string: The recipient's first name
      - `last_name` string: The recipient's last name
    - `processing` ProcessingData: Returns information related to the processing of the payment
      - `preferred_scheme` 'mastercard' | 'visa' | 'cartes_bancaires' | 'accel' | 'discover' | 'eftpos' | 'maestro' | 'nyce' | 'pulse' | 'star': The preferred scheme for co-badged and PINless debit card payment processing. If performing 3DS via a third party, set this value to the scheme that processed 3DS.
      - `app_id` string: The customer's application identifier.
      - `airline_data` object[]: Contains information about the airline ticket and flights booked by the customer.
        - `ticket` object: Contains information about the airline ticket.
          - `number` string: The ticket's unique identifier.
          - `issue_date` string, date: Date the airline ticket was issued.
          - `issuing_carrier_code` string: Carrier code of the ticket issuer.
          - `travel_package_indicator` string: C = Car rental reservation, A = Airline flight reservation, B = Both car rental and airline flight reservations included, N = Unknown.
          - `travel_agency_name` string: The name of the travel agency.
          - `travel_agency_code` string: The unique identifier from IATA or ARC for the travel agency that issues the ticket.
        - `passenger` object[]: Contains information about the passenger(s) on the flight.
          - `first_name` string: The passenger's first name.
          - `last_name` string: The passenger's last name.
          - `date_of_birth` string, date: The passenger's date of birth.
          - `address` object: Contains information about the passenger's address.
            - `country` string: The two-letter ISO country code of the passenger's country residence.
        - `flight_leg_details` object[]: Contains information about the flight leg(s) booked by the customer.
          - `flight_number` string: The flight identifier.
          - `carrier_code` string: The IATA 2-letter accounting code (PAX) that identifies the carrier. This field is required if the airline data includes leg details.
          - `class_of_travelling` string: A one-letter travel class identifier. The following are common: F = First class, J = Business class, Y = Economy class, W = Premium economy.
          - `departure_airport` string: The IATA three-letter airport code of the departure airport. This field is required if the airline data includes leg details.
          - `departure_date` string, date: The date of the scheduled take off.
          - `departure_time` string: The time of the scheduled take off.
          - `arrival_airport` string: The IATA 3-letter airport code of the destination airport. This field is required if the airline data includes leg details.
          - `stop_over_code` string: A one-letter code that indicates whether the passenger is entitled to make a stopover. Can be a space, O if the passenger is entitled to make a stopover, or X if they are not.
          - `fare_basis_code` string: The fare basis code, alphanumeric.
      - `accommodation_data` object[]: Contains information about the accommodation booked by the customer.
        - `name` string: For lodging, contains the lodging name that appears on the storefront/customer receipts. For cruise, contains the ship name booked for the cruise.
        - `booking_reference` string: A unique identifier for the booking.
        - `check_in_date` string, date: For lodging, contains the actual or scheduled date the guest checked-in. For cruise, contains the cruise departure date also known as sail date.
        - `check_out_date` string, date: For lodging, contains the actual or scheduled date the guest checked-out. For cruise, contains the cruise return date also known as sail end date.
        - `address` object: The address details of the accommodation.
          - `address_line1` string: The first line of the address.
          - `zip` string: The postal code for the address.
        - `state` string: The state or province of the address country (ISO 3166-2 code of up to two alphanumeric characters).
        - `country` string: The ISO country code of the address.
        - `city` string: The address city.
        - `number_of_rooms` integer: The total number of rooms booked for the accommodation.
        - `guests` object[]: Contains information about the guests staying at the accommodation.
          - `first_name` string: The first name of the guest.
          - `last_name` string: The last name of the guest.
          - `date_of_birth` string, date: The date of birth of the guest.
        - `room` object[]: Contains information about the rooms booked by the customer.
          - `rate` string: For lodging, contains the nightly rate for one room. For cruise, contains the total cost of the cruise.
          - `number_of_nights_at_room_rate` string: For lodging, contains the number of nights charged at the rate provided in the rate field. For cruise, contains the length of the cruise in days.
        - `property_phone` object[]: The property's phone information.
          - `country_code` string: The property's phone country code.
          - `number` string: The property's phone number.
        - `customer_service_phone` object[]: The customer service phone information.
          - `country_code` string: The customer service phone country code.
          - `number` string: The customer service phone number.
      - `partner_customer_id` string: The customer's ID on the partner platform.
      - `partner_payment_id` string: The partner-originated unique payment identifier
      - `partner_code` string: The 6-digit partner code returned by the payment provider. Returned when `source.type` is `blik`.
      - `failure_code` string: A high-level failure category returned by the payment provider when a payment is declined or fails. Not all payment methods return this field.
      - `partner_response_code` string: The raw response code returned by the payment provider when a payment is declined or fails. Not all payment methods return this field.
      - `tax_amount` number: Total tax amount of the order.
      - `locale` string: The language and region of the customer. ISO 639-2 language code, its value consists of language-country
      - `retrieval_reference_number` string: A unique identifier for the authorization provided by partner
      - `partner_order_id` string: The Klarna order ID associated with the payment.
      - `partner_status` string: Status of a payment provided by partner
      - `partner_transaction_id` string: Unique transaction identification provided by partner
      - `partner_error_codes` string[]: The list of error codes that led the payment to fail or be declined, as given by the payment provider
      - `partner_merchant_advice_code` string: The <a href="https://www.checkout.com/docs/developer-resources/codes/recommendation-codes#Mastercard_merchant_advice_codes" target="blank">Merchant Advice Code (MAC)</a> provided by Mastercard, which contains additional information about the transaction. For example, the MAC can inform you if the transaction was performed using a consumer non-reloadable prepaid card or a consumer single-use virtual card. For declined transactions, the MAC will also let you know whether the payment can be retried, and how long you should wait before doing so.
      - `partner_error_message` string: Error description provided by partner
      - `partner_authorization_code` string: Authorization code provided by partner
      - `partner_authorization_response_code` string: Authorization response code provided by partner
      - `partner_fraud_status` string: Partner fraud status. If the status is Pending, and the Merchant captures before it changes to Accepted the risk of the transaction is solely of the merchant.
      - `pan_type_processed` 'fpan' | 'dpan': The type of Primary Account Number (PAN) used for the payment. DPAN indicates network token was used, FPAN indicates the full card was used
      - `fallback_source_used` boolean: Indicates whether the `fallback_source` field was used for the payment.
      - `custom_payment_method_ids` string[]: An array defining which of the configured payment options within a payment category (for example, `pay_later` or `pay_over_time`) should be displayed for this purchase.
      - `aft` boolean: Indicates whether the payment is an [Account Funding Transaction](https://www.checkout.com/docs/payments/manage-payments/account-funding-transactions)
      - `merchant_category_code` string: Four-digit code for retail financial services expressed in ISO 18245 format, classifying the types of goods or services you provide.
      - `scheme_merchant_id` string: The merchant identifier that was configured with the scheme and used for the payment.
      - `scheme` string: The scheme on which the payment was authorized. This may differ from the card's scheme used for the payment if the card is co-badged and the payment was authorized on a different network.
      - `scheme_transaction_link_id` string: The scheme transaction link identifier.
    - `items` object[]: The order's line items.
      - `type` 'digital' | 'discount' | 'physical': The item type. For example, `physical` or `digital`. This field is used to provide item level metadata where applicable. If `source.type` is `sequra`, this field is required.
      - `sub_type` 'blockchain' | 'cbdc' | 'cryptocurrency' | 'nft' | 'stablecoin': The digital item type. If `type` is set to `digital`, this field is required.
      - `name` string: The descriptive name of the line item. If `source.type` is `sequra`, this field is required.
      - `quantity` integer: The number of line items. If `source.type` is `sequra`, this field is required.
      - `unit_price` integer: The unit price of the item the <a href="https://www.checkout.com/docs/resources/calculating-the-amount" target="blank">minor currency unit</a>. Required if `source.type` is `sequra`
      - `reference` string: The item reference or product SKU (stock-keeping unit). For Visa and Mastercard's interchange reduction programs, this value has a maximum length of 12 characters. If `source.type` is `sequra`, this field is required.
      - `commodity_code` string: A code identifying a Commodity for value-added tax (VAT) purposes.
      - `unit_of_measure` string: Unit of Measure code used for an item in transaction.
      - `total_amount` number: The total cost of the line item, in <a href="https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value" target="_blank">minor currency units</a>. Calculate this using the following formula: `total_amount` = (`quantity` * `unit_price`) - `discount_amount`. If `source.type` is `sequra`, this field is required.
      - `tax_rate` number: The tax rate of the item line in minor units. The percentage value is represented with two implicit decimals. For example, 2000=20%.
      - `tax_amount` number: Contains the total amount of sales tax or value-added tax (VAT) on the total purchase amount. Tax should be included in the total purchase.
      - `tax_exempt` boolean: Indicates whether the products or services are tax-exempt. <p/> Set to `true` if: - You are processing a card payment. - The `tax_amount` field is `0` due to a tax-exempt product or service.
      - `discount_amount` number: The discount applied to each invoice line item.
      - `wxpay_goods_id` string: Unified product No. defined by WeChat Pay
      - `url` string: Link to the line item's product page
      - `image_url` string: Link to the line item's product page
      - `service_ends_on` string, date: Maximum date for the service to be rendered or ended. If `source.type` is `sequra` and `item.type` is `digital`, this field is required.
      - `purchase_country` string: The country where the purchase was made. <br/>Format – <a href="https://www.checkout.com/docs/previous/resources/codes/country-codes" target="_blank">ISO alpha-2 country code</a>
      - `foreign_retailer_amount` integer: The foreign retailer amount the merchant applied to the transaction, in the [minor currency unit](https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value).
    - `metadata` object: A set of key-value pairs that you can attach to a payment. It can be useful for storing additional information in a structured format
    - `eci` string: The final Electronic Commerce Indicator (ECI) security level used to authorize the payment. Applicable for 3D Secure and network token payments
    - `scheme_id` string: The scheme transaction identifier
    - `actions` PaymentActionSummary[]: A summary of the payment's actions, returned when a session ID is used to get the payment details
      - `id` string, required: The action identifier
      - `type` 'Authorization' | 'Card Verification' | 'Void' | 'Capture' | 'Refund', required: The type of action
      - `response_code` string, required: The Gateway response code
      - `response_summary` string: The Gateway response summary
    - `retry` RetryGetResponse: Configuration relating to asynchronous retries
      - `enabled` boolean, required: Indicates whether asynchronous retries are enabled for the payment.
      - `attempts_made` integer: The number of retries attempted so far.
      - `max_attempts` integer: The maximum number of authorization retry attempts, excluding the initial authorization.
      - `ends_on` string, date-time: ISO 8601 timestamp
      - `next_attempt_on` string, date-time: ISO 8601 timestamp
    - `cko_network_token_available` boolean: The flag indicating if Checkout Network Token was available for the payment
    - `instruction` object: Details about the payment instruction.
      - `purpose` string: The purpose of the payment.
    - `_links` object, required: The links related to the payment
      - `self` Link, required
        - `href` string, required: The link URL
      - `actions` Link, required
        - `href` string, required: The link URL
      - `authorize` Link
        - `href` string, required: The link URL
      - `void` Link
        - `href` string, required: The link URL
      - `capture` Link
        - `href` string, required: The link URL
      - `refund` Link
        - `href` string, required: The link URL

## Other responses

- `401`: Authentication failed. Provide a valid API key or access token.
- `403`: You do not have permission to update this Payment Setup.
- `422`: One or more fields failed validation. See the response body for details.

---

[API](https://skmtc.dev/checkout/apis/checkout-com-api-reference.md) - [All operations](https://skmtc.dev/checkout/apis/checkout-com-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/checkout/apis/checkout-com-api-reference/revisions/0f1abdb1c3e9?raw)
