PaymentMethod objects represent your customer’s payment instruments. You can use them with PaymentIntents to collect payments or save them to Customer objects to store instrument details for future payments.
Related guides: Payment Methods and More Payment Scenarios.
Attributes
- idstring
Unique identifier for the object.
- billing_
details MapBilling information associated with the PaymentMethod that may be used or required by particular types of payment methods.
- customernullable stringExpandable
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.
- metadatanullable Map
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.
- typeenum
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 79 more
More attributes
- objectstring
- acss_
debit nullable Map - affirmnullable Map
- afterpay_
clearpay nullable Map - alipaynullable Map
- allow_
redisplay nullable enum - almanullable Map
- amazon_
pay nullable Map - au_
becs_ nullable Mapdebit - bacs_
debit nullable Map - bancontactnullable Map
- billienullable Map
- bliknullable Map
- boletonullable Map
- cardnullable Map
- card_
present nullable Map - cashappnullable Map
- createdtimestamp
- customer_
balance nullable Map - epsnullable Map
- fpxnullable Map
- giropaynullable Map
- grabpaynullable Map
- idealnullable Map
- interac_
present nullable MapPreview feature - kakao_
pay nullable Map - klarnanullable Map
- konbininullable Map
- kr_
card nullable Map - linknullable Map
- livemodeboolean
- mobilepaynullable Map
- multibanconullable Map
- naver_
pay nullable Map - nz_
bank_ nullable Mapaccount - oxxonullable Map
- p24nullable Map
- pay_
by_ nullable MapPreview featurebank - payconullable Map
- paynownullable Map
- paypalnullable Map
- pixnullable Map
- promptpaynullable Map
- radar_
options nullable Map - revolut_
pay nullable Map - samsung_
pay nullable Map - satispaynullable Map
- sepa_
debit nullable Map - sofortnullable Map
- swishnullable Map
- twintnullable Map
- us_
bank_ nullable Mapaccount - wechat_
pay nullable Map - zipnullable Map
{ "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": {} }}
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 78 more - billing_
details MapBilling information associated with the PaymentMethod that may be used or required by particular types of payment methods.
- metadataMap
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_
debit Map - affirmMap
- afterpay_
clearpay Map - alipayMap
- allow_
redisplay enum - almaMap
- amazon_
pay Map - au_
becs_ Mapdebit - bacs_
debit Map - bancontactMap
- billieMap
- blikMap
- boletoMap
- cardMap
- cashappMap
- customer_
balance Map - epsMap
- fpxMap
- giropayMap
- grabpayMap
- idealMap
- interac_
present MapPreview feature - kakao_
pay Map - klarnaMap
- konbiniMap
- kr_
card Map - linkMap
- mobilepayMap
- multibancoMap
- naver_
pay Map - nz_
bank_ Mapaccount - oxxoMap
- p24Map
- pay_
by_ MapPreview featurebank - paycoMap
- paynowMap
- paypalMap
- pixMap
- promptpayMap
- radar_
options Map - revolut_
pay Map - samsung_
pay Map - satispayMap
- sepa_
debit Map - sofortMap
- swishMap
- twintMap
- us_
bank_ Mapaccount - wechat_
pay Map - zipMap
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": {} }}
Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.
Parameters
- billing_
details MapBilling information associated with the PaymentMethod that may be used or required by particular types of payment methods.
- metadataMap
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
- allow_
redisplay enum - cardMap
- linkMap
- pay_
by_ MapPreview featurebank - us_
bank_ Mapaccount
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": { "order_id": "6735" }, "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": {} }}
Retrieves a PaymentMethod object for a given Customer.
Parameters
No parameters.
Returns
Returns a PaymentMethod object.
{ "id": "pm_1NVChw2eZvKYlo2CHxiM5E2E", "object": "payment_method", "billing_details": { "address": { "city": null, "country": null, "line1": null, "line2": null, "postal_code": null, "state": null }, "email": null, "name": null, "phone": null }, "card": { "brand": "visa", "checks": { "address_line1_check": null, "address_postal_code_check": null, "cvc_check": "pass" }, "country": "US", "exp_month": 12, "exp_year": 2034, "fingerprint": "Xt5EWLLDS7FJjR1c", "funding": "credit", "generated_from": null, "last4": "4242", "networks": { "available": [ "visa" ], "preferred": null }, "three_d_secure_usage": { "supported": true }, "wallet": null }, "created": 1689682128, "customer": "cus_9s6XKzkNRiz8i3", "livemode": false, "metadata": {}, "redaction": null, "type": "card"}