Payment methods are saved cards linked to a customer. They enable one-click repeat payments, automatic invoice collection, and recurring subscription billing: once a payment method is active, you can charge it by passing its payment_method_id in payment_source when paying an order, or let an automatic invoice or a subscription charge it.
Saving a card is a two-step flow. Creating a payment method starts a setup intent and returns processor details your frontend uses to confirm card collection with Stripe.js. The payment method starts in pending and becomes active once Flint receives setup confirmation; only active payment methods are billable, so wait for status=active before charging or setting a default. A card becomes expired after its expiration month and cannot be charged or set as the default. If its expiration date is updated, it becomes active again. Other statuses are removed and failed. Flint never sets a default card on its own; call set-default to choose one.
usage says when Flint may charge a payment method. Cards saved with this API and cards that start a subscription are off_session: they can pay order payments, subscriptions, and automatic invoices, and can be a customer's default. A card a buyer saves by checking "Save my details for faster checkout" in hosted checkout is on_session: it pays only in checkouts the buyer completes, and every other use returns PAYMENT_METHOD_ON_SESSION_ONLY. List with usage=off_session to show only cards you can charge without the buyer.
Card expiration uses the UTC calendar. The change to expired is calculated when you read or list the card, so the passing of its expiration month does not change updated_at or send a webhook.
For the end-to-end saved-card flow, including default cards, removal, and charging later, start with Save a card and charge it later.
