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_
detailshash Billing 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 hash
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 40 more
More attributes
- objectstring
- acss_
debitnullable hash - affirmnullable hash
- afterpay_
clearpaynullable hash - alipaynullable hash
- allow_
redisplaynullable enum - almanullable hash
- amazon_
paynullable hash - au_
becs_ debitnullable hash - bacs_
debitnullable hash - bancontactnullable hash
- billienullable hash
- bliknullable hash
- boletonullable hash
- cardnullable hash
- card_
presentnullable hash - cashappnullable hash
- createdtimestamp
- cryptonullable hash
- customer_
balancenullable hash - epsnullable hash
- fpxnullable hash
- giropaynullable hash
- grabpaynullable hash
- idealnullable hash
- interac_
presentnullable hashPreview feature - kakao_
paynullable hash - klarnanullable hash
- konbininullable hash
- kr_
cardnullable hash - latest_
active_ mandatenullable hashPreview feature - linknullable hash
- livemodeboolean
- mobilepaynullable hash
- multibanconullable hash
- naver_
paynullable hash - nz_
bank_ accountnullable hash - oxxonullable hash
- p24nullable hash
- pay_
by_ banknullable hash - payconullable hash
- paynownullable hash
- paypalnullable hash
- pixnullable hash
- promptpaynullable hash
- radar_
optionsnullable hash - revolut_
paynullable hash - samsung_
paynullable hash - satispaynullable hash
- sepa_
debitnullable hash - sofortnullable hash
- swishnullable hash
- twintnullable hash
- us_
bank_ accountnullable hash - wechat_
paynullable hash - zipnullable hash
{ "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 40 more - billing_
detailshash Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
- 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 - affirmhash
- afterpay_
clearpayhash - alipayhash
- allow_
redisplayenum - almahash
- amazon_
payhash - au_
becs_ debithash - bacs_
debithash - bancontacthash
- billiehash
- blikhash
- boletohash
- cardhash
- cashapphash
- cryptohash
- customer_
balancehash - epshash
- fpxhash
- giropayhash
- grabpayhash
- idealhash
- interac_
presenthashPreview feature - kakao_
payhash - klarnahash
- konbinihash
- kr_
cardhash - linkhash
- mobilepayhash
- multibancohash
- naver_
payhash - nz_
bank_ accounthash - oxxohash
- p24hash
- pay_
by_ bankhash - paycohash
- paynowhash
- paypalhash
- pixhash
- promptpayhash
- radar_
optionshash - revolut_
payhash - samsung_
payhash - satispayhash
- sepa_
debithash - soforthash
- swishhash
- twinthash
- us_
bank_ accounthash - wechat_
payhash - ziphash
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 to a customer to be updated.
Parameters
- billing_
detailshash Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
- 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
- allow_
redisplayenum - cardhash
- linkhash
- pay_
by_ bankhash - us_
bank_ accounthash
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"}