# `PhoenixKitBilling.Providers.Types.PaymentMethodInfo`
[🔗](https://github.com/BeamLabEU/phoenix_kit_billing/blob/0.5.1/lib/phoenix_kit_billing/providers/types/payment_method_info.ex#L1)

Struct returned by `Provider.get_payment_method_details/1`.

Named `PaymentMethodInfo` to avoid clash with the `PaymentMethod` Ecto schema.

## Fields

- `id` - Provider-specific payment method identifier
- `provider` - Provider atom (`:stripe`, `:paypal`, `:razorpay`)
- `provider_payment_method_id` - Provider's payment method ID
- `provider_customer_id` - Provider's customer ID (nil if unknown)
- `type` - Payment method type (e.g., `"card"`, `"paypal"`)
- `brand` - Card brand (e.g., `"visa"`, `"mastercard"`) or nil
- `last4` - Last 4 digits of card number or nil
- `exp_month` - Expiration month or nil
- `exp_year` - Expiration year or nil
- `metadata` - Provider-specific metadata

# `t`

```elixir
@type t() :: %PhoenixKitBilling.Providers.Types.PaymentMethodInfo{
  brand: String.t() | nil,
  exp_month: integer() | nil,
  exp_year: integer() | nil,
  id: String.t(),
  last4: String.t() | nil,
  metadata: map(),
  provider: atom(),
  provider_customer_id: String.t() | nil,
  provider_payment_method_id: String.t(),
  type: String.t()
}
```

---

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