The PaymentMethod object

Attributes

  • idstring

    Unique identifier for the object.

  • billing_detailsassociative array

    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 associative array

    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 values
    acss_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.

    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.

    blik

    BLIK is a single-use payment method common in Poland.

    boleto

    Boleto is a voucher-based payment method used in Brazil.

    Show 58 more

More attributes

  • objectstring

  • acss_debitnullable associative array

  • affirmnullable associative array

  • afterpay_clearpaynullable associative array

  • alipaynullable associative array

  • allow_redisplaynullable enumPreview feature

  • amazon_paynullable associative array

  • au_becs_debitnullable associative array

  • bacs_debitnullable associative array

  • bancontactnullable associative array

  • bliknullable associative array

  • boletonullable associative array

  • cardnullable associative array

  • card_presentnullable associative array

  • cashappnullable associative array

  • createdtimestamp

  • customer_balancenullable associative array

  • epsnullable associative array

  • fpxnullable associative array

  • giropaynullable associative array

  • grabpaynullable associative array

  • idealnullable associative array

  • interac_presentnullable associative arrayPreview feature

  • klarnanullable associative array

  • konbininullable associative array

  • linknullable associative array

  • livemodeboolean

  • mobilepaynullable associative array

  • oxxonullable associative array

  • p24nullable associative array

  • paynownullable associative array

  • paypalnullable associative array

  • pixnullable associative array

  • promptpaynullable associative array

  • radar_optionsnullable associative array

  • revolut_paynullable associative array

  • sepa_debitnullable associative array

  • sofortnullable associative array

  • swishnullable associative array

  • us_bank_accountnullable associative array

  • wechat_paynullable associative array

  • zipnullable associative array

The PaymentMethod object
{
"id": "pm_1MqLiJLkdIwHu7ixUEgbFdYF",
"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": "unchecked"
},
"country": "US",
"exp_month": 8,
"exp_year": 2026,
"fingerprint": "mToisGZ01V71BCos",
"funding": "credit",
"generated_from": null,
"last4": "4242",
"networks": {
"available": [
"visa"
],
"preferred": null
},
"three_d_secure_usage": {
"supported": true
},
"wallet": null
},
"created": 1679945299,
"customer": null,
"livemode": false,
"metadata": {},
"type": "card"
}

Create a PaymentMethod

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 values
    acss_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.

    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.

    blik

    BLIK is a single-use payment method common in Poland.

    boleto

    Boleto is a voucher-based payment method used in Brazil.

    Show 57 more
  • billing_detailsassociative array

    Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.

  • metadataassociative array

    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_debitassociative array

  • affirmassociative array

  • afterpay_clearpayassociative array

  • alipayassociative array

  • allow_redisplayenum

  • amazon_payassociative array

  • au_becs_debitassociative array

  • bacs_debitassociative array

  • bancontactassociative array

  • blikassociative array

  • boletoassociative array

  • cardassociative array

  • cashappassociative array

  • customer_balanceassociative array

  • epsassociative array

  • fpxassociative array

  • giropayassociative array

  • grabpayassociative array

  • idealassociative array

  • interac_presentassociative arrayPreview feature

  • klarnaassociative array

  • konbiniassociative array

  • linkassociative array

  • mobilepayassociative array

  • oxxoassociative array

  • p24associative array

  • paynowassociative array

  • paypalassociative array

  • pixassociative array

  • promptpayassociative array

  • radar_optionsassociative array

  • revolut_payassociative array

  • sepa_debitassociative array

  • sofortassociative array

  • swishassociative array

  • us_bank_accountassociative array

  • wechat_payassociative array

  • zipassociative array

Returns

Returns a PaymentMethod object.

POST /v1/payment_methods
$stripe = new \Stripe\StripeClient('sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc');
$stripe->paymentMethods->create([
'type' => 'card',
'card' => [
'number' => '4242424242424242',
'exp_month' => 8,
'exp_year' => 2026,
'cvc' => '314',
],
]);
Response
{
"id": "pm_1MqLiJLkdIwHu7ixUEgbFdYF",
"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": "unchecked"
},
"country": "US",
"exp_month": 8,
"exp_year": 2026,
"fingerprint": "mToisGZ01V71BCos",
"funding": "credit",
"generated_from": null,
"last4": "4242",
"networks": {
"available": [
"visa"
],
"preferred": null
},
"three_d_secure_usage": {
"supported": true
},
"wallet": null
},
"created": 1679945299,
"customer": null,
"livemode": false,
"metadata": {},
"type": "card"
}

Update a PaymentMethod

Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.

Parameters

  • billing_detailsassociative array

    Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.

  • metadataassociative array

    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

  • cardassociative array

  • linkassociative array

  • us_bank_accountassociative array

Returns

Returns a PaymentMethod object.

POST /v1/payment_methods/:id
$stripe = new \Stripe\StripeClient('sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc');
$stripe->paymentMethods->update(
'pm_1MqLiJLkdIwHu7ixUEgbFdYF',
['metadata' => ['order_id' => '6735']]
);
Response
{
"id": "pm_1MqLiJLkdIwHu7ixUEgbFdYF",
"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": "unchecked"
},
"country": "US",
"exp_month": 8,
"exp_year": 2026,
"fingerprint": "mToisGZ01V71BCos",
"funding": "credit",
"generated_from": null,
"last4": "4242",
"networks": {
"available": [
"visa"
],
"preferred": null
},
"three_d_secure_usage": {
"supported": true
},
"wallet": null
},
"created": 1679945299,
"customer": null,
"livemode": false,
"metadata": {
"order_id": "6735"
},
"type": "card"
}

Retrieve a Customer's PaymentMethod

Retrieves a PaymentMethod object for a given Customer.

Parameters

No parameters.

Returns

Returns a PaymentMethod object.

GET /v1/customers/:id/payment_methods/:id
$stripe = new \Stripe\StripeClient('sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc');
$stripe->customers->retrievePaymentMethod(
'cus_9s6XKzkNRiz8i3',
'pm_1NVChw2eZvKYlo2CHxiM5E2E',
[]
);
Response
{
"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"
}

Retrieve a PaymentMethod

Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use Retrieve a Customer’s PaymentMethods

Parameters

No parameters.

Returns

Returns a PaymentMethod object.

GET /v1/payment_methods/:id
$stripe = new \Stripe\StripeClient('sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc');
$stripe->paymentMethods->retrieve('pm_1MqLiJLkdIwHu7ixUEgbFdYF', []);
Response
{
"id": "pm_1MqLiJLkdIwHu7ixUEgbFdYF",
"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": "unchecked"
},
"country": "US",
"exp_month": 8,
"exp_year": 2026,
"fingerprint": "mToisGZ01V71BCos",
"funding": "credit",
"generated_from": null,
"last4": "4242",
"networks": {
"available": [
"visa"
],
"preferred": null
},
"three_d_secure_usage": {
"supported": true
},
"wallet": null
},
"created": 1679945299,
"customer": null,
"livemode": false,
"metadata": {},
"type": "card"
}
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g., )
The Stripe Shell is best experienced on desktop.
$