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.
/v1/topups/{topupId}/refreshReconciles 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. Use it when a webhook was missed or delayed; a settled intent is returned unchanged.
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
# Idempotent: the answer comes from the processor and lands through the# same confirmation path a webhook uses, so this cannot double-credit.curl -sS -X POST "$WALLETD_API/v1/topups/$TOPUP_ID/refresh" \ -H "Authorization: Bearer $WALLETD_API_KEY"{ "id": "0191c2d7-9e21-7f6b-a038-77d1c4b2e590", "user_id": "0191c2d4-8f3a-7c51-9b2e-4a6f8d310e27", "amount": 5000, "gateway": "stripe", "status": "succeeded", "created_at": "2026-09-20T09:15:03Z"}