# Charge the stored payment method when you need to

[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.

Your system decides when and how much, and charges the stored payment method as a merchant-initiated transaction.

**Your answers so far**

- Is the customer there when each payment is taken? No. We charge them without asking each time.
- Is there a fixed amount on a fixed schedule? No. The amount or the timing depends on what happens.

**What to build**

Create the transaction with the stored payment method's token, initiationType set to MerchantInitiated, a mitReason, and the owning customer's id. The platform finds the customer's active consent for that reason itself, so don't look up or send a consent id. Use UnscheduledCOF for a charge with no fixed schedule.

**Worth knowing**

- A charge the customer isn't present for needs a stored-credential consent that permits it, captured when the card is stored on a hosted payment page or in the Virtual Terminal. The direct API can't record consent, and a later charge can't add a usage the customer didn't agree to, so ask for every usage you expect to need when the card is stored.
- A merchant-initiated charge without the customer's id is refused before any consent is checked, and one with no matching consent is declined with stored_credential_consent_required.
- Your system owns the retry policy here. Follow the platform's decline classification: retry only funding and availability declines, spaced by days, and stop on anything else.

**Where to go next**

- [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)
- [Understanding declines and rejections](https://devportal.qa.winkpg.io/docs/guides/understanding-declines-and-rejections.md)
- [Retry a payment without a double charge](https://devportal.qa.winkpg.io/docs/blueprints/retry-a-payment-safely.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.
