When it fires
After the customer’s payment has received the required number of blockchain confirmations and the cumulative received amount meets or exceeds the invoice total. Settlx is now processing the conversion (if needed) and transfer to your wallet. This event fires for two outcomes — distinguished bydata.payment_quality:
data.payment_quality | Meaning |
|---|---|
full | The customer paid exactly the required amount (within Settlx’s tolerance window). |
overpaid | The customer paid more than the required amount. The excess is included in the settlement transfer to your wallet. data.excess_amount is the excess in data.excess_currency (the payment currency, e.g. BNB), not the settlement currency. |
Partial payments (less than the required amount) do not fire this event — they fire
invoice.underpaid instead, because the merchant action is fundamentally different.What to do
Show the customer a “Payment received, processing…” status. Do not fulfil the order yet — funds are not in your wallet. Wait forinvoice.settled before fulfilling.
If data.payment_quality === 'overpaid', optionally log the excess for your records or notify the customer that they overpaid. The full received amount (including excess) lands in your wallet on invoice.settled.
This is an informational event. Its purpose is to let you update your customer-facing UI. All order fulfilment logic belongs in your
invoice.settled handler.Payload
Includes:invoice, payment, fees (estimated — final fees are in invoice.settled). The settlement object is not present yet.
payment_quality === 'overpaid', the payload also includes:
excess_amount is in excess_currency (the payment currency) — that’s the asset the customer overpaid in. The merchant still receives the full overpaid amount in their settlement currency on invoice.settled; this field tells you “the customer sent X more than required, in the asset they paid with.”
Handler example
Node.js
Typical timeline
Afterinvoice.confirmed fires, expect invoice.settled to follow within 1–10 minutes depending on network congestion and whether a token conversion is required.
Related events
invoice.settled— Funds have arrived in your wallet. Fulfil the order here.invoice.underpaid— Customer paid less than the required amount. Different event; do not fulfil.