Receiving money
Every payment you receive lands in your Swappr wallet for that currency, and we send you a wallet_funded webhook. What changes is the account your payer sends to. Pick the row that matches what you want to do.
Which account do I need?
| You want to | Use | Currencies | Who gets the account |
|---|---|---|---|
| Top up your own wallet | Wallet top-up account | NGN, KES, GBP, USD, EUR, CAD | You. Technest sets it up for you. |
| Give each business you collect for (your sub-merchants) its own account to pay into | Collection accounts | NGN today. More currencies are added over time; the API reference lists the current ones. | Your sub-merchants. You create them through the API. |
| Give an individual customer their own foreign currency account | International accounts | GBP, USD, EUR | Individuals only, after KYC. For a business, talk to us: businesses are onboarded with Technest directly. |
| Receive Interac e-Transfers | CAD & Interac | CAD | You, or your customer. |
| Take one payment for a set amount | Pay by bank | GBP, EUR | No account. Your payer gets a checkout link. |
However the money arrives, it lands in your wallet. When the account belongs to one of your customers, the webhook tells you which one. See Matching payments to customers.
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.
Funding fees
Inbound funding may carry a fee. Where it does, your wallet is credited the gross and the fee is taken as a separate debit: we never quietly reduce the credit. That means two entries per inflow, matching bank-statement convention and keeping refunds clean, but it also means the credit you see is not the amount you kept.
Read the difference off whichever surface you already use:
wallet_fundedwebhook →amountMinoris the gross,feeMinoris the fee,netMinoris what you keptGET /v1/customers/{id}/transactions→amount_minor,fee_minor,net_minoron eachcollectionGET /v1/wallets/{id}/funding-events→ the same three fields per event- The fee debit itself is a normal ledger row:
GET /v1/wallets/{id}/transactions?source=virtual_account_credit_fee
fee_minor / feeMinor is "0" when no fee applies, and combines fee and tax into one number. If you credit an end user off an inflow, credit them the net.
Next
- Wallet top-up account: the accounts that top up your own wallet
- Collection accounts: an NGN account for each of your sub-merchants
- International accounts: GBP, USD and EUR accounts for individual customers
- Matching payments to customers: credit the right user, pull history and balances
- Webhooks: the
wallet_fundedpayload and field reference