# `Stripe.Resources.PaymentMethod`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/resources/payment_method.ex#L2)

PaymentMethod

PaymentMethod objects represent your customer's payment instruments.
You can use them with [PaymentIntents](https://docs.stripe.com/payments/payment-intents) to collect payments or save them to
Customer objects to store instrument details for future payments.

Related guides: [Payment Methods](https://docs.stripe.com/payments/payment-methods) and [More Payment Scenarios](https://docs.stripe.com/payments/more-payment-scenarios).

# `t`

```elixir
@type t() :: %Stripe.Resources.PaymentMethod{
  acss_debit: Stripe.Resources.PaymentMethod.AcssDebit.t() | nil,
  affirm: map() | nil,
  afterpay_clearpay: map() | nil,
  alipay: map() | nil,
  allow_redisplay: String.t() | nil,
  alma: map() | nil,
  amazon_pay: map() | nil,
  au_becs_debit: Stripe.Resources.PaymentMethod.AuBecsDebit.t() | nil,
  bacs_debit: Stripe.Resources.PaymentMethod.BacsDebit.t() | nil,
  bancontact: map() | nil,
  billie: map() | nil,
  billing_details: Stripe.Resources.PaymentMethod.BillingDetails.t(),
  blik: map() | nil,
  boleto: Stripe.Resources.PaymentMethod.Boleto.t() | nil,
  card: Stripe.Resources.PaymentMethod.Card.t() | nil,
  card_present: Stripe.Resources.PaymentMethod.CardPresent.t() | nil,
  cashapp: Stripe.Resources.PaymentMethod.Cashapp.t() | nil,
  created: integer(),
  crypto: Stripe.Resources.Crypto.t() | nil,
  custom: Stripe.Resources.Custom.t() | nil,
  customer: String.t() | Stripe.Resources.Customer.t(),
  customer_account: String.t(),
  customer_balance: map() | nil,
  eps: Stripe.Resources.PaymentMethod.Eps.t() | nil,
  fpx: Stripe.Resources.PaymentMethod.Fpx.t() | nil,
  giropay: map() | nil,
  grabpay: map() | nil,
  id: String.t(),
  ideal: Stripe.Resources.PaymentMethod.Ideal.t() | nil,
  interac_present: Stripe.Resources.PaymentMethod.InteracPresent.t() | nil,
  kakao_pay: Stripe.Resources.KakaoPay.t() | nil,
  klarna: Stripe.Resources.PaymentMethod.Klarna.t() | nil,
  konbini: map() | nil,
  kr_card: Stripe.Resources.KrCard.t() | nil,
  link: Stripe.Resources.PaymentMethod.Link.t() | nil,
  livemode: boolean(),
  mb_way: Stripe.Resources.MbWay.t() | nil,
  metadata: %{required(String.t()) =&gt; String.t()},
  mobilepay: map() | nil,
  multibanco: map() | nil,
  naver_pay: Stripe.Resources.NaverPay.t() | nil,
  nz_bank_account: Stripe.Resources.PaymentMethod.NzBankAccount.t() | nil,
  object: String.t(),
  oxxo: map() | nil,
  p24: Stripe.Resources.PaymentMethod.P24.t() | nil,
  pay_by_bank: map() | nil,
  payco: Stripe.Resources.Payco.t() | nil,
  paynow: map() | nil,
  paypal: Stripe.Resources.PaymentMethod.Paypal.t() | nil,
  payto: Stripe.Resources.PaymentMethod.Payto.t() | nil,
  pix: map() | nil,
  promptpay: map() | nil,
  radar_options: Stripe.Resources.PaymentMethod.RadarOptions.t() | nil,
  revolut_pay: map() | nil,
  samsung_pay: Stripe.Resources.SamsungPay.t() | nil,
  satispay: map() | nil,
  sepa_debit: Stripe.Resources.PaymentMethod.SepaDebit.t() | nil,
  sofort: Stripe.Resources.PaymentMethod.Sofort.t() | nil,
  swish: map() | nil,
  twint: map() | nil,
  type: String.t(),
  us_bank_account: Stripe.Resources.PaymentMethod.UsBankAccount.t() | nil,
  wechat_pay: map() | nil,
  zip: map() | nil
}
```

* `acss_debit` - Expandable.
* `affirm` - Expandable.
* `afterpay_clearpay` - Expandable.
* `alipay` - Expandable.
* `allow_redisplay` - 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 values: `always`, `limited`, `unspecified`.
* `alma` - Expandable.
* `amazon_pay` - Expandable.
* `au_becs_debit` - Expandable.
* `bacs_debit` - Expandable.
* `bancontact` - Expandable.
* `billie` - Expandable.
* `billing_details` - Expandable.
* `blik` - Expandable.
* `boleto` - Expandable.
* `card` - Expandable.
* `card_present` - Expandable.
* `cashapp` - Expandable.
* `created` - Time at which the object was created. Measured in seconds since the Unix epoch. Format: Unix timestamp.
* `crypto` - Expandable.
* `custom` - Expandable.
* `customer` - 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. Expandable.
* `customer_account` - Max length: 5000. Nullable.
* `customer_balance` - Expandable.
* `eps` - Expandable.
* `fpx` - Expandable.
* `giropay` - Expandable.
* `grabpay` - Expandable.
* `id` - Unique identifier for the object. Max length: 5000.
* `ideal` - Expandable.
* `interac_present` - Expandable.
* `kakao_pay` - Expandable.
* `klarna` - Expandable.
* `konbini` - Expandable.
* `kr_card` - Expandable.
* `link` - Expandable.
* `livemode` - Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
* `mb_way` - Expandable.
* `metadata` - 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.
* `mobilepay` - Expandable.
* `multibanco` - Expandable.
* `naver_pay` - Expandable.
* `nz_bank_account` - Expandable.
* `object` - String representing the object's type. Objects of the same type share the same value. Possible values: `payment_method`.
* `oxxo` - Expandable.
* `p24` - Expandable.
* `pay_by_bank` - Expandable.
* `payco` - Expandable.
* `paynow` - Expandable.
* `paypal` - Expandable.
* `payto` - Expandable.
* `pix` - Expandable.
* `promptpay` - Expandable.
* `radar_options` - Expandable.
* `revolut_pay` - Expandable.
* `samsung_pay` - Expandable.
* `satispay` - Expandable.
* `sepa_debit` - Expandable.
* `sofort` - Expandable.
* `swish` - Expandable.
* `twint` - Expandable.
* `type` - 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 values: `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`.
* `us_bank_account` - Expandable.
* `wechat_pay` - Expandable.
* `zip` - Expandable.

# `expandable_fields`

# `object_name`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
