Receiving moneyReceiving money

Receiving money

Money lands in your merchant wallet through a funding rail, and Swappr fires a wallet_funded webhook for every credit — with the sender’s details and, when the credited account belongs to a customer, a customer attribution block. Whatever the rail, the pattern is the same: subscribe to wallet_funded, verify the signature, and reconcile against your own records.

Rails by currency

CurrencyRailHow it receives
NGNMerchant virtual accountsSenders transfer to a NUBAN virtual account on your wallet (the existing funding flow).
GBP / USD / EURInternational-account VIBANsA virtual IBAN / account number — issued either per customer or for your own treasury account. Senders pay it via local/SWIFT rails.
CADInterac e-TransferSenders e-Transfer to a registered Interac address; no VIBAN.

ISO 4217 currency codes are used everywhere — amountMinor is always paired with a currency (e.g. GBP, USD, EUR, CAD, NGN).

Which collection flow am I in?

  • Receiving for one of your end-users? → issue a customer international account. The inflow carries a customer block so you can credit the right user. See International accounts.
  • Receiving into your own business treasury? → a merchant international account. The inflow is a merchant-pool credit with no customer block. See International accounts.
  • Receiving CAD? → use CAD & Interac — funds route by your registered Interac address, not a VIBAN.

Attribution in one line

Your merchant wallet is always credited. When the credited account belongs to a customer, the wallet_funded payload carries a customer block — branch on event.customer?.id. See Attribution & balances for crediting end-users and pulling history.

Sandbox limitation: only NGN settles in the development environment. GBP / USD / EUR VIBANs provision in sandbox but don’t receive funds, and CAD/Interac inflows aren’t simulated. Use sandbox to test the create + provision + webhook-handling flow; switch to live for actual inflow testing.

Next

What’s next