type PaymentMethod

A payment instrument stored against a contact so it can be charged again without the customer re-entering it.

A payment method is created by completing a payment session whose storePaymentMethod was not Disabled, and charged afterwards with chargePaymentMethod. Payment options that are unsuitable for storing are not offered during such a session — consumer financing such as FlexPay, for example, applies to a single purchase and cannot act as a method on file.

FieldTypeDescription
idID!

Globally unique id of the payment method, a KSUID behind the pmd category prefix. Treat it as opaque: the prefix exists so the server can route the id to this type, and its format is not part of the contract. Refetchable through the Relay node(id:) query as well as paymentMethod(id:).

orgIdID!

Organization that owns this payment method.

contactIdID!

ID of the contact this payment method is stored against.

contactContact

Contact this payment method is stored against.

typePaymentMethodType!

Whether this method is a card or a bank account. Determines which of card and bankAccount is populated.

statusPaymentMethodStatus!

Whether the method can still be charged.

providerPaymentProvider!

Payment provider holding the underlying credential.

configurationIdID

ID of the provider configuration the credential is stored under. Charges against this method run through the same configuration.

cardPaymentMethodCard

Card detail. Populated when type is Card, otherwise null.

bankAccountPaymentMethodBankAccount

Bank account detail. Populated when type is BankAccount, otherwise null.

supportedRecurringProcessingModels[RecurringProcessingModel!]!

The ways this method may be used for a later payment. A method is stored under the model declared on its payment session, and the provider reports which models the resulting credential supports. Read it before offering a customer a subscription against a method that may not carry one.

billingAddressGlobalAddress

Billing address captured alongside the instrument.

paymentSessionIdID

ID of the payment session that stored this payment method.

deletedAtDateTime

Set when the payment method has been deleted; null while it is usable. A deleted method is excluded from Contact.paymentMethods unless includeDeleted is set, and can no longer be charged.

createdAtDateTime!

Date the payment method was stored.

updatedAtDateTime!

Date the payment method was last updated.