Open Context Protocol is live! 🚀 Read the launch post
getPaymentMethods

getPaymentMethods

List PaymentMethods

Details

  • Method: GET
  • Path: /v1/payment_methods
  • Operation ID: GetPaymentMethods

Parameters

{
  "allow_redisplay": {
    "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "always",
      "limited",
      "unspecified"
    ]
  },
  "customer": {
    "description": "The ID of the customer whose PaymentMethods will be retrieved.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "customer_account": {
    "description": "The ID of the Account whose PaymentMethods will be retrieved.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "ending_before": {
    "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "expand": {
    "description": "Specifies which fields in the response should be expanded.",
    "required": false,
    "location": "query",
    "type": "array"
  },
  "limit": {
    "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
    "required": false,
    "location": "query",
    "type": "integer"
  },
  "starting_after": {
    "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "type": {
    "description": "Filters the list by the object `type` field. Unfiltered, the list returns all payment method types except `custom`. If your integration expects only one type of payment method in the response, specify that type value in the request to reduce your payload.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "acss_debit",
      "affirm",
      "afterpay_clearpay",
      "alipay",
      "alma",
      "amazon_pay",
      "au_becs_debit",
      "bacs_debit",
      "bancontact",
      "billie",
      "blik",
      "boleto",
      "card",
      "cashapp",
      "crypto",
      "custom",
      "customer_balance",
      "eps",
      "fpx",
      "giropay",
      "grabpay",
      "ideal",
      "kakao_pay",
      "klarna",
      "konbini",
      "kr_card",
      "link",
      "mb_way",
      "mobilepay",
      "multibanco",
      "naver_pay",
      "nz_bank_account",
      "oxxo",
      "p24",
      "pay_by_bank",
      "payco",
      "paynow",
      "paypal",
      "payto",
      "pix",
      "promptpay",
      "revolut_pay",
      "samsung_pay",
      "satispay",
      "sepa_debit",
      "sofort",
      "swish",
      "twint",
      "us_bank_account",
      "wechat_pay",
      "zip"
    ]
  }
}

Response Schema

{
  "description": "",
  "properties": {
    "data": {
      "items": {
        "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://docs.stripe.com/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://docs.stripe.com/payments/payment-methods) and [More Payment Scenarios](https://docs.stripe.com/payments/more-payment-scenarios).",
        "properties": {
          "acss_debit": {
            "description": "",
            "properties": {
              "bank_name": {
                "description": "Name of the bank associated with the bank account.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "fingerprint": {
                "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "institution_number": {
                "description": "Institution number of the bank account.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "last4": {
                "description": "Last four digits of the bank account number.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "transit_number": {
                "description": "Transit number of the bank account.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_acss_debit",
            "type": "object",
            "x-expandableFields": []
          },
          "affirm": {
            "description": "",
            "properties": {},
            "title": "payment_method_affirm",
            "type": "object",
            "x-expandableFields": []
          },
          "afterpay_clearpay": {
            "description": "",
            "properties": {},
            "title": "payment_method_afterpay_clearpay",
            "type": "object",
            "x-expandableFields": []
          },
          "alipay": {
            "description": "",
            "properties": {},
            "title": "PaymentFlowsPrivatePaymentMethodsAlipay",
            "type": "object",
            "x-expandableFields": []
          },
          "allow_redisplay": {
            "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”.",
            "enum": [
              "always",
              "limited",
              "unspecified"
            ],
            "type": "string"
          },
          "alma": {
            "description": "",
            "properties": {},
            "title": "payment_method_alma",
            "type": "object",
            "x-expandableFields": []
          },
          "amazon_pay": {
            "description": "",
            "properties": {},
            "title": "payment_method_amazon_pay",
            "type": "object",
            "x-expandableFields": []
          },
          "au_becs_debit": {
            "description": "",
            "properties": {
              "bsb_number": {
                "description": "Six-digit number identifying bank and branch associated with this bank account.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "fingerprint": {
                "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "last4": {
                "description": "Last four digits of the bank account number.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_au_becs_debit",
            "type": "object",
            "x-expandableFields": []
          },
          "bacs_debit": {
            "description": "",
            "properties": {
              "fingerprint": {
                "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "last4": {
                "description": "Last four digits of the bank account number.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "sort_code": {
                "description": "Sort code of the bank account. (e.g., `10-20-30`)",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_bacs_debit",
            "type": "object",
            "x-expandableFields": []
          },
          "bancontact": {
            "description": "",
            "properties": {},
            "title": "payment_method_bancontact",
            "type": "object",
            "x-expandableFields": []
          },
          "billie": {
            "description": "",
            "properties": {},
            "title": "payment_method_billie",
            "type": "object",
            "x-expandableFields": []
          },
          "billing_details": {
            "description": "",
            "properties": {
              "address": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/address"
                  }
                ],
                "description": "Billing address.",
                "nullable": true
              },
              "email": {
                "description": "Email address.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "name": {
                "description": "Full name.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "phone": {
                "description": "Billing phone number (including extension).",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "tax_id": {
                "description": "Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "billing_details",
            "type": "object",
            "x-expandableFields": [
              "address"
            ]
          },
          "blik": {
            "description": "",
            "properties": {},
            "title": "payment_method_blik",
            "type": "object",
            "x-expandableFields": []
          },
          "boleto": {
            "description": "",
            "properties": {
              "tax_id": {
                "description": "Uniquely identifies the customer tax id (CNPJ or CPF)",
                "maxLength": 5000,
                "type": "string"
              }
            },
            "required": [
              "tax_id"
            ],
            "title": "payment_method_boleto",
            "type": "object",
            "x-expandableFields": []
          },
          "card": {
            "description": "",
            "properties": {
              "brand": {
                "description": "Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`.",
                "maxLength": 5000,
                "type": "string"
              },
              "checks": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_method_card_checks"
                  }
                ],
                "description": "Checks on Card address and CVC if provided.",
                "nullable": true
              },
              "country": {
                "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "display_brand": {
                "description": "The brand to use when displaying the card, this accounts for customer's brand choice on dual-branded cards. Can be `american_express`, `cartes_bancaires`, `diners_club`, `discover`, `eftpos_australia`, `interac`, `jcb`, `mastercard`, `union_pay`, `visa`, or `other` and may contain more values in the future.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "exp_month": {
                "description": "Two-digit number representing the card's expiration month.",
                "type": "integer"
              },
              "exp_year": {
                "description": "Four-digit number representing the card's expiration year.",
                "type": "integer"
              },
              "fingerprint": {
                "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "funding": {
                "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.",
                "maxLength": 5000,
                "type": "string"
              },
              "generated_from": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_method_card_generated_card"
                  }
                ],
                "description": "Details of the original PaymentMethod that created this object.",
                "nullable": true
              },
              "last4": {
                "description": "The last four digits of the card.",
                "maxLength": 5000,
                "type": "string"
              },
              "networks": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/networks"
                  }
                ],
                "description": "Contains information about card networks that can be used to process the payment.",
                "nullable": true
              },
              "regulated_status": {
                "description": "Status of a card based on the card issuer.",
                "enum": [
                  "regulated",
                  "unregulated"
                ],
                "nullable": true,
                "type": "string"
              },
              "three_d_secure_usage": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/three_d_secure_usage"
                  }
                ],
                "description": "Contains details on how this Card may be used for 3D Secure authentication.",
                "nullable": true
              },
              "wallet": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_method_card_wallet"
                  }
                ],
                "description": "If this Card is part of a card wallet, this contains the details of the card wallet.",
                "nullable": true
              }
            },
            "required": [
              "brand",
              "exp_month",
              "exp_year",
              "funding",
              "last4"
            ],
            "title": "payment_method_card",
            "type": "object",
            "x-expandableFields": [
              "checks",
              "generated_from",
              "networks",
              "three_d_secure_usage",
              "wallet"
            ]
          },
          "card_present": {
            "description": "",
            "properties": {
              "brand": {
                "description": "Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "brand_product": {
                "description": "The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "cardholder_name": {
                "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "country": {
                "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "description": {
                "description": "A high-level description of the type of cards issued in this range.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "exp_month": {
                "description": "Two-digit number representing the card's expiration month.",
                "type": "integer"
              },
              "exp_year": {
                "description": "Four-digit number representing the card's expiration year.",
                "type": "integer"
              },
              "fingerprint": {
                "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "funding": {
                "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "issuer": {
                "description": "The name of the card's issuing bank.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "last4": {
                "description": "The last four digits of the card.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "networks": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_method_card_present_networks"
                  }
                ],
                "description": "Contains information about card networks that can be used to process the payment.",
                "nullable": true
              },
              "offline": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_method_details_card_present_offline"
                  }
                ],
                "description": "Details about payment methods collected offline.",
                "nullable": true
              },
              "preferred_locales": {
                "description": "The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip.",
                "items": {
                  "maxLength": 5000,
                  "type": "string"
                },
                "nullable": true,
                "type": "array"
              },
              "read_method": {
                "description": "How card details were read in this transaction.",
                "enum": [
                  "contact_emv",
                  "contactless_emv",
                  "contactless_magstripe_mode",
                  "magnetic_stripe_fallback",
                  "magnetic_stripe_track2"
                ],
                "nullable": true,
                "type": "string"
              },
              "wallet": {
                "description": "",
                "properties": {
                  "type": {
                    "description": "The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`.",
                    "enum": [
                      "apple_pay",
                      "google_pay",
                      "samsung_pay",
                      "unknown"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "title": "PaymentFlowsPrivatePaymentMethodsCardPresentCommonWallet",
                "type": "object",
                "x-expandableFields": []
              }
            },
            "required": [
              "exp_month",
              "exp_year"
            ],
            "title": "payment_method_card_present",
            "type": "object",
            "x-expandableFields": [
              "networks",
              "offline",
              "wallet"
            ]
          },
          "cashapp": {
            "description": "",
            "properties": {
              "buyer_id": {
                "description": "A unique and immutable identifier assigned by Cash App to every buyer.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "cashtag": {
                "description": "A public identifier for buyers using Cash App.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_cashapp",
            "type": "object",
            "x-expandableFields": []
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "crypto": {
            "description": "",
            "properties": {},
            "title": "payment_method_crypto",
            "type": "object",
            "x-expandableFields": []
          },
          "custom": {
            "description": "",
            "properties": {
              "display_name": {
                "description": "Display name of the Dashboard-only CustomPaymentMethodType.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "logo": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/custom_logo"
                  }
                ],
                "description": "Contains information about the Dashboard-only CustomPaymentMethodType logo.",
                "nullable": true
              },
              "type": {
                "description": "ID of the Dashboard-only CustomPaymentMethodType. Not expandable.",
                "maxLength": 5000,
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "title": "payment_method_custom",
            "type": "object",
            "x-expandableFields": [
              "logo"
            ]
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              }
            ],
            "description": "The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                }
              ]
            }
          },
          "customer_account": {
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "customer_balance": {
            "description": "",
            "properties": {},
            "title": "payment_method_customer_balance",
            "type": "object",
            "x-expandableFields": []
          },
          "eps": {
            "description": "",
            "properties": {
              "bank": {
                "description": "The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`.",
                "enum": [
                  "arzte_und_apotheker_bank",
                  "austrian_anadi_bank_ag",
                  "bank_austria",
                  "bankhaus_carl_spangler",
                  "bankhaus_schelhammer_und_schattera_ag",
                  "bawag_psk_ag",
                  "bks_bank_ag",
                  "brull_kallmus_bank_ag",
                  "btv_vier_lander_bank",
                  "capital_bank_grawe_gruppe_ag",
                  "deutsche_bank_ag",
                  "dolomitenbank",
                  "easybank_ag",
                  "erste_bank_und_sparkassen",
                  "hypo_alpeadriabank_international_ag",
                  "hypo_bank_burgenland_aktiengesellschaft",
                  "hypo_noe_lb_fur_niederosterreich_u_wien",
                  "hypo_oberosterreich_salzburg_steiermark",
                  "hypo_tirol_bank_ag",
                  "hypo_vorarlberg_bank_ag",
                  "marchfelder_bank",
                  "oberbank_ag",
                  "raiffeisen_bankengruppe_osterreich",
                  "schoellerbank_ag",
                  "sparda_bank_wien",
                  "volksbank_gruppe",
                  "volkskreditbank_ag",
                  "vr_bank_braunau"
                ],
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_eps",
            "type": "object",
            "x-expandableFields": []
          },
          "fpx": {
            "description": "",
            "properties": {
              "bank": {
                "description": "The customer's bank, if provided. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`.",
                "enum": [
                  "affin_bank",
                  "agrobank",
                  "alliance_bank",
                  "ambank",
                  "bank_islam",
                  "bank_muamalat",
                  "bank_of_china",
                  "bank_rakyat",
                  "bsn",
                  "cimb",
                  "deutsche_bank",
                  "hong_leong_bank",
                  "hsbc",
                  "kfh",
                  "maybank2e",
                  "maybank2u",
                  "ocbc",
                  "pb_enterprise",
                  "public_bank",
                  "rhb",
                  "standard_chartered",
                  "uob"
                ],
                "type": "string"
              }
            },
            "required": [
              "bank"
            ],
            "title": "payment_method_fpx",
            "type": "object",
            "x-expandableFields": []
          },
          "giropay": {
            "description": "",
            "properties": {},
            "title": "payment_method_giropay",
            "type": "object",
            "x-expandableFields": []
          },
          "grabpay": {
            "description": "",
            "properties": {},
            "title": "payment_method_grabpay",
            "type": "object",
            "x-expandableFields": []
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "ideal": {
            "description": "",
            "properties": {
              "bank": {
                "description": "The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `buut`, `finom`, `handelsbanken`, `ing`, `knab`, `mollie`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.",
                "enum": [
                  "abn_amro",
                  "asn_bank",
                  "bunq",
                  "buut",
                  "finom",
                  "handelsbanken",
                  "ing",
                  "knab",
                  "mollie",
                  "moneyou",
                  "n26",
                  "nn",
                  "rabobank",
                  "regiobank",
                  "revolut",
                  "sns_bank",
                  "triodos_bank",
                  "van_lanschot",
                  "yoursafe"
                ],
                "nullable": true,
                "type": "string"
              },
              "bic": {
                "description": "The Bank Identifier Code of the customer's bank, if the bank was provided.",
                "enum": [
                  "ABNANL2A",
                  "ASNBNL21",
                  "BITSNL2A",
                  "BUNQNL2A",
                  "BUUTNL2A",
                  "FNOMNL22",
                  "FVLBNL22",
                  "HANDNL2A",
                  "INGBNL2A",
                  "KNABNL2H",
                  "MLLENL2A",
                  "MOYONL21",
                  "NNBANL2G",
                  "NTSBDEB1",
                  "RABONL2U",
                  "RBRBNL21",
                  "REVOIE23",
                  "REVOLT21",
                  "SNSBNL2A",
                  "TRIONL2U"
                ],
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_ideal",
            "type": "object",
            "x-expandableFields": []
          },
          "interac_present": {
            "description": "",
            "properties": {
              "brand": {
                "description": "Card brand. Can be `interac`, `mastercard` or `visa`.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "cardholder_name": {
                "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "country": {
                "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "description": {
                "description": "A high-level description of the type of cards issued in this range.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "exp_month": {
                "description": "Two-digit number representing the card's expiration month.",
                "type": "integer"
              },
              "exp_year": {
                "description": "Four-digit number representing the card's expiration year.",
                "type": "integer"
              },
              "fingerprint": {
                "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "funding": {
                "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "issuer": {
                "description": "The name of the card's issuing bank.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "last4": {
                "description": "The last four digits of the card.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "networks": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_method_card_present_networks"
                  }
                ],
                "description": "Contains information about card networks that can be used to process the payment.",
                "nullable": true
              },
              "preferred_locales": {
                "description": "The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip.",
                "items": {
                  "maxLength": 5000,
                  "type": "string"
                },
                "nullable": true,
                "type": "array"
              },
              "read_method": {
                "description": "How card details were read in this transaction.",
                "enum": [
                  "contact_emv",
                  "contactless_emv",
                  "contactless_magstripe_mode",
                  "magnetic_stripe_fallback",
                  "magnetic_stripe_track2"
                ],
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "exp_month",
              "exp_year"
            ],
            "title": "payment_method_interac_present",
            "type": "object",
            "x-expandableFields": [
              "networks"
            ]
          },
          "kakao_pay": {
            "description": "",
            "properties": {},
            "title": "payment_method_kakao_pay",
            "type": "object",
            "x-expandableFields": []
          },
          "klarna": {
            "description": "",
            "properties": {
              "dob": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_flows_private_payment_methods_klarna_dob"
                  }
                ],
                "description": "The customer's date of birth, if provided.",
                "nullable": true
              }
            },
            "title": "payment_method_klarna",
            "type": "object",
            "x-expandableFields": [
              "dob"
            ]
          },
          "konbini": {
            "description": "",
            "properties": {},
            "title": "payment_method_konbini",
            "type": "object",
            "x-expandableFields": []
          },
          "kr_card": {
            "description": "",
            "properties": {
              "brand": {
                "description": "The local credit or debit card brand.",
                "enum": [
                  "bc",
                  "citi",
                  "hana",
                  "hyundai",
                  "jeju",
                  "jeonbuk",
                  "kakaobank",
                  "kbank",
                  "kdbbank",
                  "kookmin",
                  "kwangju",
                  "lotte",
                  "mg",
                  "nh",
                  "post",
                  "samsung",
                  "savingsbank",
                  "shinhan",
                  "shinhyup",
                  "suhyup",
                  "tossbank",
                  "woori"
                ],
                "nullable": true,
                "type": "string"
              },
              "last4": {
                "description": "The last four digits of the card. This may not be present for American Express cards.",
                "maxLength": 4,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_kr_card",
            "type": "object",
            "x-expandableFields": []
          },
          "link": {
            "description": "",
            "properties": {
              "email": {
                "description": "Account owner's email address.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_link",
            "type": "object",
            "x-expandableFields": []
          },
          "livemode": {
            "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
            "type": "boolean"
          },
          "mb_way": {
            "description": "",
            "properties": {},
            "title": "payment_method_mb_way",
            "type": "object",
            "x-expandableFields": []
          },
          "metadata": {
            "additionalProperties": {
              "maxLength": 500,
              "type": "string"
            },
            "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
            "nullable": true,
            "type": "object"
          },
          "mobilepay": {
            "description": "",
            "properties": {},
            "title": "payment_method_mobilepay",
            "type": "object",
            "x-expandableFields": []
          },
          "multibanco": {
            "description": "",
            "properties": {},
            "title": "payment_method_multibanco",
            "type": "object",
            "x-expandableFields": []
          },
          "naver_pay": {
            "description": "",
            "properties": {
              "buyer_id": {
                "description": "Uniquely identifies this particular Naver Pay account. You can use this attribute to check whether two Naver Pay accounts are the same.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "funding": {
                "description": "Whether to fund this transaction with Naver Pay points or a card.",
                "enum": [
                  "card",
                  "points"
                ],
                "type": "string",
                "x-stripeBypassValidation": true
              }
            },
            "required": [
              "funding"
            ],
            "title": "payment_method_naver_pay",
            "type": "object",
            "x-expandableFields": []
          },
          "nz_bank_account": {
            "description": "",
            "properties": {
              "account_holder_name": {
                "description": "The name on the bank account. Only present if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod’s billing details.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "bank_code": {
                "description": "The numeric code for the bank account's bank.",
                "maxLength": 5000,
                "type": "string"
              },
              "bank_name": {
                "description": "The name of the bank.",
                "maxLength": 5000,
                "type": "string"
              },
              "branch_code": {
                "description": "The numeric code for the bank account's bank branch.",
                "maxLength": 5000,
                "type": "string"
              },
              "last4": {
                "description": "Last four digits of the bank account number.",
                "maxLength": 5000,
                "type": "string"
              },
              "suffix": {
                "description": "The suffix of the bank account number.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "bank_code",
              "bank_name",
              "branch_code",
              "last4"
            ],
            "title": "payment_method_nz_bank_account",
            "type": "object",
            "x-expandableFields": []
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": [
              "payment_method"
            ],
            "type": "string"
          },
          "oxxo": {
            "description": "",
            "properties": {},
            "title": "payment_method_oxxo",
            "type": "object",
            "x-expandableFields": []
          },
          "p24": {
            "description": "",
            "properties": {
              "bank": {
                "description": "The customer's bank, if provided.",
                "enum": [
                  "alior_bank",
                  "bank_millennium",
                  "bank_nowy_bfg_sa",
                  "bank_pekao_sa",
                  "banki_spbdzielcze",
                  "blik",
                  "bnp_paribas",
                  "boz",
                  "citi_handlowy",
                  "credit_agricole",
                  "envelobank",
                  "etransfer_pocztowy24",
                  "getin_bank",
                  "ideabank",
                  "ing",
                  "inteligo",
                  "mbank_mtransfer",
                  "nest_przelew",
                  "noble_pay",
                  "pbac_z_ipko",
                  "plus_bank",
                  "santander_przelew24",
                  "tmobile_usbugi_bankowe",
                  "toyota_bank",
                  "velobank",
                  "volkswagen_bank"
                ],
                "nullable": true,
                "type": "string",
                "x-stripeBypassValidation": true
              }
            },
            "title": "payment_method_p24",
            "type": "object",
            "x-expandableFields": []
          },
          "pay_by_bank": {
            "description": "",
            "properties": {},
            "title": "payment_method_pay_by_bank",
            "type": "object",
            "x-expandableFields": []
          },
          "payco": {
            "description": "",
            "properties": {},
            "title": "payment_method_payco",
            "type": "object",
            "x-expandableFields": []
          },
          "paynow": {
            "description": "",
            "properties": {},
            "title": "payment_method_paynow",
            "type": "object",
            "x-expandableFields": []
          },
          "paypal": {
            "description": "",
            "properties": {
              "country": {
                "description": "Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "payer_email": {
                "description": "Owner's email. Values are provided by PayPal directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "payer_id": {
                "description": "PayPal account PayerID. This identifier uniquely identifies the PayPal customer.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_paypal",
            "type": "object",
            "x-expandableFields": []
          },
          "payto": {
            "description": "",
            "properties": {
              "bsb_number": {
                "description": "Bank-State-Branch number of the bank account.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "last4": {
                "description": "Last four digits of the bank account number.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "pay_id": {
                "description": "The PayID alias for the bank account.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_payto",
            "type": "object",
            "x-expandableFields": []
          },
          "pix": {
            "description": "",
            "properties": {},
            "title": "payment_method_pix",
            "type": "object",
            "x-expandableFields": []
          },
          "promptpay": {
            "description": "",
            "properties": {},
            "title": "payment_method_promptpay",
            "type": "object",
            "x-expandableFields": []
          },
          "radar_options": {
            "description": "Options to configure Radar. See [Radar Session](https://docs.stripe.com/radar/radar-session) for more information.",
            "properties": {
              "session": {
                "description": "A [Radar Session](https://docs.stripe.com/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.",
                "maxLength": 5000,
                "type": "string"
              }
            },
            "title": "RadarRadarOptions",
            "type": "object",
            "x-expandableFields": []
          },
          "revolut_pay": {
            "description": "",
            "properties": {},
            "title": "payment_method_revolut_pay",
            "type": "object",
            "x-expandableFields": []
          },
          "samsung_pay": {
            "description": "",
            "properties": {},
            "title": "payment_method_samsung_pay",
            "type": "object",
            "x-expandableFields": []
          },
          "satispay": {
            "description": "",
            "properties": {},
            "title": "payment_method_satispay",
            "type": "object",
            "x-expandableFields": []
          },
          "sepa_debit": {
            "description": "",
            "properties": {
              "bank_code": {
                "description": "Bank code of bank associated with the bank account.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "branch_code": {
                "description": "Branch code of bank associated with the bank account.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "country": {
                "description": "Two-letter ISO code representing the country the bank account is located in.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "fingerprint": {
                "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "generated_from": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/sepa_debit_generated_from"
                  }
                ],
                "description": "Information about the object that generated this PaymentMethod.",
                "nullable": true
              },
              "last4": {
                "description": "Last four characters of the IBAN.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_sepa_debit",
            "type": "object",
            "x-expandableFields": [
              "generated_from"
            ]
          },
          "sofort": {
            "description": "",
            "properties": {
              "country": {
                "description": "Two-letter ISO code representing the country the bank account is located in.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              }
            },
            "title": "payment_method_sofort",
            "type": "object",
            "x-expandableFields": []
          },
          "swish": {
            "description": "",
            "properties": {},
            "title": "payment_method_swish",
            "type": "object",
            "x-expandableFields": []
          },
          "twint": {
            "description": "",
            "properties": {},
            "title": "payment_method_twint",
            "type": "object",
            "x-expandableFields": []
          },
          "type": {
            "description": "The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.",
            "enum": [
              "acss_debit",
              "affirm",
              "afterpay_clearpay",
              "alipay",
              "alma",
              "amazon_pay",
              "au_becs_debit",
              "bacs_debit",
              "bancontact",
              "billie",
              "blik",
              "boleto",
              "card",
              "card_present",
              "cashapp",
              "crypto",
              "custom",
              "customer_balance",
              "eps",
              "fpx",
              "giropay",
              "grabpay",
              "ideal",
              "interac_present",
              "kakao_pay",
              "klarna",
              "konbini",
              "kr_card",
              "link",
              "mb_way",
              "mobilepay",
              "multibanco",
              "naver_pay",
              "nz_bank_account",
              "oxxo",
              "p24",
              "pay_by_bank",
              "payco",
              "paynow",
              "paypal",
              "payto",
              "pix",
              "promptpay",
              "revolut_pay",
              "samsung_pay",
              "satispay",
              "sepa_debit",
              "sofort",
              "swish",
              "twint",
              "us_bank_account",
              "wechat_pay",
              "zip"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "us_bank_account": {
            "description": "",
            "properties": {
              "account_holder_type": {
                "description": "Account holder type: individual or company.",
                "enum": [
                  "company",
                  "individual"
                ],
                "nullable": true,
                "type": "string"
              },
              "account_type": {
                "description": "Account type: checkings or savings. Defaults to checking if omitted.",
                "enum": [
                  "checking",
                  "savings"
                ],
                "nullable": true,
                "type": "string"
              },
              "bank_name": {
                "description": "The name of the bank.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "financial_connections_account": {
                "description": "The ID of the Financial Connections Account used to create the payment method.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "fingerprint": {
                "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "last4": {
                "description": "Last four digits of the bank account number.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "networks": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/us_bank_account_networks"
                  }
                ],
                "description": "Contains information about US bank account networks that can be used.",
                "nullable": true
              },
              "routing_number": {
                "description": "Routing number of the bank account.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "status_details": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_method_us_bank_account_status_details"
                  }
                ],
                "description": "Contains information about the future reusability of this PaymentMethod.",
                "nullable": true
              }
            },
            "title": "payment_method_us_bank_account",
            "type": "object",
            "x-expandableFields": [
              "networks",
              "status_details"
            ]
          },
          "wechat_pay": {
            "description": "",
            "properties": {},
            "title": "payment_method_wechat_pay",
            "type": "object",
            "x-expandableFields": []
          },
          "zip": {
            "description": "",
            "properties": {},
            "title": "payment_method_zip",
            "type": "object",
            "x-expandableFields": []
          }
        },
        "required": [
          "billing_details",
          "created",
          "id",
          "livemode",
          "object",
          "type"
        ],
        "title": "PaymentMethod",
        "type": "object",
        "x-expandableFields": [
          "acss_debit",
          "affirm",
          "afterpay_clearpay",
          "alipay",
          "alma",
          "amazon_pay",
          "au_becs_debit",
          "bacs_debit",
          "bancontact",
          "billie",
          "billing_details",
          "blik",
          "boleto",
          "card",
          "card_present",
          "cashapp",
          "crypto",
          "custom",
          "customer",
          "customer_balance",
          "eps",
          "fpx",
          "giropay",
          "grabpay",
          "ideal",
          "interac_present",
          "kakao_pay",
          "klarna",
          "konbini",
          "kr_card",
          "link",
          "mb_way",
          "mobilepay",
          "multibanco",
          "naver_pay",
          "nz_bank_account",
          "oxxo",
          "p24",
          "pay_by_bank",
          "payco",
          "paynow",
          "paypal",
          "payto",
          "pix",
          "promptpay",
          "radar_options",
          "revolut_pay",
          "samsung_pay",
          "satispay",
          "sepa_debit",
          "sofort",
          "swish",
          "twint",
          "us_bank_account",
          "wechat_pay",
          "zip"
        ],
        "x-resourceId": "payment_method"
      },
      "type": "array"
    },
    "has_more": {
      "description": "True if this list has another page of items after this one that can be fetched.",
      "type": "boolean"
    },
    "object": {
      "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
      "enum": [
        "list"
      ],
      "type": "string"
    },
    "url": {
      "description": "The URL where this list can be accessed.",
      "maxLength": 5000,
      "pattern": "^/v1/payment_methods",
      "type": "string"
    }
  },
  "required": [
    "data",
    "has_more",
    "object",
    "url"
  ],
  "title": "PaymentFlowsPaymentMethodList",
  "type": "object",
  "x-expandableFields": [
    "data"
  ]
}

Usage

from ocp_agent import OCPAgent

agent = OCPAgent()
await agent.register_api('stripe')

# Call this tool
result = await agent.call_tool('getPaymentMethods', {
    # Add required parameters here
})