Respond to a Stripe Issuing real-time authorization webhook to approve or decline a virtual card transaction based on business logic

domain: docs.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 docs.stripe.com, checked against official docs, with linked verified routes.

Steps

  1. Subscribe to the issuing_authorization.request webhook event in your Stripe webhook endpoint settings; Stripe sends this event synchronously and expects a response within a short timeout window (check current docs for the exact window, typically a few hundred milliseconds)
  2. Verify the webhook signature using the Stripe-Signature header and your webhook signing secret before processing any authorization decision
  3. Parse the Authorization object from the event payload; inspect amount, currency, merchant_data.category_code (MCC), merchant_data.name, cardholder.id, and card.spending_controls to make the approval decision
  4. Respond to the webhook with HTTP 200 and a JSON body of {"approved": true} to approve or {"approved": false} to decline; any non-200 response or timeout results in Stripe applying the card's default spending_controls decision
  5. Log the authorization event and your decision for audit purposes; subscribe to issuing_authorization.updated and issuing_authorization.created events for post-authorization tracking (captures and reversals)
  6. Test authorization webhooks using Stripe's test mode and the testmode simulate authorization endpoint (POST /v1/test_helpers/issuing/authorizations/{id}/capture) to trigger synthetic authorization events without a physical card

Known gotchas

Related routes

Respond approve or decline to a Stripe Issuing real-time authorization webhook
stripe.com · 6 steps · unrated
Implement Stripe Issuing's synchronous real-time-authorization webhook to approve or decline card authorizations within the response window
docs.stripe.com · 6 steps · unrated
Use Stripe Issuing's real-time authorization webhook with direct webhook response to synchronously approve or decline each agent-initiated card transaction against custom business rules
docs.stripe.com · 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