Supersede a checkout
Set a quote aside when the customer steps back to choose another way to pay.
For when the customer steps back from a quote to choose another way to pay. Public, like creating a checkout: the checkout's ID is all it takes. Called with your secret key, the response also has email, reporting and fee_rate_bps.
Works on an open or awaiting_customer checkout, or a card checkout that failed on a decline. The checkout keeps its status and stays watched until it expires, so a transfer already on its way still counts and can still be claimed. It just stops being the quote the customer is looking at. Superseding twice changes nothing.
Then create the next checkout with replaces set to this one's ID. The same coin, network and email again return this same quote, address and all, while more than two minutes of it are left, so going back and forth doesn't use up addresses. A different choice opens a new checkout and carries a link's pending payment over to it. An API payment has one live quote at a time, so a new checkout for one sets its earlier quotes aside on its own.
Path
idstring RequiredThe checkout's ID, such aschk_GduyAoexkN1Sg8sz.
Errors
- 404
not_foundNo checkout has that ID. - 409
checkout_not_supersedableThe checkout collects a remainder, or it's past waiting for the customer and funds may already be on the way.
Any request can also fail on its key or its body. See errors.
curl -X POST "https://dash.402pay.co/api/v1/checkouts/chk_GduyAoexkN1Sg8sz/supersede"{ "data": { "id": "chk_GduyAoexkN1Sg8sz", "kind": "checkout", "status": "open", "rail": "crypto", "link_id": null, "payment_id": "pmt_pxYW5vHfVt1xTIT2", "amount": 4900, "currency": "USD", "breakdown": { "currency": "USD", "price": 4900, "processing_fee": null, "network_fee": 2, "total": 4902 }, "crypto": { "asset": "USDC", "network": "polygon", "amount": "49.00", "address": "0xe37eE6F796f4059541AD6Bd3A74618DC6f937B31", "payment_uri": "ethereum:0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359@137/transfer?address=0xe37eE6F796f4059541AD6Bd3A74618DC6f937B31&uint256=49000000", "rate": { "amount": 100, "currency": "USD" }, "received_amount": "0.00", "remaining_amount": null, "remaining_payment_uri": null, "overpaid_amount": null, "detected_network": null, "tx_hash": null, "explorer_url": null }, "card": null, "confirmations": { "current": 0, "required": 4 }, "remainder": false, "canceled_by": null, "replaced_by": null, "failure_code": null, "review_reason": null, "success_url": "https://example.com/thanks", "expires_at": "2026-09-27T18:27:57.616Z", "sent_at": null, "created_at": "2026-09-27T18:12:57.616Z", "updated_at": "2026-09-27T18:12:57.891Z" }}