View as Markdown

llms.txt

No such decision guide

This instance publishes nothing at that address. The catalog lists every decision guide it does publish.

Back to the decision guides

Decision guides Charge a customer again

Charge the stored payment method when you need to

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. Change
Is there a fixed amount on a fixed schedule?
No. The amount or the timing depends on what happens. Change

Choose one

    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.

    What this means for PCI

    This is guidance rather than a compliance determination. Which questionnaire you are eligible for depends on your full environment, so confirm it with your QSA or your acquirer before you rely on it.

    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.

    Reconnecting to the server

    Could not reconnect

    This session has ended

    Attempt 1

    Your work on this page is still here. Retrying keeps it; reloading starts the page again.

    The server no longer holds this page's state, so it has to be loaded again.