WalletD developers
Top-ups

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.

POST/v1/topups/{topupId}/refresh

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. Use it when a webhook was missed or delayed; a settled intent is returned unchanged.

Authorization

bearerAuth
AuthorizationBearer <token>

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

topupId*string
Formatuuid

Response 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"}