Skip to main content

Get Settlement Status

GET /merchant/settlements/:id returns the current state of one of your settlements. Use it to track a settlement from REQUESTED to its terminal outcome.

Status lifecycle

(PENDING_APPROVAL) → REQUESTED → PROCESSING → SETTLED (terminal)
→ REJECTED (terminal)

Settlements normally start at REQUESTED. If you have set a cashout approval cap, a request above it starts at PENDING_APPROVAL and stays there until it is approved (→ REQUESTED) — from the dashboard or over the API. REJECTED is a cancellation by an operator, not a merchant action.

Once SETTLED, the response carries the real receivedAmount, txHash, and a ready-to-open blockchainUrl. A settlement id that isn't yours returns 404.

Example

TS=$(date +%s); BODY=""
SIG=$(printf '%s.%s' "$TS" "$BODY" | openssl dgst -sha256 -hmac "$SIGNING_SECRET" | awk '{print $2}')
curl https://api-staging.finomesh.com/api/v1/merchant/settlements/<settlement-id> \
-H "X-Api-Key: $FINOMESH_API_KEY" \
-H "X-Timestamp: $TS" -H "X-Signature: $SIG"

Polling vs. webhook

You do not have to poll — a settlement webhook fires on the terminal result. Poll when you want a synchronous check (for example, confirming a payout in an operator screen); otherwise let the webhook drive your bookkeeping.

Reference