Implement delayed capture and handle airline merchant category rules in travel payments

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

Steps

  1. Use Stripe's two-step authorize-and-capture flow: create a PaymentIntent with capture_method: 'manual' to authorize the card and hold the funds without charging; capture only when the booking is confirmed by the airline or hotel API.
  2. Set the authorization hold window appropriately — Stripe holds authorizations for up to 7 days for most cards; if your booking confirmation can take longer (e.g. group bookings, charter flights), design the flow to re-authorize or switch to immediate capture with a refund fallback.
  3. Set statement_descriptor and statement_descriptor_suffix on the PaymentIntent to clearly identify the airline or hotel name — generic descriptors like 'Travel Agency' increase chargeback rates.
  4. For airline bookings, Stripe requires the payment to route through a Stripe account with the correct MCC (Merchant Category Code) — airlines use MCC 3000-3299 (airline-specific) or 4511 (air carriers); travel agencies use 4722; using the wrong MCC can cause issuer declines.
  5. Implement idempotency keys on PaymentIntent creation — use a booking-session-scoped UUID so that network retries do not create duplicate authorizations.
  6. For refunds, use Stripe's refund API referencing the original PaymentIntent or charge id; partial refunds are supported and should be used for penalty-deducted cancellations rather than full-refund-then-recharge.

Known gotchas

Related routes

Implement least-cost debit routing for card-not-present transactions under Regulation II's network non-exclusivity rule
payments-compliance · 6 steps · unrated
Handle partial captures and overcaptures for variable-amount transactions
payments-general · 6 steps · unrated
Implement Automated Fuel Dispenser (AFD) preset authorization and delayed capture for unattended gas station terminals
payments-terminal · 6 steps · unrated

Give your agent this knowledge — and 15,500+ 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