> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paypal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Find a list of eligible payment methods.

> Get a list of eligible payment methods based on the input parameters provided.



## OpenAPI

````yaml /api-reference/payments_payment_v2.json post /v2/payments/find-eligible-methods
openapi: 3.0.4
info:
  title: Payments
  description: >-
    Call the Payments API to authorize payments, capture authorized payments,
    refund payments that have already been captured, and show payment
    information. Use the Payments API in conjunction with the <a
    href="/docs/api/orders/v2/">Orders API</a>. For more information, see the <a
    href="/docs/checkout/">PayPal Checkout Overview</a>.
  version: '2.13'
servers:
  - url: https://api-m.paypal.com
    description: Server for https scheme.
security: []
tags:
  - name: assets
    description: Assets APIs for Checkout
  - name: authorizations
    description: >-
      Use the `/authorizations` resource to show details for, capture payment
      for, reauthorize, and void authorized payments.
  - name: cancel-payment
    description: >-
      Use the <code>/cancel-payment</code> resource to cancel an order capture
      or order authorization by <code>PayPal-Request-Id</code>. The merchant
      triggers the cancel action.
  - name: captures
    description: >-
      Use the `/captures` resource to show details for and refund a captured
      payment.
  - name: find-bin-details
    description: >-
      Use the `/find-bin-details` resource to determine PayPal supported
      networks and retrieve BIN details for given card and payee.
  - name: find-eligible-methods
    description: >-
      Use the `/find-eligible-methods` resource to show list of eligible payment
      methods for given customer/order context.
  - name: payment-resource-operations
    description: >-
      Use the `/payment-resource-operations` resource to show verifications
      details.
  - name: refunds
    description: Use the `/refunds` resource to show refund details.
externalDocs:
  url: /docs/checkout/
paths:
  /v2/payments/find-eligible-methods:
    post:
      tags:
        - find-eligible-methods
      summary: Find a list of eligible payment methods.
      description: >-
        Get a list of eligible payment methods based on the input parameters
        provided.
      operationId: find.eligible.methods
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/paypal_auth_assertion'
        - $ref: '#/components/parameters/user_agent'
        - $ref: '#/components/parameters/paypal_client_metadata_id'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/find_eligible_methods_request'
            examples:
              find_eligible_payment_methods_exclude_payment_sources:
                summary: Eligible Payment Methods - Exclude listed payment methods
                description: Eligible Payment Methods - Exclude listed payment methods
                value:
                  customer:
                    country_code: US
                    channel:
                      browser_type: SAFARI
                      device_type: MOBILE
                      client_os: IOS
                  purchase_units:
                    - amount:
                        currency_code: USD
                        value: '100.00'
                  preferences:
                    payment_source_constraint:
                      constraint_type: EXCLUDE
                      payment_sources:
                        - PAYPAL
              find_eligible_payment_methods_for_partner_with_multiple_seller_purchase:
                summary: >-
                  Eligible Payment Methods for a customer who is purchasing from
                  multiple sellers
                description: >-
                  Eligible Payment Methods for a customer who is purchasing from
                  multiple sellers.
                value:
                  customer:
                    country_code: US
                    channel:
                      browser_type: SAFARI
                      device_type: MOBILE
                      client_os: IOS
                  purchase_units:
                    - payee:
                        merchant_id: NGHNXQ95SRMUY
                      amount:
                        currency_code: USD
                        value: '200.00'
                    - payee:
                        merchant_id: 2DDJ3PFG2VFFA
                      amount:
                        currency_code: USD
                        value: '300.00'
              find_eligible_payment_methods_merchant_sharing_user_agent_instead_of_channel:
                summary: Eligible Payment Methods with User-Agent header
                description: >-
                  Eligible Payment Methods for merchant sharing User-Agent
                  instead of channel.
                value:
                  customer:
                    country_code: US
                  purchase_units:
                    - amount:
                        currency_code: USD
                        value: '100.00'
              find_eligible_payment_methods_not_requiring_payment_tokens:
                summary: Eligible Payment Methods without payment token information
                description: Eligible Payment Methods without payment token information.
                value:
                  customer:
                    country_code: US
                    channel:
                      browser_type: Safari
                      device_type: Mobile
                      client_os: iOs 16,3
                  purchase_units:
                    - payee:
                        merchant_id: NGHNXQ95SRMUY
                      amount:
                        currency_code: USD
                        value: '200.00'
              find_eligible_payment_methods_with_account_details_searchedBy_email_only_honey_account_found:
                summary: Customer recognition using customer email and phone number
                description: >-
                  Eligible payment methods along with PayPal and Venmo account
                  confirmation for merchants sharing customer email and phone
                  number.
                value:
                  customer:
                    country_code: US
                    email: customer12345@gmail.com
                    phone:
                      country_code: '1'
                      national_number: '1234567890'
                  purchase_units:
                    - amount:
                        currency_code: USD
                        value: '200.00'
                  preferences:
                    include_account_details: true
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - PAYPAL
                        - VENMO
              find_eligible_payment_methods_with_account_details_searchedBy_email_phone_only_paypal_account_found:
                summary: Customer recognition using customer email and phone number
                description: >-
                  Eligible payment methods along with PayPal and Venmo account
                  confirmation for merchants sharing customer email and phone
                  number.
                value:
                  customer:
                    country_code: US
                    email: customer12345@gmail.com
                    phone:
                      country_code: '1'
                      national_number: '1234567890'
                  purchase_units:
                    - amount:
                        currency_code: USD
                        value: '200.00'
                  preferences:
                    include_account_details: true
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - PAYPAL
                        - VENMO
              find_eligible_payment_methods_with_account_details_searchedBy_email_phone_only_venmo_account_found:
                summary: Customer recognition using customer email and phone number
                description: >-
                  Eligible payment methods along with PayPal and Venmo account
                  confirmation for merchants sharing customer email and phone
                  number.
                value:
                  customer:
                    country_code: US
                    email: customer12345@gmail.com
                    phone:
                      country_code: '1'
                      national_number: '1234567890'
                  purchase_units:
                    - amount:
                        currency_code: USD
                        value: '200.00'
                  preferences:
                    include_account_details: true
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - PAYPAL
                        - VENMO
              find_eligible_payment_methods_with_account_details_searchedBy_email_phone_paypal_venmo_accounts_found:
                summary: Customer recognition using customer email and phone number
                description: >-
                  Eligible payment methods along with PayPal and Venmo account
                  confirmation for merchants sharing customer email and phone
                  number.
                value:
                  customer:
                    country_code: US
                    email: customer12345@gmail.com
                    phone:
                      country_code: '1'
                      national_number: '1234567890'
                  purchase_units:
                    - amount:
                        currency_code: USD
                        value: '200.00'
                  preferences:
                    include_account_details: true
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - PAYPAL
                        - VENMO
              find_eligible_payment_methods_with_payment_tokens:
                summary: Eligible Payment Methods - with payment tokens
                description: >-
                  Eligible Payment Methods for merchant with payment token
                  information.
                value:
                  customer:
                    country_code: US
                    channel:
                      browser_type: Safari
                      device_type: Mobile
                      client_os: iOs 16,3
                  purchase_units:
                    - payee:
                        merchant_id: NGHNXQ95SRMUY
                      amount:
                        currency_code: USD
                        value: '200.00'
                  preferences:
                    include_vault_tokens: true
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - PAYPAL
                        - VENMO
              find_eligible_payment_methods_cards_ios:
                summary: Cards Payment Method
                description: Find eligibility - Cards payment method for iOS device.
                value:
                  customer:
                    country_code: US
                    channel:
                      device: IOS
                      browser: CHROME
                  purchase_units:
                    - payee:
                        merchant_id: PLKLQWQKCUCMW
                      amount:
                        currency_code: USD
                        value: '100.00'
                  preferences:
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - ADVANCED_CARDS
              find_eligible_payment_methods_apple_pay:
                summary: Apple Pay Payment Method
                description: Find eligibility - Apple Pay payment method.
                value:
                  customer:
                    country_code: US
                    channel:
                      device: IOS
                      browser: CHROME
                  purchase_units:
                    - payee:
                        merchant_id: PLKLQWQKCUCMW
                      amount:
                        currency_code: USD
                        value: '100.00'
                  preferences:
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - APPLE_PAY
              find_eligible_payment_methods_400_with_invalid_schema:
                summary: Eligible Payment Methods - 400 Invalid Request
                description: >-
                  This request attempts to get payment methods but the request
                  fails as it has invalid length (3 instead of 2) for customer's
                  country_code.
                value:
                  customer:
                    country_code: USA
                  purchase_units:
                    - amount:
                        currency_code: USD
                        value: '100.00'
              find_eligible_payment_methods_422_invalid_currency_code:
                summary: Eligible Payment Methods - 422 Unprocessable Entity
                description: >-
                  This request attempts to get payment methods but the request
                  fails because the currency code passed doesn't exist.
                value:
                  customer:
                    country_code: US
                  purchase_units:
                    - amount:
                        currency_code: III
                        value: '100.00'
              find_eligible_payment_methods_basic_cards_ios:
                summary: Basic Cards Payment Method
                description: Find eligibility - Basic Cards payment method for iOS device.
                value:
                  customer:
                    country_code: US
                    channel:
                      device: IOS
                      browser: CHROME
                  purchase_units:
                    - payee:
                        merchant_id: CT8MBLTVPBRKN
                      amount:
                        currency_code: USD
                        value: '100.00'
                  preferences:
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - BASIC_CARDS
              find_eligible_payment_methods_google_pay:
                summary: Google Pay Payment Method
                description: Find eligibility - Google Pay payment method.
                value:
                  customer:
                    country_code: US
                    channel:
                      device: IOS
                      browser: CHROME
                  purchase_units:
                    - payee:
                        merchant_id: PLKLQWQKCUCMW
                      amount:
                        currency_code: USD
                        value: '100.00'
                  preferences:
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - GOOGLE_PAY
              find_eligible_payment_methods_with_ach:
                summary: Find Eligible Payment Methods with ACH
                description: >-
                  Eligible payment methods with ACH funding instrument for US
                  customers.
                value:
                  customer:
                    country_code: US
                    email: customer12345@gmail.com
                    phone:
                      country_code: '1'
                      national_number: '1234567890'
                  purchase_units:
                    - amount:
                        currency_code: USD
                        value: '200.00'
                  preferences:
                    include_account_details: true
                    payment_source_constraint:
                      constraint_type: INCLUDE
                      payment_sources:
                        - ACH
      responses:
        '200':
          description: >-
            A successful request returns the HTTP <code>200 OK</code> status
            code and a JSON response body that provides list of eligibile
            payments.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/find_eligible_methods_response'
              examples:
                find_eligible_payment_methods_exclude_payment_sources:
                  summary: Eligible Payment Methods - Exclude listed payment methods
                  description: Eligible Payment Methods - Exclude listed payment methods
                  value:
                    eligible_methods:
                      venmo:
                        can_be_vaulted: true
                find_eligible_payment_methods_for_partner_with_multiple_seller_purchase:
                  summary: >-
                    Eligible Payment Methods for a customer who is purchasing
                    from multiple sellers
                  description: >-
                    Eligible Payment Methods for a customer who is purchasing
                    from multiple sellers.
                  value:
                    eligible_methods:
                      paypal:
                        can_be_vaulted: true
                find_eligible_payment_methods_merchant_sharing_user_agent_instead_of_channel:
                  summary: Eligible Payment Methods with User-Agent header
                  description: >-
                    Eligible Payment Methods for merchant sharing User-Agent
                    instead of channel.
                  value:
                    eligible_methods:
                      paypal:
                        can_be_vaulted: true
                      venmo:
                        can_be_vaulted: true
                find_eligible_payment_methods_not_requiring_payment_tokens:
                  summary: Eligible Payment Methods without payment token information
                  description: Eligible Payment Methods without payment token information.
                  value:
                    eligible_methods:
                      paypal:
                        can_be_vaulted: true
                      venmo:
                        can_be_vaulted: true
                      paypal_pay_later:
                        can_be_vaulted: false
                find_eligible_payment_methods_with_account_details_searchedBy_email_only_honey_account_found:
                  summary: Customer recognition using customer email and phone number
                  description: >-
                    Eligible payment methods along with PayPal and Venmo account
                    confirmation for merchants sharing customer email and phone
                    number.
                  value:
                    eligible_methods:
                      paypal:
                        can_be_vaulted: true
                        eligible_in_paypal_network: true
                        recommended: false
                      venmo:
                        can_be_vaulted: true
                        eligible_in_paypal_network: true
                        recommended: false
                find_eligible_payment_methods_with_account_details_searchedBy_email_phone_only_paypal_account_found:
                  summary: Customer recognition using customer email and phone number
                  description: >-
                    Eligible payment methods along with PayPal and Venmo account
                    confirmation for merchants sharing customer email and phone
                    number.
                  value:
                    eligible_methods:
                      paypal:
                        can_be_vaulted: true
                        eligible_in_paypal_network: true
                        recommended: true
                        recommended_priority: 1
                      venmo:
                        can_be_vaulted: true
                        eligible_in_paypal_network: true
                        recommended: false
                find_eligible_payment_methods_with_account_details_searchedBy_email_phone_only_venmo_account_found:
                  summary: Customer recognition using customer email and phone number
                  description: >-
                    Eligible payment methods along with PayPal and Venmo account
                    confirmation for merchants sharing customer email and phone
                    number.
                  value:
                    eligible_methods:
                      paypal:
                        can_be_vaulted: true
                        eligible_in_paypal_network: true
                        recommended: false
                      venmo:
                        can_be_vaulted: true
                        eligible_in_paypal_network: true
                        recommended: true
                        recommended_priority: 1
                find_eligible_payment_methods_with_account_details_searchedBy_email_phone_paypal_venmo_accounts_found:
                  summary: Customer recognition using customer email and phone number
                  description: >-
                    Eligible payment methods along with PayPal and Venmo account
                    confirmation for merchants sharing customer email and phone
                    number.
                  value:
                    eligible_methods:
                      paypal:
                        can_be_vaulted: true
                        eligible_in_paypal_network: true
                        recommended: true
                        recommended_priority: 1
                      venmo:
                        can_be_vaulted: true
                        eligible_in_paypal_network: true
                        recommended: false
                find_eligible_payment_methods_with_payment_tokens:
                  summary: Eligible Payment Methods - with payment tokens
                  description: >-
                    Eligible Payment Methods for merchant with payment token
                    information.
                  value:
                    eligible_methods:
                      paypal:
                        can_be_vaulted: true
                      venmo:
                        can_be_vaulted: true
                find_eligible_payment_methods_cards_ios:
                  summary: Cards Payment Method
                  description: Find eligibility - Cards payment method for iOS device.
                  value:
                    eligible_methods:
                      advanced_cards:
                        supports_installments: false
                        vendors:
                          - eligible: true
                            can_be_vaulted: true
                            branded: false
                          - eligible: true
                            can_be_vaulted: true
                            branded: false
                          - eligible: true
                            can_be_vaulted: true
                            branded: false
                          - eligible: true
                            can_be_vaulted: true
                            branded: false
                          - eligible: true
                            can_be_vaulted: true
                            branded: false
                          - eligible: true
                            can_be_vaulted: true
                            branded: false
                          - eligible: true
                            can_be_vaulted: true
                            branded: false
                          - eligible: true
                            can_be_vaulted: true
                            branded: false
                find_eligible_payment_methods_apple_pay:
                  summary: Apple Pay Payment Method
                  description: Find eligibility - Apple Pay payment method.
                  value:
                    eligible_methods:
                      apple_pay:
                        can_be_vaulted: true
                        config:
                          eligible: true
                          merchant_country: US
                          supported_networks:
                            - MASTERCARD
                            - DISCOVER
                            - VISA
                            - AMEX
                          merchant_capabilities:
                            - SUPPORTS_CREDIT
                            - SUPPORTS_DEBIT
                            - SUPPORTS_3DS
                          token_notification_url: >-
                            https://api.msmaster.qa.paypal.com/v1/payment-provider/applepay
                find_eligible_payment_methods_basic_cards_ios:
                  summary: Basic Cards Payment Method
                  description: >-
                    Find eligibility - Basic Cards payment method for iOS
                    device.
                  value:
                    eligible_methods:
                      basic_cards:
                        supports_installments: false
                        supports_inline_presentation_mode: true
                        guest_enabled: true
                find_eligible_payment_methods_google_pay:
                  summary: Google Pay Payment Method
                  description: Find eligibility - Google Pay payment method.
                  value:
                    eligible_methods:
                      google_pay:
                        can_be_vaulted: false
                        config:
                          eligible: true
                          merchant_country: US
                          api_version: 2
                          api_version_minor: 1
                          supported_networks:
                            - type: CARD
                              parameters:
                                allowed_auth_methods:
                                  - PAN_ONLY
                                  - CRYPTOGRAM_3DS
                                supported_networks:
                                  - MASTERCARD
                                  - DISCOVER
                                  - VISA
                                  - AMEX
                                billing_address_required: true
                                assurance_details_required: true
                                billing_address_parameters:
                                  format: FULL
                              tokenization_specification:
                                type: PAYMENT_GATEWAY
                                parameters:
                                  gateway: paypalqa
                                  gateway_merchant_id: PLKLQWQKCUCMW
                          merchant_info:
                            merchant_origin: www.shopify.com
                            merchant_id: BCR2DN4TXSDMV
                            googlepay_partner_domain_verification_jwt: >-
                              eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJtZXJjaGFudElkIjoiQkNSMkRONFRYU0RNVlRLTSIsIm1lcmNoYW50T3JpZ2luIjoid3d3LnNob3BpZnkuY29tIiwiaWF0IjoxNzUzMTc0MzgyfQ.YkieJt4vMDkgTzpGqkRD5qYhSN9OSu7VtFOHkEQeA_BkkYbyfqlEbpk9lT5IdrK-h7AAavDqjVhHHj6hg4r9gg
                find_eligible_payment_methods_with_ach:
                  summary: Find Eligible Payment Methods with ACH
                  description: >-
                    Eligible payment methods with ACH funding instrument for US
                    customers.
                  value:
                    eligible_methods:
                      ach:
                        can_be_vaulted: true
        '400':
          description: >-
            The request failed because it is not well-formed or is syntactically
            incorrect or violates schema.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
              examples:
                find_eligible_payment_methods_400_with_invalid_schema:
                  summary: Eligible Payment Methods - 400 Invalid Request.
                  description: >-
                    This request attempts to get payment methods but the request
                    fails as it has invalid length (3 instead of 2) for
                    customer's country_code.
                  value:
                    name: INVALID_REQUEST
                    debug_id: b1d1f06c7246c
                    message: >-
                      Request is not well-formed, syntactically incorrect, or
                      violates schema
                    details:
                      - field: /customer/country_code
                        value: USA
                        location: body
                        issue: INVALID_STRING_LENGTH
                        description: The value of a field is either too short or too long.
                    links:
                      - href: >-
                          https://developer.paypal.com/docs/api/payments/v2/#errors
                        rel: information_link
                        method: GET
                        encType: application/json
        '401':
          $ref: '#/components/responses/401_error_response'
        '403':
          $ref: '#/components/responses/403_error_response'
        '422':
          description: >-
            The request failed because it either is semantically incorrect or
            failed business validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
              examples:
                find_eligible_payment_methods_422_invalid_currency_code:
                  summary: Eligible Payment Methods - 422 Unprocessable Entity
                  description: >-
                    This request attempts to get payment methods but the request
                    fails because the currency code passed doesn't exist.
                  value:
                    name: UNPROCESSABLE_ENTITY
                    message: >-
                      The requested action could not be performed, semantically
                      incorrect, or failed business validation.
                    debug_id: 90bff07028f7f
                    details:
                      - field: /purchase_units/amount/currency_code
                        value: III
                        issue: INVALID_CURRENCY_CODE
                        description: >-
                          Currency code is invalid. Please refer
                          https://developer.paypal.com/docs/integration/direct/rest/currency-codes/
                          for list of supported currency codes.
                    links:
                      - href: >-
                          https://developer.paypal.com/docs/api/payments/v2/#errors
                        rel: information_link
                        method: GET
        '500':
          $ref: '#/components/responses/500_error_response'
        default:
          $ref: '#/components/responses/default_response'
      security:
        - Oauth2:
            - https://uri.paypal.com/services/payments/realtimepayment
            - https://uri.paypal.com/services/payments/payments-ready
            - Braintree:PaymentsReady
            - >-
              https://uri.paypal.com/services/payments/client-payments-eligibility
components:
  parameters:
    authorization:
      name: Authorization
      in: header
      description: Holds authorization information for external API calls.
      required: false
      schema:
        $ref: '#/components/schemas/standard_header_schema'
      examples:
        bearer:
          summary: Bearer authorization.
          description: >-
            An authorization header with information for the Bearer
            authorization scheme. The authorization parameter value is
            randomized for this example.
          value: >-
            Bearer
            A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ
    paypal_auth_assertion:
      name: PayPal-Auth-Assertion
      in: header
      description: >-
        Header for an API client-provided JWT assertion that identifies the
        merchant. Establishing the consent to act-on-behalf of a merchant is a
        prerequisite for using this header.
      required: false
      schema:
        description: >-
          Header for an API client-provided JWT assertion that identifies the
          merchant. Establishing the consent to act-on-behalf of a merchant is a
          prerequisite for using this header.
        type: string
        minLength: 1
        maxLength: 10000
        pattern: ^.*$
      examples:
        auth_assertion:
          summary: An auth assertion.
          description: A paypal-auth-assertion header with a randomized value.
          value: eyJhbGciOiJub25lIn0.eyJlbWFpbCI6Im15QGVtYWlsLmNvbSJ9
    user_agent:
      name: User-Agent
      in: header
      description: >-
        A characteristic string that lets servers and network peers identify the
        application, operating system, vendor, and/or version of the requesting
        user agent. API calls made by PayPal SDKs SHOULD be identified using
        this request header.
      required: false
      schema:
        $ref: '#/components/schemas/standard_header_schema'
      examples:
        safari_on_ipad:
          summary: A user-agent for Safari on iPad.
          description: A user-agent header for Safari on iPad.
          value: >-
            Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us)
            AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405
    paypal_client_metadata_id:
      name: PayPal-Client-Metadata-Id
      in: header
      description: >-
        A GUID value originating from Fraudnet and Dyson passed from external
        API clients via HTTP header. The value is used by Risk decisions to
        correlate calls which, in turn, might result in lower decline rates..
      required: false
      schema:
        $ref: '#/components/schemas/guid'
      examples:
        guid:
          summary: A GUID.
          description: A paypal-client-metadata-id header with a randomized value.
          value: 1295065d-6f34-42dc-ac65-fac0c86af250
  schemas:
    find_eligible_methods_request:
      title: Find Eligible Payment Methods Request
      description: Request to get list of eligible payment methods.
      type: object
      properties:
        customer:
          $ref: '#/components/schemas/find_eligible_methods_request_customer'
        purchase_units:
          description: Array of purchase units.
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/eligibility_purchase_unit_request'
        preferences:
          $ref: '#/components/schemas/find_eligible_methods_request_preferences'
    find_eligible_methods_response:
      title: paypal_response
      description: Eligible payment methods.
      type: object
      properties:
        eligible_methods:
          allOf:
            - $ref: '#/components/schemas/payment_methods'
            - description: List of payment methods that are eligible.
        supplementary_data:
          title: Supplementary Data
          description: Contains supplementary data related to the eligibility check.
          type: object
          properties:
            buyer_country_code:
              allOf:
                - $ref: '#/components/schemas/country_code-2'
                - description: >-
                    Returns a country_code which is derived from the buyer's
                    country.
    error:
      title: Error
      description: The error details.
      type: object
      required:
        - debug_id
        - message
        - name
      properties:
        name:
          description: The human-readable, unique name of the error.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        message:
          description: The message that describes the error.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        debug_id:
          description: The PayPal internal ID. Used for correlation purposes.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        details:
          description: An array of additional details about the error.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            allOf:
              - $ref: '#/components/schemas/error_details'
              - title: error_details
        links:
          description: >-
            An array of request-related [HATEOAS
            links](/api/rest/responses/#hateoas-links).
          type: array
          minItems: 0
          maxItems: 32767
          readOnly: true
          items:
            allOf:
              - $ref: '#/components/schemas/link_description'
              - title: link_description
                readOnly: true
    standard_header_schema:
      title: Schema Object for standard headers
      description: >-
        Standard headers are generally less restrictive in structure due to
        historical precedent across browsers, etc. This is a common schema for
        use in defining most standard headers.
      type: string
      minLength: 1
      maxLength: 16000
      pattern: ^.*$
    guid:
      title: GUID
      description: A Globally Unique Identifier (GUID) value.
      type: string
      minLength: 1
      maxLength: 68
      pattern: ^[A-Za-z0-9-{}(),]*$
    find_eligible_methods_request_customer:
      title: Customer
      description: Customer who is making a purchase from the merchant/partner.
      type: object
      properties:
        country_code:
          allOf:
            - $ref: '#/components/schemas/country_code-2'
            - description: >-
                Country from which the customer is purchasing products/services
                from the merchant/partner. Result will factor in local payment
                methods that are available in the country mentioned. Value
                should be in the 2-character ISO 3166-1 code format.
        channel:
          allOf:
            - $ref: >-
                #/components/schemas/find_eligible_methods_request_customer_channel
            - description: >-
                Channel through which the request is being posted. This object
                intends to collect information such as browser, operating
                system, device of the buyer. If both channel and User-Agent
                header are passed, data passed in the channel object takes
                precedence and User-Agent header will be used for information
                not provided in channel object.
        email:
          $ref: '#/components/schemas/email_address'
        phone:
          allOf:
            - $ref: '#/components/schemas/phone-2'
            - not:
                required:
                  - extension_number
    eligibility_purchase_unit_request:
      title: eligibility_purchase_unit_request
      description: Purchase unit for payment eligibility.
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/amount_with_breakdown'
        payee:
          $ref: '#/components/schemas/payee'
    find_eligible_methods_request_preferences:
      title: Preferences
      description: Preferences of merchant/partner consuming the API.
      type: object
      properties:
        payment_flow:
          title: Payment Flow
          description: >-
            This field specifies the payment flow, expected to provide a hint
            about which payment action the customer is intending to perform.
          type: string
          enum:
            - ONE_TIME_PAYMENT
            - RECURRING_PAYMENT
            - VAULT_WITH_PAYMENT
            - VAULT_WITHOUT_PAYMENT
          x-enumDescriptions:
            ONE_TIME_PAYMENT: >-
              Indicates that a customer is attempting to acquire a product
              within the context of a purchase. Most often, this will be the
              standard PayPal Checkout experience.
            RECURRING_PAYMENT: >-
              Indicates that the customer is in the recurring payment
              experience.
            VAULT_WITH_PAYMENT: >-
              Indicates that the customer is entering through checkout and
              continue to the vaulting experience.
            VAULT_WITHOUT_PAYMENT: >-
              Indicates that the customer is in the vaulting experience without
              any purchase.
        intent:
          type: string
          description: >-
            The intent of the payment flow, specifying the purpose of the
            payment operation.
          enum:
            - CAPTURE
            - AUTHORIZE
            - ORDER
            - TOKENIZE
            - SUBSCRIPTION
            - UNKNOWN
          x-enumDescriptions:
            CAPTURE: The intent to capture payment immediately after customer approval.
            AUTHORIZE: The intent to authorize a payment for capture later.
            ORDER: >-
              The intent to create an order for authorized payments that can be
              captured later in parts or in full.
            TOKENIZE: >-
              The intent to tokenize payment details without processing a
              payment.
            SUBSCRIPTION: The intent to process a payment as part of a subscription.
            UNKNOWN: >-
              Used when the intent is not specified or does not match any known
              values.
        include_account_details:
          description: >-
            If this value is set to true, response will include confirmation if
            the customer has PayPal and/or Venmo accounts if they are eligible
            payment methods. Value defaults to false.
          type: boolean
          default: 'false'
        include_vault_tokens:
          description: >-
            If this value is set to true, response will include vaulted token
            information if the eligible funding source has any instrument
            vaulted for the customer. Value defaults to false.
          type: boolean
          default: 'false'
        vault:
          description: >-
            This field determines whether the selected payment method is
            intended to be stored for future use (vaulted) or used as a one-time
            payment. Value defaults to false.
          type: boolean
          default: 'false'
        payment_source_constraint:
          title: Payment Source Constraint
          description: >-
            Payment source constraint defines the payment methods that needs to
            be included/excluded for eligibility assessment. If not passed, all
            payment methods will be assessed for eligibility.
          type: object
          required:
            - constraint_type
            - payment_sources
          properties:
            constraint_type:
              description: >-
                Constraint type defines whether given payment sources needs to
                be included or excluded.
              type: string
              enum:
                - INCLUDE
                - EXCLUDE
              x-enumDescriptions:
                INCLUDE: >-
                  If this value is passed for constraint type, only the payment
                  methods listed in payment_sources array will be assessed for
                  eligibility.
                EXCLUDE: >-
                  If this value is passed for constraint type, all the payment
                  sources listed in payment_sources array will be excluded for
                  eligibility assessment.
            payment_sources:
              description: >-
                Set of unique payment methods that will be included/excluded for
                eligibility assessment.
              type: array
              minItems: 1
              maxItems: 75
              items:
                $ref: '#/components/schemas/payment_method'
    payment_methods:
      title: Payment Methods
      description: List of payment methods.
      type: object
      properties:
        paypal:
          allOf:
            - $ref: '#/components/schemas/paypal'
            - description: PayPal payment method.
        venmo:
          allOf:
            - $ref: '#/components/schemas/venmo'
            - description: Venmo payment method.
        paypal_credit:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: PayPal Credit payment method.
        paypal_pay_later:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: PayPal Pay Later payment method.
        ideal:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Ideal payment method.
        apple_pay:
          allOf:
            - $ref: '#/components/schemas/applepay'
            - description: ApplePay payment method.
        google_pay:
          allOf:
            - $ref: '#/components/schemas/googlepay'
            - description: GooglePay payment method.
        advanced_cards:
          allOf:
            - $ref: '#/components/schemas/advanced_cards'
            - description: >-
                Represents card payments, specifically for Advanced Credit and
                Debit Card Processing.
        basic_cards:
          allOf:
            - $ref: '#/components/schemas/basic_cards'
            - description: >-
                Represents card payments, specifically for Basic Credit and
                Debit Card Processing.
        ach:
          allOf:
            - $ref: '#/components/schemas/ach'
            - description: ACH payment method.
        blik:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Blik payment method.
        p24:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: P24 payment method.
        eps:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Eps payment method.
        bancontact:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Bancontact payment method.
        swish:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Swish payment method.
        klarna:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Klarna payment method.
        mbway:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: MB WAY payment method.
        boletobancario:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Boleto Bancario payment method.
        twint:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: TWINT payment method.
        bizum:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Bizum payment method.
        afterpay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Afterpay payment method.
        zip:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Zip payment method.
        satispay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Satispay payment method.
        trustly:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Trustly payment method.
        mybank:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: MyBank payment method.
        alipay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Alipay payment method.
        wechatpay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: WeChatpay payment method.
        grabpay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Grabpay payment method.
        oxxo_pay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Oxxo Pay payment method.
        multibanco:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Multibanco payment method.
        verkkopankki:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Verkkopankki payment method.
        bancomatpay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Bancomatpay payment method.
        payu:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: PayU payment method.
        blik_pay_later:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Blik Pay Later payment method.
        floa_pay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Floa payment method.
        dragonpay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: DragonPay payment method.
        paysera:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Paysera payment method.
        lithuania_banks:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Lithuania Banks payment method.
        latvia_banks:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Latvia Banks payment method.
        thailand_banks:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Thailand Banks payment method.
        estonia_banks:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Estonia Banks payment method.
        alfamart:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Alfamart payment method.
        doku:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Doku payment method.
        indonesia_banks:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Indonesia Banks payment method.
        indomaret:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Indomaret payment method.
        jenius_pay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Jenius Pay payment method.
        kredivo:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Kredivo payment method.
        linkaja:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: LinkAja payment method.
        ovo:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: OVO payment method.
        paysafecard:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Paysafecard payment method.
        skrill:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Skrill payment method.
        wero:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Wero payment method.
        fiuu_cash:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: FIUU Cash payment method.
        gopay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: GoPay payment method.
        fpx:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: FPX payment method.
        pay_upon_invoice:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Pay Upon Invoice payment method.
        pix_international:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: PIX International payment method.
        scalapay:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Scalapay payment method.
        crypto:
          allOf:
            - $ref: '#/components/schemas/payment_method_common'
            - description: Crypto as Alternate payment method.
    country_code-2:
      description: >-
        The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
        that identifies the country or region.<blockquote><strong>Note:</strong>
        The country code for Great Britain is <code>GB</code> and not
        <code>UK</code> as used in the top-level domain names for that country.
        Use the `C2` country code for China worldwide for comparable
        uncontrolled price (CUP) method, bank card, and cross-border
        transactions.</blockquote>
      type: string
      minLength: 2
      maxLength: 2
      pattern: ^([A-Z]{2}|C2)$
    error_details:
      title: Error Details
      description: The error details. Required for client-side `4XX` errors.
      type: object
      required:
        - issue
      properties:
        field:
          description: >-
            The field that caused the error. If this field is in the body, set
            this value to the field's JSON pointer value. Required for
            client-side errors.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        value:
          description: The value of the field that caused the error.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        location:
          description: >-
            The location of the field that caused the error. Value is `body`,
            `path`, or `query`.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
          default: body
        issue:
          description: The unique, fine-grained application-level error code.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        links:
          description: >-
            An array of request-related [HATEOAS
            links](/api/rest/responses/#hateoas-links) that are either relevant
            to the issue by providing additional information or offering
            potential resolutions.
          type: array
          minItems: 1
          maxItems: 4
          readOnly: true
          items:
            allOf:
              - $ref: '#/components/schemas/link_description'
              - title: link_description
                readOnly: true
        description:
          description: >-
            The human-readable description for an issue. The description can
            change over the lifetime of an API, so clients must not depend on
            this value.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
    link_description:
      title: Link Description
      description: >-
        The request-related [HATEOAS link](/api/rest/responses/#hateoas-links)
        information.
      type: object
      required:
        - href
        - rel
      properties:
        href:
          description: >-
            The complete target URL. To make the related call, combine the
            method with this [URI
            Template-formatted](https://tools.ietf.org/html/rfc6570) link. For
            pre-processing, include the `$`, `(`, and `)` characters. The `href`
            is the key HATEOAS component that links a completed call with a
            subsequent call.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        rel:
          description: >-
            The [link relation
            type](https://tools.ietf.org/html/rfc5988#section-4), which serves
            as an ID for a link that unambiguously describes the semantics of
            the link. See [Link
            Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        method:
          description: The HTTP method required to make the related call.
          type: string
          enum:
            - GET
            - POST
            - PUT
            - DELETE
            - HEAD
            - CONNECT
            - OPTIONS
            - PATCH
          x-enumDescriptions:
            GET: The HTTP GET method.
            POST: The HTTP POST method.
            PUT: The HTTP PUT method.
            DELETE: The HTTP DELETE method.
            HEAD: The HTTP HEAD method.
            CONNECT: The HTTP CONNECT method.
            OPTIONS: The HTTP OPTIONS method.
            PATCH: The HTTP PATCH method.
        title:
          description: The link title.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        mediaType:
          title: media_type
          description: >-
            The media type, as defined by [RFC
            2046](https://www.ietf.org/rfc/rfc2046.txt). Describes the link
            target.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        encType:
          title: enc_type
          description: The media type in which to submit the request data.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
          default: application/json
        schema:
          allOf:
            - $ref: '#/components/schemas/link_schema'
            - description: The schema that describes the request data.
        targetSchema:
          allOf:
            - $ref: '#/components/schemas/link_schema'
            - title: target_schema
              description: The schema that describes the link target.
    find_eligible_methods_request_customer_channel:
      title: Customer Channel
      description: Channel through which the request is being posted.
      type: object
      properties:
        browser_type:
          description: 'The browser used by the customer. Example: Safari, Chrome, etc.'
          type: string
          minLength: 1
          maxLength: 30
          pattern: ^[0-9a-zA-Z_,. -]+$
        client_os:
          description: >-
            The operating system on the device used by the customer. Example:
            iOS 16.5, Android 30, etc.
          type: string
          minLength: 1
          maxLength: 30
          pattern: ^[0-9a-zA-Z_,. -]+$
        device_type:
          description: >-
            The type of device used by the customer. Example: Mobile, Desktop,
            Tablet, etc.
          type: string
          minLength: 1
          maxLength: 30
          pattern: ^[0-9a-zA-Z_,. -]+$
    email_address:
      description: >-
        The internationalized email address.<blockquote><strong>Note:</strong>
        Up to 64 characters are allowed before and 255 characters are allowed
        after the <code>@</code> sign. However, the generally accepted maximum
        length for an email address is 254 characters. The pattern verifies that
        an unquoted <code>@</code> sign exists.</blockquote>
      type: string
      minLength: 3
      maxLength: 254
      pattern: >-
        ^(?:[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[A-Za-z0-9-]*[A-Za-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$
    phone-2:
      title: Phone
      description: >-
        The phone number in its canonical international [E.164 numbering plan
        format](https://www.itu.int/rec/T-REC-E.164/en).
      type: object
      required:
        - country_code
        - national_number
      properties:
        country_code:
          title: country_calling_code
          description: >-
            The country calling code (CC), in its canonical international [E.164
            numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The
            combined length of the CC and the national number must not be
            greater than 15 digits. The national number consists of a national
            destination code (NDC) and subscriber number (SN).
          type: string
          minLength: 1
          maxLength: 3
          pattern: ^[0-9]{1,3}?$
        national_number:
          description: >-
            The national number, in its canonical international [E.164 numbering
            plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined
            length of the country calling code (CC) and the national number must
            not be greater than 15 digits. The national number consists of a
            national destination code (NDC) and subscriber number (SN).
          type: string
          minLength: 1
          maxLength: 14
          pattern: ^[0-9]{1,14}?$
        extension_number:
          description: The extension number.
          type: string
          minLength: 1
          maxLength: 15
          pattern: ^[0-9]{1,15}?$
    amount_with_breakdown:
      title: amount_with_breakdown
      description: >-
        The total order amount with an optional breakdown that provides details,
        such as the total item amount, total tax amount, shipping, handling,
        insurance, and discounts, if any.<br/>If you specify `amount.breakdown`,
        the amount equals `item_total` plus `tax_total` plus `shipping` plus
        `handling` plus `insurance` minus `shipping_discount` minus
        discount.<br/>The amount must be a positive number. For listed of
        supported currencies and decimal precision, see the PayPal REST APIs <a
        href="/docs/integration/direct/rest/currency-codes/">Currency Codes</a>.
      type: object
      allOf:
        - $ref: '#/components/schemas/money'
        - type: object
          properties:
            breakdown:
              $ref: '#/components/schemas/amount_breakdown'
    payee:
      title: payee
      description: >-
        The merchant who receives the funds and fulfills the order. The merchant
        is also known as the payee.
      type: object
      allOf:
        - $ref: '#/components/schemas/payee_base'
        - type: object
    payment_method:
      title: payment_method
      description: Set of unique payment methods.
      type: string
      enum:
        - PAYPAL
        - VENMO
        - PAYPAL_CREDIT
        - PAYPAL_PAY_LATER
        - ACH
      x-enumDescriptions:
        PAYPAL: PAYPAL
        VENMO: VENMO
        PAYPAL_CREDIT: PAYPAL_CREDIT
        PAYPAL_PAY_LATER: PAYPAL_PAY_LATER
        ACH: ACH
    paypal:
      title: Response for PayPal
      description: Response for PayPal.
      type: object
      allOf:
        - $ref: '#/components/schemas/payment_method_common'
        - type: object
          properties:
            eligible_in_paypal_network:
              $ref: '#/components/schemas/payment_method_eligible_in_paypal_network'
            recommended:
              description: >-
                Indicates if the payment method is recommended or not. A true
                value indicates the customer is payment ready and this payment
                method may be presented upfront.
              type: boolean
              default: 'false'
            recommended_priority:
              description: >-
                This value is included in the response when recommended is true
                for a payment method. It indicates the priority of
                recommendation for payment readiness of eligible payment methods
                with lowest number taking the highest precedence.
              type: integer
              minimum: 1
              maximum: 3
    venmo:
      title: Response for Venmo
      description: Response for Venmo.
      type: object
      allOf:
        - $ref: '#/components/schemas/payment_method_common'
        - type: object
          properties:
            eligible_in_paypal_network:
              $ref: '#/components/schemas/payment_method_eligible_in_paypal_network'
            recommended:
              description: >-
                Indicates if the payment method is recommended or not. A true
                value indicates the customer is payment ready and this payment
                method may be presented upfront.
              type: boolean
              default: 'false'
            recommended_priority:
              description: >-
                This value is included in the response when recommended is true
                for a payment method. It indicates the priority of
                recommendation for payment readiness of eligible payment methods
                with lowest number taking the highest precedence.
              type: integer
              minimum: 1
              maximum: 3
    payment_method_common:
      title: Common response fields
      description: Common response fields for all payment methods.
      type: object
      properties:
        can_be_vaulted:
          description: >-
            Indicates if the payment method can be vaulted or not. A true value
            indicates the payment method can be vaulted using our vaults
            product. If false, vaulting is not currently supported for this
            payment method.
          type: boolean
          default: false
        country_code:
          allOf:
            - $ref: '#/components/schemas/country_code-2'
            - description: >-
                Returns a country_code which is derived from the buyer's
                country.
        product_code:
          allOf:
            - $ref: '#/components/schemas/credit_product_button_code'
            - description: Returns a product code.
    applepay:
      type: object
      title: Eligibility Response for ApplePay
      description: Response for ApplePay.
      allOf:
        - $ref: '#/components/schemas/payment_method_common'
        - properties:
            config:
              $ref: '#/components/schemas/applepay_config'
    googlepay:
      type: object
      title: Eligibility Response for GooglePay
      description: Response for GooglePay.
      allOf:
        - $ref: '#/components/schemas/payment_method_common'
        - properties:
            config:
              $ref: '#/components/schemas/googlepay_config'
    advanced_cards:
      type: object
      title: Advanced Cards Config
      description: >-
        Configuration details for advanced card payment methods including credit
        and debit card processing capabilities.
      properties:
        can_be_vaulted:
          type: boolean
          description: Indicates if the payment method can be saved for future use.
        supports_installments:
          type: boolean
          description: Indicates if installment payment option is available.
        vendors:
          type: array
          minItems: 1
          maxItems: 100
          description: Payment card vendors configuration.
          items:
            $ref: '#/components/schemas/card_vendor'
    basic_cards:
      type: object
      title: Basic Cards Config
      description: >-
        Configuration details for basic card payment methods including credit
        and debit card processing capabilities.
      properties:
        can_be_vaulted:
          type: boolean
          description: Indicates if the payment method can be saved for future use.
        supports_installments:
          type: boolean
          description: Indicates if installment payment option is available.
        guest_enabled:
          type: boolean
          description: Indicates if guest checkout is enabled for this payment method.
        supports_inline_presentation_mode:
          type: boolean
          description: >-
            Indicates if inline presentation mode is supported for this payment
            method.
    ach:
      type: object
      title: Response for ACH
      description: Response for ACH payment method.
      properties:
        can_be_vaulted:
          description: >-
            Indicates if the payment method can be vaulted or not. A true value
            indicates the payment method can be vaulted using our vaults
            product. If false, vaulting is not currently supported for this
            payment method.
          type: boolean
          default: false
    link_schema:
      title: Link Schema
      description: The request data or link target.
      type: object
      properties:
        additionalItems:
          title: additional_items
          description: Any additional items.
          type: object
        dependencies:
          title: Dependencies
          description: The dependencies.
          type: object
        items:
          title: Items
          description: An item.
          type: object
        definitions:
          title: Definitions
          description: Definitions.
          type: object
        patternProperties:
          title: pattern_properties
          description: The pattern properties.
          type: object
        properties:
          title: Properties
          description: The properties.
          type: object
        allOf:
          title: all_of
          description: >-
            An array of sub-schemas. The data must validate against all
            sub-schemas.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            title: all_of_item
            description: A sub-schema against which the data must validate.
            type: object
        anyOf:
          title: any_of
          description: >-
            An array of sub-schemas. The data must validate against one or more
            sub-schemas.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            title: any_of_item
            description: A sub-schema against which the data must validate.
            type: object
        oneOf:
          title: one_of
          description: >-
            An array of sub-schemas. The data must validate against one
            sub-schema.
          type: array
          minItems: 0
          maxItems: 32767
          items:
            title: one_of_item
            description: A sub-schema against which the data must validate.
            type: object
        not:
          title: Not
          description: Not.
          type: object
        links:
          description: An array of links.
          type: array
          minItems: 0
          maxItems: 32767
          readOnly: true
          items:
            title: link
            description: A link.
            type: object
            readOnly: true
        fragmentResolution:
          title: fragment_resolution
          description: The fragment resolution.
          type: string
          minLength: 0
          maxLength: 2147483647
          pattern: ^[\S\s]*$
        media:
          title: Media
          description: The media type and context-encoding scheme.
          type: object
          properties:
            type:
              description: >-
                The media type. See [Multipurpose Internet Mail Extensions
                (MIME) Part Two: Media
                Types](https://tools.ietf.org/html/rfc2046).
              type: string
              minLength: 0
              maxLength: 2147483647
              pattern: ^[\S\s]*$
            binaryEncoding:
              title: binary_encoding
              description: >-
                The content-encoding scheme. See [Multipurpose Internet Mail
                Extensions (MIME) Part One: Format of Internet Message
                Bodies](https://tools.ietf.org/html/rfc2045).
              type: string
              minLength: 0
              maxLength: 2147483647
              pattern: ^[\S\s]*$
        pathStart:
          title: path_start
          description: >-
            To apply this schema to the instances' URIs, start the URIs with
            this value.
          type: string
          minLength: 0
          maxLength: 2147483647
          format: uri
    money:
      title: Money
      description: >-
        The currency and amount for a financial transaction, such as a balance
        or payment due.
      type: object
      required:
        - currency_code
        - value
      properties:
        currency_code:
          $ref: '#/components/schemas/currency_code'
        value:
          description: >-
            The value, which might be:<ul><li>An integer for currencies like
            `JPY` that are not typically fractional.</li><li>A decimal fraction
            for currencies like `TND` that are subdivided into
            thousandths.</li></ul>For the required number of decimal places for
            a currency code, see [Currency
            Codes](/api/rest/reference/currency-codes/).
          type: string
          minLength: 0
          maxLength: 32
          pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
    amount_breakdown:
      title: amount_breakdown
      description: >-
        The breakdown of the amount. Breakdown provides details such as total
        item amount, total tax amount, shipping, handling, insurance, and
        discounts, if any.
      type: object
      properties:
        item_total:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The subtotal for all items. Required if the request includes
                `purchase_units[].items[].unit_amount`. Must equal the sum of
                `(items[].unit_amount * items[].quantity)` for all items.
                <code>item_total.value</code> can not be a negative number.
        shipping:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The shipping fee for all items within a given `purchase_unit`.
                <code>shipping.value</code> can not be a negative number.
        handling:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The handling fee for all items within a given `purchase_unit`.
                <code>handling.value</code> can not be a negative number.
        tax_total:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The total tax for all items. Required if the request includes
                `purchase_units.items.tax`. Must equal the sum of `(items[].tax
                * items[].quantity)` for all items. <code>tax_total.value</code>
                can not be a negative number.
        insurance:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The insurance fee for all items within a given `purchase_unit`.
                <code>insurance.value</code> can not be a negative number.
        shipping_discount:
          allOf:
            - $ref: '#/components/schemas/money'
            - description: >-
                The shipping discount for all items within a given
                `purchase_unit`. <code>shipping_discount.value</code> can not be
                a negative number.
        discount:
          allOf:
            - $ref: '#/components/schemas/discount_with_breakdown'
            - description: >-
                The discount for all items within a given `purchase_unit`.
                <code>discount.value</code> can not be a negative number.
    payee_base:
      title: payee_base
      description: >-
        The details for the merchant who receives the funds and fulfills the
        order. The merchant is also known as the payee.
      type: object
      properties:
        email_address:
          allOf:
            - $ref: '#/components/schemas/email'
            - description: The email address of merchant.
        merchant_id:
          allOf:
            - $ref: '#/components/schemas/account_id-2'
            - description: The encrypted PayPal account ID of the merchant.
    payment_method_eligible_in_paypal_network:
      title: PayPal services member indicator
      description: >-
        Flag that indicates if the customer is in the PayPal network. This value
        will be included in the response if the include_account_details flag is
        set to "true" in the API request.
      type: boolean
    credit_product_button_code:
      title: Credit Button Eligibility Button Code
      description: >-
        The button code corresponding to a particular product or set of
        products. The values followed are defined by the SDK team.
      type: string
      enum:
        - CREDIT
        - PAYLATER
        - PAY_IN_3
        - PAY_IN_4
      x-enumDescriptions:
        CREDIT: Open ended credit products.
        PAYLATER: Pay Later suite of products.
        PAY_IN_3: Pay In 3 suite of products.
        PAY_IN_4: Pay In 4 suite of products.
    applepay_config:
      type: object
      title: Apple Pay Config
      description: Configuration details for Apple Pay payment method.
      properties:
        eligible:
          type: boolean
          description: Indicates if Apple Pay is eligible.
        merchant_country:
          allOf:
            - $ref: '#/components/schemas/country_code-2'
            - description: Merchant country code.
        supported_networks:
          type: array
          minItems: 1
          maxItems: 100
          description: Supported card networks.
          items:
            type: string
            description: Supported card network identifier.
            enum:
              - MASTERCARD
              - DISCOVER
              - VISA
              - AMEX
            x-enumDescriptions:
              MASTERCARD: MasterCard network.
              DISCOVER: Discover network.
              VISA: Visa network.
              AMEX: American Express network.
        merchant_capabilities:
          type: array
          description: An array of the payment capabilities that the merchant supports.
          minItems: 1
          maxItems: 10
          items:
            type: string
            description: Merchant payment capability identifier.
            enum:
              - SUPPORTS_CREDIT
              - SUPPORTS_DEBIT
              - SUPPORTS_3DS
            x-enumDescriptions:
              SUPPORTS_CREDIT: Merchant supports credit card payments.
              SUPPORTS_DEBIT: Merchant supports debit card payments.
              SUPPORTS_3DS: Merchant supports 3D Secure authentication.
        token_notification_url:
          type: string
          minLength: 10
          maxLength: 2000
          description: Token notification url for recurring payment request.
          format: uri
      required:
        - eligible
        - merchant_country
        - supported_networks
        - merchant_capabilities
        - token_notification_url
    googlepay_config:
      type: object
      title: Google Pay Config
      description: Configuration details for Google Pay payment method.
      properties:
        eligible:
          type: boolean
          description: Indicates if Google Pay is eligible.
        merchant_country:
          allOf:
            - $ref: '#/components/schemas/country_code-2'
            - description: Merchant country code.
        api_version:
          type: integer
          minimum: 1
          maximum: 10
          description: Google Pay API version.
        api_version_minor:
          type: integer
          minimum: 1
          maximum: 10
          description: Google Pay API minor version.
        allowed_payment_methods:
          type: array
          description: Allowed payment methods for Google Pay.
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/googlepay_payment_method'
        merchant_info:
          $ref: '#/components/schemas/googlepay_merchant_info'
    card_vendor:
      type: object
      title: Card Vendor
      description: Configuration for a specific card vendor or network.
      properties:
        network:
          allOf:
            - $ref: '#/components/schemas/card_brand-2'
            - description: The card network identifier.
        eligible:
          type: boolean
          description: Indicates if the vendor is eligible.
        can_be_vaulted:
          type: boolean
          description: >-
            Indicates if the vendor's payment method can be saved for future
            use.
        branded:
          type: boolean
          description: Indicates if the vendor has branded customization.
      required:
        - network
        - eligible
        - can_be_vaulted
        - branded
    currency_code:
      description: >-
        The [three-character ISO-4217 currency
        code](/api/rest/reference/currency-codes/) that identifies the currency.
      type: string
      minLength: 3
      maxLength: 3
      pattern: ^[\S\s]*$
    discount_with_breakdown:
      title: discount_with_breakdown
      description: >-
        The discount amount and currency code. For list of supported currencies
        and decimal precision, see the PayPal REST APIs <a
        href="/docs/integration/direct/rest/currency-codes/">Currency Codes</a>.
      type: object
      allOf:
        - $ref: '#/components/schemas/money'
        - type: object
    email:
      title: email
      description: >-
        The internationalized email address.<blockquote><strong>Note:</strong>
        Up to 64 characters are allowed before and 255 characters are allowed
        after the <code>@</code> sign. However, the generally accepted maximum
        length for an email address is 254 characters. The pattern verifies that
        an unquoted <code>@</code> sign exists.</blockquote>
      type: string
      minLength: 3
      maxLength: 254
      pattern: >-
        ^.*(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]).*$
    account_id-2:
      title: PayPal Account Identifier
      description: The account identifier for a PayPal account.
      type: string
      minLength: 13
      maxLength: 13
      pattern: ^[2-9A-HJ-NP-Z]{13}$
    googlepay_payment_method:
      type: object
      title: Payment Method
      description: Configuration for a specific payment method supported by Google Pay.
      properties:
        type:
          type: string
          enum:
            - CARD
          x-enumDescriptions:
            CARD: Card payment method.
          description: Type of payment method.
        parameters:
          $ref: '#/components/schemas/googlepay_payment_method_parameters'
        tokenization_specification:
          $ref: '#/components/schemas/googlepay_tokenization_specification'
    googlepay_merchant_info:
      type: object
      title: Merchant Information
      description: Merchant-specific information required for Google Pay integration.
      properties:
        merchant_origin:
          type: string
          minLength: 4
          maxLength: 253
          pattern: ^[a-zA-Z0-9.-]+$
          description: Merchant origin.
        merchant_id:
          allOf:
            - $ref: '#/components/schemas/account_id-2'
            - description: Merchant ID.
        googlepay_partner_domain_verification_jwt:
          type: string
          minLength: 10
          maxLength: 2000
          pattern: ^[A-Za-z0-9_.-]+$
          description: >-
            JWT token used for Google Pay partner domain verification to
            authenticate the merchant's domain.
    card_brand-2:
      description: The card brand.
      type: string
      enum:
        - AMEX
        - CB_NATIONALE
        - CETELEM
        - COFIDIS
        - COFINOGA
        - CHINA_UNION_PAY
        - DELTA
        - DISCOVER
        - ELECTRON
        - ELO
        - HIPER
        - HIPERCARD
        - JCB
        - MAESTRO
        - MASTER_CARD
        - SOLO
        - STAR
        - SWITCH
        - VISA
        - GE
        - RUPAY
        - SYNCHRONY
        - DINERS
        - GIROCARD
        - CARNET
        - V_PAY
      x-enumDescriptions:
        AMEX: The American Express payment network.
        CB_NATIONALE: >-
          Carte Bleue Nationale (CBN), a major debit card payment system
          operating in France.
        CETELEM: >-
          Cetelem, a brand of BNP Paribas Personal Finance, is a French
          financial institution specializing in financing individuals consumer
          credit activities.
        COFIDIS: >-
          Cofidis is a French company, now majority owned by the Crédit Mutuel,
          based in Villeneuve-d'Ascq, that offers a payment method that allows
          you to make bank card payments in 3 or 4 times, PayPal payment in 4
          times, or one Euro consumer credit.
        COFINOGA: >-
          Cofinoga, a brand of BNP Paribas Personal Finance, is a credit
          specialist in France. It offers a card that allows you to pay for
          credit online purchases.
        CHINA_UNION_PAY: >-
          China UnionPay (CUP) or UnionPay International (UPI) is a Chinese
          financial services corporation headquartered in Shanghai, China. It
          provides bank card services and a major card scheme in mainland China.
        DELTA: The Delta Air Lines online payment network.
        DISCOVER: >-
          The Discover Financial Services (DFS) banking and payment services
          capability network.
        ELECTRON: >-
          The Visa Electron debit card payment network. It's offered by issuing
          banks in every country with the exception of Canada, Australia,
          Argentina, Ireland, and the United States.
        ELO: The Brazilian Elo card payment network.
        HIPER: The Hiper - Ingenico ePayment network.
        HIPERCARD: >-
          The Brazilian Hipercard payment network that's widely accepted in the
          retail market.
        JCB: The Japan Credit Bureau (JCB) card payment network.
        MAESTRO: The Maestro debit card payment network owned by Mastercard.
        MASTER_CARD: The Mastercard Incorporated payment network.
        SOLO: The Hatton National BankFinance's SOLO digital wallet payment network.
        STAR: The STAR payment network.
        SWITCH: The Switch payment network.
        VISA: The Visa Inc. payment network.
        GE: The GE Credit Union 3Point card payment network.
        RUPAY: The RuPay payment network.
        SYNCHRONY: The Synchrony Financial (SYF) payment network.
        DINERS: >-
          The Diners Club International banking and payment services capability
          network owned by Discover Financial Services (DFS), one of the most
          recognized brands in US financial services.
        GIROCARD: >-
          Girocard is an interbank network and debit card service connecting
          virtually all German ATMs and banks.
        CARNET: Carnet is a fuel card.
        V_PAY: >-
          V Pay is a Single Euro Payments Area (SEPA) debit card for use in
          Europe, issued by Visa Europe.
    googlepay_payment_method_parameters:
      type: object
      title: Payment Method Parameters
      description: Parameters specific to the payment method configuration.
      properties:
        allowed_auth_methods:
          type: array
          minItems: 1
          maxItems: 100
          items:
            type: string
            description: Authentication method identifier for Google Pay transactions.
            enum:
              - PAN_ONLY
              - CRYPTOGRAM_3DS
            x-enumDescriptions:
              PAN_ONLY: Authentication method using only the primary account number.
              CRYPTOGRAM_3DS: Authentication method using 3DS cryptogram.
          description: Allowed authentication methods.
        supported_networks:
          type: array
          minItems: 1
          maxItems: 100
          items:
            type: string
            description: Supported card network identifier for Google Pay.
            enum:
              - MASTERCARD
              - DISCOVER
              - VISA
              - AMEX
            x-enumDescriptions:
              MASTERCARD: MasterCard network.
              DISCOVER: Discover network.
              VISA: Visa network.
              AMEX: American Express network.
          description: Allowed card networks.
        billing_address_required:
          type: boolean
          description: Whether billing address is required.
        assurance_details_required:
          type: boolean
          description: Whether assurance details are required.
        billing_address_parameters:
          $ref: '#/components/schemas/googlepay_billing_address_parameters'
    googlepay_tokenization_specification:
      type: object
      title: Tokenization Specification
      description: Specification for payment method tokenization in Google Pay.
      properties:
        type:
          type: string
          enum:
            - PAYMENT_GATEWAY
          x-enumDescriptions:
            PAYMENT_GATEWAY: Tokenization using a payment gateway.
          description: Tokenization type.
        parameters:
          $ref: '#/components/schemas/googlepay_tokenization_parameters'
    googlepay_billing_address_parameters:
      type: object
      title: Billing Address Parameters
      description: Configuration parameters for billing address collection in Google Pay.
      properties:
        format:
          type: string
          enum:
            - FULL
          x-enumDescriptions:
            FULL: Full billing address format.
          description: Billing address format.
    googlepay_tokenization_parameters:
      type: object
      title: Tokenization Parameters
      description: Parameters for configuring payment tokenization with the gateway.
      properties:
        gateway:
          type: string
          minLength: 2
          maxLength: 255
          pattern: ^[a-zA-Z0-9_-]+$
          description: Payment gateway name.
        gateway_merchant_id:
          allOf:
            - $ref: '#/components/schemas/account_id-2'
            - description: Gateway merchant ID.
  responses:
    401_error_response:
      description: Unauthorized.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            generic:
              summary: Generic 'Unauthorized' error.
              description: Example response for unauthorized request.
              value:
                name: AUTHENTICATION_FAILURE
                debug_id: b1d1f06c7246c
                message: >-
                  Authentication failed due to missing Authorization header, or
                  invalid authentication credentials.
    403_error_response:
      description: Forbidden.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            generic:
              summary: Generic 'Forbidden' error.
              description: Example response for a forbidden request.
              value:
                name: NOT_AUTHORIZED
                debug_id: b1d1f06c7246c
                message: Authorization failed due to insufficient permissions.
    500_error_response:
      description: Internal Server Error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            generic:
              summary: Generic internal server error.
              description: >-
                Example response for a request that fails for reasons internal
                to the server.
              value:
                name: INTERNAL_SERVER_ERROR
                debug_id: b1d1f06c7246c
                message: An internal server error has occurred.
    default_response:
      description: Default response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            generic:
              summary: Default response.
              description: >-
                Example catch all response, should not be encountered in
                practice.
              value:
                name: INTERNAL_SERVER_ERROR
                debug_id: b1d1f06c7246c
                message: An internal server error has occurred.
  securitySchemes:
    Oauth2:
      type: oauth2
      description: OAuth 2.0 authentication
      flows:
        clientCredentials:
          tokenUrl: https://api-m.paypal.com/v1/oauth2/token
          scopes:
            https://uri.paypal.com/services/payments/payment/authcapture: >-
              Permission to do non-real time payments like capture on
              authorization
            https://uri.paypal.com/services/payments/refund: Permission to initiate a refund on a capture transaction
            https://uri.paypal.com/services/payments/non-referenced-credit: Permission to initiate non referenced credit
            https://uri.paypal.com/services/payments/realtimepayment: >-
              Permission to do any real time payment, with support for
              sale/authorize/order intents
            https://uri.paypal.com/services/payments/reversepayment: Permission to do any reverse payment
            https://uri.paypal.com/services/payments/payments-ready: Permission to get information about payment readiness.
            Braintree:PaymentsReady: Permission to call PaymentsReady via BrainTree SDK.
            https://uri.paypal.com/services/payments/client-payments-eligibility: >-
              Permission to get information about merchant's eligible payment
              methods.

````