An OFF-SESSION charge on a saved card (auto-top-up). Confirms immediately; metadata carries who + credits + source
so the payment_intent.succeeded webhook credits idempotently on the SAME pi:<id> key. Returns the PaymentIntent id +
status, plus authRequired when the card needs 3DS (a decline to NOTIFY, not throw on). A hard 402 card decline is
also returned (not thrown) so the caller can alert; a transient/transport failure throws (it may recover).
An OFF-SESSION charge on a saved card (auto-top-up). Confirms immediately; metadata carries who + credits +
sourceso the payment_intent.succeeded webhook credits idempotently on the SAMEpi:<id>key. Returns the PaymentIntent id + status, plusauthRequiredwhen the card needs 3DS (a decline to NOTIFY, not throw on). A hard 402 card decline is also returned (not thrown) so the caller can alert; a transient/transport failure throws (it may recover).