Subscribe to the review.opened webhook event to be notified when Stripe Radar places a payment in the manual review queue
On receiving a review.opened event, fetch the associated PaymentIntent or Charge via the review object's payment_intent or charge field
Apply your own risk signals (velocity checks, order value, customer history) to the fetched payment object to compute a risk decision
If your logic determines the payment is safe, call POST /v1/reviews/{id}/approve to remove it from the review queue and allow capture
If your logic determines the payment is fraudulent, refund the PaymentIntent and close the review by calling the review endpoint with a fraud close reason
Log all auto-approval and auto-refund decisions with the risk signals used for compliance and chargeback dispute evidence
Known gotchas
Radar review.opened events fire only for payments in manual review — payments blocked by Radar rules fire charge.failed instead; ensure your fraud pipeline handles both paths
Approving a review via the API does not capture the payment; if capture mode is manual, you must still separately call the capture endpoint after approval
Review objects are linked to either a charge or a payment_intent depending on the API version used at transaction creation; normalize your lookup logic to handle both
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp