This guide explains exactly what happens to money at each step when you use Blaaiz API services for collections and payouts.
Core concept: Wallets are the center
Every money movement in Blaaiz goes through your business wallets. Each wallet holds a balance in a single currency (NGN, USD, GBP, EUR, CAD). Collections add funds to a wallet, and payouts deduct funds from a wallet.
Collections (inbound)
A collection is any inflow of funds into your business wallet. This can happen via a Virtual Bank Account transfer, card payment, or open banking.
Virtual Bank Account collection
When someone sends money to your Virtual Bank Account:
- Funds arrive at the Virtual Bank Account.
- Blaaiz calculates the applicable collection fee.
- The fee is deducted from the incoming amount before crediting your wallet.
- Your wallet is credited with the amount minus fees.
- A
collection.completed webhook is sent to your collection_url.
Example: A customer sends 10,000 NGN to your Virtual Bank Account.
| Step | Amount |
|---|
| Incoming amount | 10,000 NGN |
| Collection fee | 100 NGN |
| Credited to your wallet | 9,900 NGN |
The webhook payload includes both the total amount and the fee, so you can reconcile.
Card collection (API)
When you initiate a card collection via the API:
- You specify the
amount to collect from the customer.
- The customer’s card is charged for the full amount.
- Blaaiz calculates the collection fee.
- The fee is deducted from the collected amount before crediting your wallet.
- Your wallet is credited with the amount minus fees.
- A
collection.completed webhook is sent to your collection_url.
Example: You collect 50,000 NGN via card.
| Step | Amount |
|---|
| Charged to card | 50,000 NGN |
| Collection fee | 750 NGN |
| Credited to your wallet | 49,250 NGN |
If the card requires 3DS authorization, the customer is redirected to complete authentication. If you provided a redirect_url, the customer returns to your site after authorization. See Initiate collection.
Open banking collection
The flow is the same as card collection, but the customer authorizes via their bank’s open banking interface instead of entering card details.
Payouts (outbound)
A payout sends funds from your wallet to an external recipient (bank account, mobile money, etc.).
When creating a payout, you choose one of two amount modes by passing either from_amount or to_amount (never both):
| Parameter | Meaning |
|---|
from_amount | The total amount debited from your wallet. Fees are deducted from this, so the recipient gets less. |
to_amount | The exact amount the recipient receives. Fees are added on top, so your wallet is debited more. |
Using from_amount
When you pass from_amount, fees are inclusive — deducted from the amount you specify:
- You specify
from_amount — this is the total debited from your wallet.
- Blaaiz calculates the applicable payout fee (fixed, percentage, or both).
from_amount is deducted from your wallet.
- The recipient receives
from_amount minus fees.
- A
payout.completed webhook is sent to your payout_url.
Example: from_amount: 1000, payout fee is 5 USD.
| Step | Amount |
|---|
from_amount | 1,000 USD |
| Payout fee | 5 USD |
| Deducted from your wallet | 1,000 USD |
| Recipient receives | 995 USD |
Using to_amount
When you pass to_amount, the recipient is guaranteed to receive the exact amount you specify. Fees are added on top:
- You specify
to_amount — this is exactly what the recipient will receive.
- Blaaiz calculates the fees and adds them to determine the wallet debit.
- Your wallet is debited
to_amount + fees.
- The recipient receives exactly
to_amount.
- A
payout.completed webhook is sent to your payout_url.
Example: to_amount: 1000, payout fee is 5 USD.
| Step | Amount |
|---|
to_amount | 1,000 USD |
| Payout fee | 5 USD |
| Deducted from your wallet | 1,005 USD |
| Recipient receives | 1,000 USD |
If your wallet balance is insufficient to cover the total debit (amount + fees in to_amount mode, or the full from_amount), the payout will fail.
Cross-currency payouts
When your wallet currency differs from the recipient’s currency, an exchange rate is applied:
- The exchange rate is determined at transaction time.
- Fees are calculated in the source currency (your wallet currency).
- The converted amount (minus fees) is sent to the recipient in the destination currency.
Use the Fee breakdown endpoint to preview the exact fees and exchange rate before initiating a payout.
Summary
| Flow | Parameter | Fee handling | What your wallet sees |
|---|
| Collection (VIBAN, card, open banking) | amount | Fees deducted from incoming amount | Credited: amount minus fees |
Payout (from_amount) | from_amount | Fees deducted from from_amount | Debited: from_amount |
Payout (to_amount) | to_amount | Fees added on top of to_amount | Debited: to_amount + fees |