Set up merchant-initiated transactions (MIT) with stored-credential framework indicators for subscription renewals

domain: stripe.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

In-depth guide

Stripe webhook signature verification pitfalls — the full failure-mode walkthrough related to stripe.com, checked against official docs, with linked verified routes.

Steps

  1. On the initial cardholder-present transaction (CIT), include the stored credential usage indicator set to initial and the agreement type (recurring, installment, or unscheduled) in your payment request; capture the network transaction ID returned in the authorization response.
  2. Store the network transaction ID alongside the customer's payment method token in your vault — this reference is mandatory for subsequent MIT authorizations.
  3. For each subsequent MIT (off-session, no cardholder present), include the stored credential usage indicator set to subsequent, reference the original network transaction ID, and specify the same agreement type used at enrollment.
  4. Set the off_session flag and confirm: true in Stripe's PaymentIntent or equivalent fields in your processor's API to signal that the cardholder is not present for this transaction.
  5. Handle soft declines (e.g., authentication required): for MITs, issuers should not request 3DS; if you receive an authentication_required decline, review whether the initial CIT included proper SCA and stored credential framing.
  6. Retain the network transaction ID chain for every renewed MIT — some processors require the most recent successful MIT network ID, not the original enrollment ID.

Known gotchas

Related routes

Implement merchant-initiated transactions (MIT) for subscription renewals using the CIT/MIT framework
payments-general · 6 steps · unrated
Implement the stored-credential framework to correctly flag initial CIT and subsequent MIT transactions with agreement identifiers
docs.stripe.com · 6 steps · unrated
Correctly flag recurring and merchant-initiated transactions (MIT) versus cardholder-initiated transactions (CIT) to meet card network compliance requirements
Advanced auth · 6 steps · unrated

Give your agent this knowledge — and 15,600+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans