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

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗