How to Accept Bank Transfer Payments Online

Bank transfer is the payment method Nigerian customers reach for most naturally. It costs the customer little, it works from any banking app, it does not require a card that may be blocked for online use, and it feels safer to people who distrust entering card details on an unfamiliar site.
The problem is never collecting the money. The problem is knowing, within seconds and without a human reading a screenshot, that a specific customer has paid for a specific order. That is the difference between a payment method and a payment system, and it is what this guide is about.
The three ways to accept bank transfers online
Every Nigerian business accepting transfers is using one of three models, whether or not it has named it.
| Method | How the customer pays | How you confirm | Best for |
|---|---|---|---|
| Manual account number | You post your account number; customer transfers and sends a screenshot | A person checks the banking app or SMS alert | Very low volume, high-value bespoke orders |
| Pay with transfer at checkout | Gateway shows a one-time account number tied to that order | Gateway confirms the credit and notifies your system | Online stores, anyone with a checkout page |
| Dedicated virtual account | Each customer keeps a permanent account number that belongs to them | Gateway matches every credit to that customer automatically | Repeat buyers, wallets, subscriptions, B2B accounts |
The manual method is free and instantly available, which is why almost everyone starts there. It also fails quietly: staff time disappears into checking alerts, customers wait for confirmation while a queue builds, and the business becomes vulnerable to doctored screenshots. The moment order volume rises above roughly ten transfers a week, the second or third method usually pays for itself.
How pay-with-transfer works inside a checkout
In brief: when a customer chooses "pay with transfer" at checkout, the payment gateway generates a temporary account number specific to that transaction, displays it with the exact amount, and watches that account. When the credit lands, the gateway marks the transaction as successful and tells your website through a webhook, usually within seconds.
The flow looks like this from the customer's side:
- They select bank transfer at checkout.
- A ten-digit account number, bank name and exact amount appear on screen, usually with a countdown.
- They switch to their banking app, add the beneficiary and send the exact amount.
- They return to the page, which has already updated to "Payment received", or receives that update automatically.
Two details decide whether this works in practice. First, the amount must match exactly, including kobo, because matching is done on amount plus account. Second, the account number is time-limited, so a customer who wanders off and pays an hour later may need the order re-checked. Good checkout copy says both things plainly.
Nigerian gateways including Paystack, Flutterwave, Monnify and Interswitch all offer a transfer channel of this kind. The channel is enabled in the dashboard and appears as one more option beside card and USSD, which is why most businesses adopt it without changing any code.
Dedicated virtual accounts: the cleanest method for repeat orders
A dedicated virtual account (sometimes called a reserved or fixed virtual account) is a NUBAN account number issued in your customer's name but settling into your gateway balance. It does not expire. The customer saves it as a beneficiary once and transfers to it whenever they want to buy or top up.
Why this matters for Nigerian businesses:
- No amount matching. Any credit into that account is unambiguously from that customer, so partial payments, overpayments and deposits are all attributable.
- No session timeout. A distributor can pay at 11pm for goods ordered that morning.
- It suits how wholesale actually works. Customers who order weekly do not want to copy a new account number every time.
- It enables wallets and credit balances. A customer's overpayment becomes a balance rather than a support ticket.
The trade-offs are real. Virtual accounts require customer identity information at creation, so you will collect more data at sign-up than a simple checkout needs. They are best suited to businesses with accounts and logins rather than anonymous one-off shoppers. And you should confirm current requirements with your provider, since bank verification rules for account creation have tightened over time and are set by the banks and regulators, not the gateway.
How to confirm a transfer automatically
Automatic confirmation is the entire point, and it rests on one mechanism: the webhook. A webhook is a message the gateway sends to a URL on your server the moment a payment succeeds. Your server verifies that the message genuinely came from the gateway, finds the matching order, and marks it paid.
A reliable implementation includes all of the following:
- A webhook endpoint that verifies the signature sent with every event, so a stranger cannot post a fake "payment successful" message to your site.
- Server-side re-verification. Before releasing goods, your code calls the gateway's verify endpoint with the transaction reference and confirms the status and the amount independently.
- Idempotency. The same event may arrive twice; processing it twice must not create two orders or two dispatch tickets.
- Amount checking in kobo. Compare the amount received against the amount expected, in the smallest unit, and flag mismatches rather than approving them.
- A fallback poll. If a webhook is missed because your server was down, a scheduled job that re-checks pending transactions after a few minutes catches it.
- A clear customer-facing state. "Awaiting payment", "Payment received", "Order confirmed" should be visible to the buyer and to your staff.
If you are using a hosted store platform, most of this is handled by the platform's official plugin. If you have a custom website or app, this is the part a developer must build properly. It is small work, but it is the difference between a payment system and a source of disputes.
How to stop fake payment alerts and screenshot fraud
Businesses that confirm transfers by eye get defrauded by edited screenshots and fake bank-alert apps. The defence is procedural, not technical cleverness.
- Never accept a screenshot as proof. Treat it as a claim, not a confirmation.
- Confirm in your own channel. Check the credit inside your banking app or gateway dashboard, not in an SMS alert, which can be spoofed.
- Prefer automated confirmation. A gateway-generated account number removes human judgement from the loop entirely.
- Wait for value, not notification. Cheques, foreign transfers and some inter-bank delays mean "sent" is not "received".
- Train counter and dispatch staff with one rule: goods leave only when the system shows paid.
- Watch for reversal patterns. Repeated "I sent it in error, please refund to a different account" requests are a known pattern; refunds should return to the originating account only.
Publishing this policy politely on your site and WhatsApp reduces arguments. Most honest customers accept "we release orders once our system confirms payment, usually within a minute" without complaint.
What changes for Nigerian businesses
Transfer is often the majority channel. Many Nigerian online sellers find that transfer, not card, carries most of their order value, particularly for higher-priced items where customers are cautious about entering card details. Designing checkout around card only and adding transfer as an afterthought loses orders.
Instant transfers are genuinely instant, most of the time. Nigeria's inter-bank instant payment infrastructure settles in seconds, which is why pay-with-transfer works at all. It also has bad days. Your checkout should say what happens if a transfer is debited but not received, and your support should be able to trace it with a session or reference number.
Customers economise on charges. Transfer fees are small but visible, and some customers will round down or send from a wallet with a different name. Systems that demand exact amounts need forgiving support processes behind them.
Name mismatch is normal. Customers pay from a spouse's account, a business account, or a fintech wallet. Do not build rules that require the sender name to match the buyer name; match on the account number or reference instead.
Settlement timing affects cash flow. Gateway balances settle to your bank account on a schedule, typically the next working day for Nigerian transactions, and weekends and public holidays extend it. Small businesses that treat gateway balance as cash in hand get caught out; check your provider's current settlement cycle.
Data protection applies. Names, phone numbers, account details and transaction histories are personal data under the Nigeria Data Protection Act 2023. Collect what you need for the payment, restrict who can export it, and keep it secured. Verify your obligations with current NDPC guidance rather than relying on a summary.
Registration matters for higher limits. Gateways generally require business documentation, such as CAC registration and a corporate bank account, before full settlement and higher transaction limits are enabled. Starting the compliance process early avoids a launch delayed by paperwork.
Example (hypothetical): a Lagos furniture workshop
Example (hypothetical): A furniture workshop in Lagos sells made-to-order beds and wardrobes through Instagram and a small website, averaging around 25 orders a month at ₦180,000 to ₦900,000 each. Customers pay a 60% deposit by transfer and the balance on delivery. The owner's sister confirms payments by checking the banking app.
The problems. Deposits arrive at all hours, so confirmation waits until someone checks. Two customers sent edited screenshots and received production slots before anyone noticed. Amounts rarely match invoices exactly because customers round down by the transfer charge. Matching 50 credits a month to 25 orders takes an afternoon.
What it implements. Orders move to a simple invoice page on the website with pay-with-transfer enabled through a Nigerian gateway. Each invoice generates its own account number and exact amount. A webhook marks the deposit received and sends the customer a WhatsApp confirmation with the production start date. Repeat trade customers, who order monthly, are given dedicated virtual accounts so they can transfer any amount at any time against a running statement.
What changes (illustrative, not a claim). Screenshot disputes stop, because no human is judging proof. Deposits confirm at night and at weekends without anyone awake. Reconciliation becomes reading a report rather than an afternoon of matching. The gateway takes a percentage of each deposit, which the workshop absorbs rather than passing on, judging it cheaper than the production slot it lost to a fraudulent screenshot.
What accepting bank transfers costs (indicative)
All figures are indicative 2026 ranges; actual costs vary with your provider, volume and negotiated terms. Verify current published rates with the provider before budgeting.
| Cost item | Indicative range | Notes |
|---|---|---|
| Gateway transaction fee on transfers | A small percentage of the transaction, often with a cap on local transactions | Published per provider; caps mean high-value orders cost proportionally less |
| Dedicated virtual account creation | Often free or a small per-account fee | Some providers charge per successful credit instead |
| Developer work to integrate a hosted checkout | ₦80,000–₦400,000 | Lower if your platform has an official plugin |
| Custom webhook, reconciliation and order logic | ₦300,000–₦1,500,000 | Depends on the complexity of orders, wallets and statements |
| Adding transfer to an existing custom web application | ₦150,000–₦800,000 | Assumes an existing checkout and order model |
| Monthly maintenance and monitoring | ₦20,000–₦150,000 | Often folded into a website maintenance retainer |
Two things are worth stating plainly. First, the transaction fee is not the real comparison; the real comparison is fee versus staff hours, disputes and delayed dispatch. Second, ask any developer quoting for this to include webhook verification, re-verification before fulfilment and a reconciliation report, and compare two or three written quotations on that identical scope.
How to set it up: implementation steps
- Register the business and open a corporate bank account. CAC registration and a business account enable full gateway settlement and reduce the risk of a personal account being restricted for commercial volume.
- Choose a gateway on settlement speed, support responsiveness, transfer channel quality and documentation. The comparison in the Paystack versus Flutterwave article covers how to evaluate them.
- Complete compliance onboarding with your documents before you need the money to move.
- Enable the bank transfer channel in the dashboard and decide whether you also need dedicated virtual accounts for repeat customers.
- Integrate the checkout. Use the official plugin if you are on a store platform; use a hosted checkout or payment link if you are selling through WhatsApp or Instagram.
- Build the webhook properly: verify signatures, re-verify with the gateway, handle duplicates, compare amounts in kobo.
- Define the states an order can be in and show them to both the customer and your staff.
- Write the confirmation messages. A WhatsApp or SMS message on payment received removes most "have you seen my payment?" enquiries.
- Test with real small amounts from at least three different banks and one fintech wallet, including a deliberate wrong-amount test.
- Set a reconciliation routine. A weekly report matching gateway settlements to bank credits takes minutes and catches problems early.
Mistakes to avoid
- Confirming payments from SMS alerts. Reason: alert messages are trivially faked; only your banking app or gateway dashboard is authoritative.
- Trusting a webhook without verifying it. Reason: an unverified endpoint lets anyone mark orders as paid by posting to your URL.
- Releasing goods on "payment pending". Reason: pending means the money has not arrived; delivery staff need one unambiguous signal.
- Posting a personal account number for business sales. Reason: it mixes personal and business funds, complicates records and can trigger account restrictions.
- Requiring the sender's name to match the buyer's. Reason: Nigerian customers routinely pay from another person's account or a wallet; you will reject good orders.
- Hiding the transfer option behind card. Reason: many customers abandon rather than hunt for the method they prefer.
- No handling for overpayment or underpayment. Reason: without a rule, every mismatch becomes a manual argument; decide in advance whether you credit a balance or refund.
- Ignoring settlement timing. Reason: spending a gateway balance that has not settled creates avoidable cash-flow stress.
Conclusion
Accepting bank transfers online in Nigeria is less about receiving money and more about confirming it without a human in the loop. Start by deciding which of the three models fits your order pattern: manual for a few bespoke orders, pay-with-transfer for a normal online store, dedicated virtual accounts for repeat and wholesale customers. Then invest the small amount of engineering that makes confirmation trustworthy: verified webhooks, server-side re-verification, exact amount checks and clear order states. Every business that does this gets the same three benefits, which are fewer disputes, faster dispatch and reconciliation that takes minutes instead of an afternoon.
If your business still confirms transfers by reading screenshots, Linestech can set up automated transfer payments, dedicated virtual accounts and reliable reconciliation on your website, store or custom system.
Frequently asked questions
Can I accept bank transfers online without a payment gateway?
Yes, by publishing your account number and confirming each credit manually, but you lose automatic confirmation, you carry the risk of doctored screenshots, and staff spend time matching payments to orders. It is acceptable for a handful of high-value bespoke orders a month and unmanageable beyond that.
How long does a pay-with-transfer confirmation take?
On Nigeria's instant payment rails, most transfers reflect within seconds, and your webhook fires as soon as the credit lands. Occasional delays happen when a bank is having a bad day. Build a visible "awaiting payment" state and give support a way to check a transaction by reference rather than asking customers to resend screenshots.
What is the difference between a virtual account and my normal business account?
A dedicated virtual account is a NUBAN number issued through your payment provider and assigned to one customer, so every credit is automatically attributed to that customer. Your normal business account receives money from everyone into one place, which is why matching credits to orders requires manual work or a reference system.
Do customers pay a charge to transfer to me?
The customer's bank applies its own transfer charge, which is typically small and outside your control. Some customers deduct it from the amount they send, which is why exact-amount matching needs a tolerance rule or a virtual account that accepts any amount.
Is bank transfer safer than card payment for my business?
Bank transfers in Nigeria are effectively final once received, so they carry far less chargeback risk than card payments. The risk shifts to confirmation fraud, where a buyer claims to have paid. Automated confirmation removes that risk, which makes properly implemented transfer one of the lowest-risk online payment methods for a Nigerian seller.
Can I accept transfers for orders taken on WhatsApp or Instagram?
Yes. Generate a payment link per order from your gateway dashboard and send it in the chat; the link offers transfer with a dedicated account number and confirms automatically. This keeps the conversational sales process while removing screenshot verification.
What happens if a customer pays after the account number expires?
The gateway usually still records the credit but may not attribute it to the expired session automatically. Your support team should be able to search by amount, date and sender, then confirm the order manually. Make sure someone owns this process, or late payments become lost orders.
Do I need CAC registration to accept transfers online?
Payment providers generally require business documentation for full settlement, higher limits and a corporate bank account, and CAC registration is the usual starting point. Requirements change, so confirm the current onboarding checklist with your chosen provider and with the Corporate Affairs Commission.
Sources and further reading
Figures, platform rules and regulations change. These are the primary references behind this article and the places to check before you act on it.


