Skip to main content
A PaymentMethod (pm_…) represents a reusable or single-use card. Create one with the one-time payment token returned by the browser card fields, or let a SetupIntent create a reusable one for you. Responses include the card’s last four digits, brand, expiration month and year, and fingerprint. A reusable PaymentMethod survives individual charges and can be attached to a customer, enabling off-session and subscription billing. A single-use PaymentMethod is consumed by its first charge. For the full flow, see Save cards and Customers.

Attributes

string
The payment method id (pm_…).
string
card is an online/vaulted card. card_present is Ionic’s read-only record of one physical Terminal presentation.
string | null
The attached customer id (cus_…), or null if not attached.
string
active: eligible for its type-specific application flow. consumed: used by a single-use charge. expired: network-expired reusable card. revoked: permanently deactivated by the merchant. A card_present method is staged active and consumed atomically by Terminal payment processing; clients cannot charge it directly.
boolean
true when the method can be charged multiple times; false for a single-use method that is consumed by its first charge. Only reusable methods can become expired or revoked; single-use methods cannot be revoked and never expire.
object | null
Card details. Present for type: card; null otherwise.
object | null
Billing details captured for this method. Null when not supplied.
object
A string key-value map for storing your own structured data.
See every field in the response of Retrieve a payment method.

Endpoints

Statuses

Rules

  • Attachment is write-once. A payment method that is already attached to a customer cannot be attached again.
  • Revoking requires a reason, which is recorded for audit. The payment method must be active, and once revoked it cannot be used for new charges.
  • Only reusable payment methods can become expired or revoked. Single-use payment methods cannot be revoked and never expire.
  • Terminal transactions can return a card_present payment method. It records one physical card presentation and cannot be created through this API, attached to a customer, reused, or used for off-session billing.