# Offer the stored payment method at checkout

[Charge a customer again](https://devportal.qa.winkpg.io/docs/decide/charge-a-customer-again.md): Whether repeat payments run on a contract the platform bills, on a schedule of your own, on an invoice, or at your checkout, and what the card networks need from each.

The customer picks the card they stored last time, and the charge is cardholder-initiated because they're there to agree to it.

**Your answers so far**

- Is the customer there when each payment is taken? Yes. They agree to each payment as it happens.
- How does the customer pay each time? At our checkout, where they pick a card they stored before.

**What to build**

Charge the stored payment method's token with initiationType set to CardholderInitiated, or leave the field out: an omitted value is treated as cardholder-initiated. Send the customer's id too, so the token resolves for the customer who owns it. No consent is consulted, so this works for any active stored payment method.

**Worth knowing**

- Don't report a charge the customer is agreeing to as merchant-initiated. It isn't refused, but it misreports the charge to the card networks, which price and dispute the two kinds differently.
- Treat the token as a credential. Store only the opaque public reference the platform hands you, and retire it when the customer removes the card.

**Where to go next**

- [Save a card and charge it later](https://devportal.qa.winkpg.io/docs/blueprints/save-a-card-and-charge-it-later.md)
- [Reusing a stored payment method](https://devportal.qa.winkpg.io/docs/guides/reusing-saved-cards.md)
- [Create a transaction](https://devportal.qa.winkpg.io/docs/api/transactionsCreate.md)

- [Start over](https://devportal.qa.winkpg.io/docs/decide/charge-a-customer-again.md): go back to the first question.

## See also

- [All documentation](https://devportal.qa.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
