Fetch a top-up intent
Fetches a top-up intent and its current status.
/v1/topups/{topupId}Fetches a top-up intent and its current status. This is a read of what walletd already knows; it does not ask the gateway — use refresh for that. It never returns next_action or client_secret: those exist only in the response that created the intent, so capture them there rather than expecting to read them back. Requires topups:read; a user token may read only its own intents (forbidden, 403) and an unknown id gives topup_not_found (404).
Authorization
bearerAuth A tenant API key (sk_{env}_{id}_{secret}), a wallet user token, or an IdP access token. Which principal the credential resolves to decides the scopes it carries; see the authentication guide.
In: header
Path Parameters
uuidResponse Body
application/json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/v1/topups/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5", "amount": 0, "gateway": "string", "status": "created", "client_secret": "string", "next_action": { "kind": "client_secret", "client_secret": "string", "redirect_url": "string" }, "created_at": "2019-08-24T14:15:22Z"}Start a top-up through a payment gateway
Starts a top-up and returns an intent. It does not credit the wallet.
Ask the gateway for a pending top-up's current outcome
Reconciles one intent on demand: the gateway is asked what it thinks, and a terminal answer is applied through the same verified-confirmation path a webhook uses, so a credit can never happen twice.