Register a destination
One destination per settlement currency. Setting one again replaces it.- USDT — crypto address
- NGN — bank account
network must be TRON or BSC. No other chain is accepted.refunds:manage scope.
What you registered
When a refund happens
Exactly one condition: the payout reachedFAILED and a matched settlement
exists. A payout that failed before your money arrived has nothing to return.
A refund is raised within about a minute of the payout failing. The payout itself
gets
is_refunded: true and a refund_reference at the same moment.
EXPIRED payouts never produce a refund. Expiry means the instruction lapsed
with no money received, so there is nothing to send back.What you get back
What actually arrived, minus the cost of sending it back out.received_amount is what arrived, not what was expected. Overpay a
payout that later fails and the excess comes back too.
Reading refunds
payout_id and inflow_id it returns, so you can always
trace money back to the failed payment that produced it.
All three need
refunds:read.
Replacing a destination mid-flight
A refund snapshots the destination when it is created. Change your destination afterwards and an in-flight refund still goes where it was already sent — the history is not rewritten. The snapshot fields on the refund (destination_masked, destination_bank_code,
destination_network) are the record of where the money actually went, not where
your current destination points.
Two failure modes worth handling
You deleted the destination after creating payouts
You deleted the destination after creating payouts
If a payout fails and no destination exists for its settlement currency, no
refund is created. The money is held and escalated to our operations team
rather than sent somewhere unverified.Nothing is lost, but resolution needs a human. Keep a destination registered
for as long as you have payouts in flight.
A refund reaches FAILED
A refund reaches FAILED
A refund that exhausts its retries stops at
FAILED. This is your money
sitting undelivered, so it is an operational escalation on our side, not a
resting state — but you should alert on it too.The usual causes are an address on the wrong chain or a bank account that has
since been closed. Both need a corrected destination before we can retry.