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.
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 beactive, and once revoked it cannot be used for new charges. - Only reusable payment methods can become
expiredorrevoked. Single-use payment methods cannot be revoked and never expire. - Terminal transactions can return a
card_presentpayment 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.

