Creates a PaymentMethod object. Read the Stripe.js reference to learn how to create PaymentMethods via Stripe.js.
Instead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a payment immediately or the SetupIntent API to collect payment method details ahead of a future payment.
Parameters
- typeenumRequired
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.
Possible enum valuesacss_
debit Pre-authorized debit payments are used to debit Canadian bank accounts through the Automated Clearing Settlement System (ACSS).
affirm
Affirm is a buy now, pay later payment method in the US.
afterpay_
clearpay Afterpay / Clearpay is a buy now, pay later payment method used in Australia, Canada, France, New Zealand, Spain, the UK, and the US.
alipay
Alipay is a digital wallet payment method used in China.
alma
Alma is a Buy Now, Pay Later payment method that lets customers pay in 2, 3, or 4 installments.
amazon_
pay Amazon Pay is a Wallet payment method that lets hundreds of millions of Amazon customers pay their way, every day.
au_
becs_ debit BECS Direct Debit is used to debit Australian bank accounts through the Bulk Electronic Clearing System (BECS).
bacs_
debit Bacs Direct Debit is used to debit UK bank accounts.
bancontact
Bancontact is a bank redirect payment method used in Belgium.
billie
Billie is a payment method.
Show 40 more - billing_
detailshash Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
- billing_details.
addresshash Billing address.
- billing_details.
address. citystring City, district, suburb, town, or village.
- billing_details.
address. countrystring Two-letter country code (ISO 3166-1 alpha-2).
- billing_details.
address. line1string Address line 1 (e.g., street, PO Box, or company name).
- billing_details.
address. line2string Address line 2 (e.g., apartment, suite, unit, or building).
- billing_details.
address. postal_ codestring ZIP or postal code.
- billing_details.
address. statestring State, county, province, or region.
- billing_details.
emailstring Email address.
- billing_details.
namestring Full name.
- billing_details.
phonestring Billing phone number (including extension).
- billing_details.
tax_ idstring Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
- metadatahash
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
.
More parameters
- acss_
debithash If this is an
acss_
PaymentMethod, this hash contains details about the ACSS Debit payment method.debit - acss_debit.
account_ numberstringRequired Customer’s bank account number.
- acss_debit.
institution_ numberstringRequired Institution number of the customer’s bank.
- acss_debit.
transit_ numberstringRequired Transit number of the customer’s bank.
- affirmhash
If this is an
affirm
PaymentMethod, this hash contains details about the Affirm payment method. - afterpay_
clearpayhash If this is an
AfterpayClearpay
PaymentMethod, this hash contains details about the AfterpayClearpay payment method. - alipayhash
If this is an
Alipay
PaymentMethod, this hash contains details about the Alipay payment method. - allow_
redisplayenum 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
.Possible enum valuesalways
Use
always
to indicate that this payment method can always be shown to a customer in a checkout flow.limited
Use
limited
to indicate that this payment method can’t always be shown to a customer in a checkout flow. For example, it can only be shown in the context of a specific subscription.unspecified
This is the default value for payment methods where
allow_
wasn’t set.redisplay - almahash
If this is a Alma PaymentMethod, this hash contains details about the Alma payment method.
- amazon_
payhash If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method.
- au_
becs_ debithash If this is an
au_
PaymentMethod, this hash contains details about the bank account.becs_ debit - au_becs_debit.
account_ numberstringRequired The account number for the bank account.
- au_becs_debit.
bsb_ numberstringRequired Bank-State-Branch number of the bank account.
- bacs_
debithash If this is a
bacs_
PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.debit - bacs_debit.
account_ numberstring Account number of the bank account that the funds will be debited from.
- bacs_debit.
sort_ codestring Sort code of the bank account. (e.g.,
10-20-30
)
- bancontacthash
If this is a
bancontact
PaymentMethod, this hash contains details about the Bancontact payment method. - billiehash
If this is a
billie
PaymentMethod, this hash contains details about the Billie payment method. - blikhash
If this is a
blik
PaymentMethod, this hash contains details about the BLIK payment method. - boletohash
If this is a
boleto
PaymentMethod, this hash contains details about the Boleto payment method.- boleto.
tax_ idstringRequired The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers)
- cardhash
If this is a
card
PaymentMethod, this hash contains the user’s card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with formatcard: {token: "tok_
. When providing a card number, you must meet the requirements for PCI compliance. We strongly recommend using Stripe.js instead of interacting with this API directly.visa"} - card.
exp_ monthintegerRequired Two-digit number representing the card’s expiration month.
- card.
exp_ yearintegerRequired Four-digit number representing the card’s expiration year.
- card.
numberstringRequired The card number, as a string without any separators.
- card.
cvcstring The card’s CVC. It is highly recommended to always include this value.
- card.
networkshash Contains information about card networks used to process the payment.
- card.
networks. preferredenum The customer’s preferred card network for co-branded cards. Supports
cartes_
,bancaires mastercard
, orvisa
. Selection of a network that does not apply to the card will be stored asinvalid_
on the card.preference
- cashapphash
If this is a
cashapp
PaymentMethod, this hash contains details about the Cash App Pay payment method. - cryptohash
If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method.
- customer_
balancehash If this is a
customer_
PaymentMethod, this hash contains details about the CustomerBalance payment method.balance - epshash
If this is an
eps
PaymentMethod, this hash contains details about the EPS payment method.- eps.
bankstring The customer’s bank.
- fpxhash
If this is an
fpx
PaymentMethod, this hash contains details about the FPX payment method.- fpx.
bankstringRequired The customer’s bank.
- giropayhash
If this is a
giropay
PaymentMethod, this hash contains details about the Giropay payment method. - grabpayhash
If this is a
grabpay
PaymentMethod, this hash contains details about the GrabPay payment method. - idealhash
If this is an
ideal
PaymentMethod, this hash contains details about the iDEAL payment method.- ideal.
bankstring The customer’s bank. Only use this parameter for existing customers. Don’t use it for new customers.
- interac_
presenthashPreview feature If this is an
interac_
PaymentMethod, this hash contains details about the Interac Present payment method.present - kakao_
payhash If this is a
kakao_
PaymentMethod, this hash contains details about the Kakao Pay payment method.pay - klarnahash
If this is a
klarna
PaymentMethod, this hash contains details about the Klarna payment method.- klarna.
dobhash Customer’s date of birth
- klarna.
dob. dayintegerRequired The day of birth, between 1 and 31.
- klarna.
dob. monthintegerRequired The month of birth, between 1 and 12.
- klarna.
dob. yearintegerRequired The four-digit year of birth.
- konbinihash
If this is a
konbini
PaymentMethod, this hash contains details about the Konbini payment method. - kr_
cardhash If this is a
kr_
PaymentMethod, this hash contains details about the Korean Card payment method.card - linkhash
If this is an
Link
PaymentMethod, this hash contains details about the Link payment method. - mobilepayhash
If this is a
mobilepay
PaymentMethod, this hash contains details about the MobilePay payment method. - multibancohash
If this is a
multibanco
PaymentMethod, this hash contains details about the Multibanco payment method. - hash
If this is a
naver_
PaymentMethod, this hash contains details about the Naver Pay payment method.pay - naver_pay.
enum Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to
card
.Possible enum valuescard
Use a card to fund this transaction.
points
Use Naver Pay points to fund this transaction.
- nz_
bank_ accounthash If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method.
- nz_bank_account.
account_ numberstringRequired The account number for the bank account.
- nz_bank_account.
bank_ codestringRequired The numeric code for the bank account’s bank.
- nz_bank_account.
branch_ codestringRequired The numeric code for the bank account’s bank branch.
- nz_bank_account.
suffixstringRequired The suffix of the bank account number.
- nz_bank_account.
account_ holder_ namestring The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod’s billing details.
- oxxohash
If this is an
oxxo
PaymentMethod, this hash contains details about the OXXO payment method. - p24hash
If this is a
p24
PaymentMethod, this hash contains details about the P24 payment method.- p24.
bankenum The customer’s bank.
- pay_
by_ bankhash If this is a
pay_
PaymentMethod, this hash contains details about the PayByBank payment method.by_ bank - paycohash
If this is a
payco
PaymentMethod, this hash contains details about the PAYCO payment method. - paynowhash
If this is a
paynow
PaymentMethod, this hash contains details about the PayNow payment method. - paypalhash
If this is a
paypal
PaymentMethod, this hash contains details about the PayPal payment method. - pixhash
If this is a
pix
PaymentMethod, this hash contains details about the Pix payment method. - promptpayhash
If this is a
promptpay
PaymentMethod, this hash contains details about the PromptPay payment method. - radar_
optionshash Options to configure Radar. See Radar Session for more information.
- radar_options.
sessionstringsecret key only A Radar Session is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
- revolut_
payhash If this is a
revolut_
PaymentMethod, this hash contains details about the Revolut Pay payment method.pay - samsung_
payhash If this is a
samsung_
PaymentMethod, this hash contains details about the SamsungPay payment method.pay - satispayhash
If this is a
satispay
PaymentMethod, this hash contains details about the Satispay payment method. - sepa_
debithash If this is a
sepa_
PaymentMethod, this hash contains details about the SEPA debit bank account.debit - sepa_debit.
ibanstringRequired IBAN of the bank account.
- soforthash
If this is a
sofort
PaymentMethod, this hash contains details about the SOFORT payment method.- sofort.
countryenumRequired Two-letter ISO code representing the country the bank account is located in.
Possible enum valuesAT
Austria
BE
Belgium
DE
Germany
ES
Spain
IT
Italy
NL
Netherlands
- swishhash
If this is a
swish
PaymentMethod, this hash contains details about the Swish payment method. - twinthash
If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method.
- us_
bank_ accounthash If this is an
us_
PaymentMethod, this hash contains details about the US bank account payment method.bank_ account - us_bank_account.
account_ holder_ typeenum Account holder type: individual or company.
Possible enum valuescompany
Account belongs to a company
individual
Account belongs to an individual
- us_bank_account.
account_ numberstring Account number of the bank account.
- us_bank_account.
account_ typeenum Account type: checkings or savings. Defaults to checking if omitted.
Possible enum valueschecking
Bank account type is checking
savings
Bank account type is savings
- us_bank_account.
financial_ connections_ accountstring The ID of a Financial Connections Account to use as a payment method.
- us_bank_account.
routing_ numberstring Routing number of the bank account.
- wechat_
payhash If this is an
wechat_
PaymentMethod, this hash contains details about the wechat_pay payment method.pay - ziphash
If this is a
zip
PaymentMethod, this hash contains details about the Zip payment method.
Returns
Returns a PaymentMethod object.
{ "id": "pm_1Q0PsIJvEtkwdCNYMSaVuRz6", "object": "payment_method", "allow_redisplay": "unspecified", "billing_details": { "address": { "city": null, "country": null, "line1": null, "line2": null, "postal_code": null, "state": null }, "email": null, "name": "John Doe", "phone": null }, "created": 1726673582, "customer": null, "livemode": false, "metadata": {}, "type": "us_bank_account", "us_bank_account": { "account_holder_type": "individual", "account_type": "checking", "bank_name": "STRIPE TEST BANK", "financial_connections_account": null, "fingerprint": "LstWJFsCK7P349Bg", "last4": "6789", "networks": { "preferred": "ach", "supported": [ "ach" ] }, "routing_number": "110000000", "status_details": {} }}