v149 · Web APIs · Payment Request
Retry Flow Lab
Structured payment handler errors enable smart retry UX. Pick a failure scenario — expired card, insufficient funds, 3DS challenge required, or network timeout — and run the merchant checkout flow against a real same-origin payment handler. Each scenario shows how err.name and the JSON payload in err.message drive a different recovery path.
Payment handler setup
Install the handler before pressing Pay. Recovery buttons prepare the next real request; they do not reopen payment UI without a user gesture.
Scenario
attempt 0
Order #8842 — checkout
Artisan mechanical keyboard£149.00
Express delivery£8.50
Total£157.50
Error
✅ Payment confirmed — order #8842 processing
Event log (merchant catch block)
see also
- Error Reporting Demo — basic handler error flow
- Error Taxonomy — full error type reference
- Handler Integration — service worker code walkthrough
- Payment Error Dashboard — analytics and error rates
implementation reference
Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗