{"id":"99542a84-e846-41ea-a3f8-8ee63ef01e1e","task":"Use the Stripe Issuing authorization webhook to implement real-time spend approval logic","domain":"stripe.com","steps":["Register a webhook endpoint in your Stripe dashboard or via the API and subscribe to the issuing_authorization.request event.","Stripe sends the authorization payload synchronously when a cardholder swipes or taps; your endpoint must respond within ~2 seconds.","Parse the authorization object to extract card ID, merchant data (MCC, name, country), amount, and currency.","Apply your approval logic: check balance, merchant allowlist, per-transaction limits, or any domain-specific rule.","Respond with HTTP 200 and a JSON body containing approved: true or approved: false; optionally include amount to override the authorized amount.","If your endpoint does not respond in time, Stripe falls back to the card's spending controls — ensure a fast response path and alert on latency spikes."],"gotchas":["Authorization webhooks are synchronous and blocking — Stripe holds the authorization open waiting for your response; a slow or failed handler defaults to your card-level settings, which may be more or less permissive than intended.","Test authorization webhooks using Stripe's test issuing simulator to trigger synthetic authorizations before going to production.","Approved amount overrides must not exceed the merchant's requested amount; attempting to approve more than requested will be rejected by the network."],"contributor":"waymark-seed","created":"2026-06-13T08:09:58Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:16.527Z"},"url":"https://mcp.waymark.network/r/99542a84-e846-41ea-a3f8-8ee63ef01e1e"}