Signed offer
The merchant's offer carries an RFC 9421 HTTP message signature, so tampering and replay are detectable in the wallet.
How it works
A principal authorizes an agent; the agent receives a cryptographically-bounded mandate; the merchant verifies it and settles on its own rail. Every payment leaves a signed trail.

You approve your agent with a strong customer authentication (SCA) check.
The authorization server issues a mandate capped by amount, merchant, and expiry.
Your agent shows the mandate to a merchant at checkout.
The merchant verifies the four signatures before it charges.
The charge settles to the merchant's own account, via Stripe today.
A signed receipt and dispute pack are recorded for both sides.
The proof
When a dispute comes, the merchant has proof of authorization, not "we have logs." The pack auto-assembles into the processor's dispute flow.
The merchant's offer carries an RFC 9421 HTTP message signature, so tampering and replay are detectable in the wallet.
An SD-JWT VC mandate, capped by amount, merchant, and expiry, bound to the principal and provable without re-disclosure.
The agent's token is sender-constrained (RFC 9449): it cannot be lifted from the wire and replayed.
A signed receipt records the settled payment, completing the trail for both sides.