How to Accept USSD Payments Online

USSD is the payment method most Nigerian businesses forget and some of their customers depend on. It runs over the same menu system people use to check airtime balance, so it works on a feature phone, on a smartphone with no data left, and in places where the mobile internet has gone quiet but voice and text still work.
This guide covers what USSD payments can and cannot do for an online business, how to turn them on, and how to decide whether they belong in your checkout at all.
What USSD payment actually is
USSD stands for Unstructured Supplementary Service Data. It is the technology behind codes like the ones your bank asks you to dial to check a balance or send money. The code opens a live session with the bank over the mobile network's signalling channel, not over the internet, which is why it works without data.
For payments, banks expose a transfer or payment option inside that menu. A payment gateway links your order to a bank's USSD service by generating a unique code or reference for that transaction. The customer dials it, authorises the payment with their PIN inside their own bank's menu, and the money moves. Your website never sees the PIN and never handles the bank session.
Three points worth stating plainly for anyone comparing options:
- USSD is a channel, not a separate payment provider. You do not sign up with a bank for each code; your gateway handles the bank relationships.
- The money still arrives in your gateway balance and settles like any other transaction.
- Availability depends on the customer's bank. Gateways support a list of Nigerian banks for USSD, and that list changes. Check the current list in your provider's documentation.
How a USSD payment works at checkout, step by step
- The customer reaches your checkout and selects USSD as the payment method.
- They choose their bank from the list your gateway displays.
- The gateway shows a dial string, for example a bank code combined with a transaction reference, along with the exact amount.
- The customer dials the string on the phone number linked to their bank account.
- Their bank's menu appears, shows the merchant and amount, and asks for their PIN.
- On approval, the bank debits the account and the gateway receives confirmation.
- The gateway calls your webhook, your order is marked paid, and the customer sees a success screen or a confirmation message.
One detail decides success or failure: the customer must dial from the phone number registered with that bank account. A customer using a second SIM, a borrowed phone or a number they changed and never updated with the bank will fail at step five. Saying this in one line of on-screen copy prevents a large share of abandoned USSD attempts.
USSD compared with card and transfer
| Factor | USSD | Card | Bank transfer |
|---|---|---|---|
| Needs internet on the customer's phone | No, only for reaching your site | Yes | Yes, for the banking app |
| Needs a card | No | Yes | No |
| Works on a feature phone | Yes | No | No |
| Typical completion speed | Under a minute when it works | Seconds | Seconds |
| Chargeback risk to the merchant | Very low | Present | Very low |
| Transaction value suitability | Small to moderate | Small to large | Small to large |
| Common failure cause | Wrong phone number or bank not supported | Card blocked for online use or insufficient limit | Wrong amount or expired session |
| Effort to enable | Dashboard toggle | Dashboard toggle | Dashboard toggle |
The honest summary: USSD is the least used of the three by transaction value on most Nigerian stores, and the most useful for the specific customers who have no other way to pay. It is cheap to offer, so the question is rarely whether it is worth the cost and more whether it clutters your checkout.
The limits you must design around
Transaction limits. Banks apply their own daily and per-transaction limits to USSD channels, and these are generally lower than app or card limits. High-value orders will simply fail. Do not offer USSD as an option on a ₦900,000 order unless you have confirmed it works.
Session timeouts. A USSD session lasts a short time before the network drops it. Customers who are searching for the code, reading it off a screen on another device, or hunting for their PIN will time out and must start again.
Bank coverage. Not every Nigerian bank is available for USSD through every gateway, and the list changes. Show only the banks your provider currently supports.
Telco charges. Mobile networks charge a small session fee for USSD in Nigeria, paid by the customer. It is small, but it exists and customers notice it.
No card-style authentication. The customer's bank PIN is the authorisation. This is secure, but it also means the customer must remember their PIN and must not be socially engineered into dialling a code someone sent them. Your copy should never ask for a PIN anywhere.
Reference expiry. The transaction reference expires. Payments dialled far later usually need manual reconciliation.
Which Nigerian businesses genuinely gain from USSD
USSD earns its place when a meaningful number of your customers are outside the smartphone-and-card mainstream, or when data reliability is part of the buying environment.
Strong fit:
- Agricultural input sellers, feed merchants and rural distributors
- Schools and training centres collecting fees from parents across a wide income range
- Utility, subscription and levy collections with small repeat amounts
- Transport, logistics drop-off payments and small-ticket services
- Religious organisations, associations and cooperatives collecting dues
- Businesses serving customers who share phones or use feature phones
Weak fit:
- High-value bespoke goods, where bank limits will block the transaction
- Businesses selling mainly to urban professionals who use cards and banking apps
- Very small catalogues where every extra checkout option adds friction
Neutral but worth enabling: most general e-commerce stores. It costs nothing to leave on, and it occasionally rescues an order from a customer whose card was declined.
What changes for Nigerian businesses
Data is a real cost, and networks are uneven. A customer browsing your catalogue on a low data plan may not want to open a banking app that downloads several megabytes to load. USSD lets them finish the purchase in a session measured in kilobytes.
Financial inclusion is not evenly distributed. Card ownership and app usage vary widely across income levels and regions. A business selling into agricultural or semi-urban markets meets customers for whom USSD is the primary way of moving money, not a fallback.
Bank PIN fraud is a live risk in the customer's mind. Nigerians are warned constantly not to dial codes strangers send them. Your checkout should display the code on your own page, name your business, and never send unsolicited dial strings by SMS or WhatsApp.
Shared phones and multiple SIMs are common. The requirement to dial from the bank-registered number causes real failures. A one-line instruction on the page is the highest-value piece of copy in the whole flow.
Settlement is the same as any other channel. Money lands in your gateway balance and settles on your provider's schedule, typically the next working day for local transactions, with weekends and holidays extending it. Confirm the current cycle with your provider.
Compliance still applies. The gateway requires business documentation such as CAC registration for full settlement, and customer records you keep are personal data under the Nigeria Data Protection Act 2023. Verify current requirements with your provider and the NDPC rather than relying on a summary.
Example (hypothetical): an agro-inputs seller in Kano
Example (hypothetical): A business in Kano sells fertiliser, seed and small farm tools to smallholder farmers and village-level agents, with a simple website and a WhatsApp ordering line. Orders range from ₦8,000 to ₦120,000. Card payments fail often; many customers do not have a card they use online. Most orders end in a transfer, which works, but a segment of customers cannot complete a transfer because they bank through a feature phone.
What it does. The business enables the USSD channel on its existing gateway and adds it as the second option at checkout, after transfer. On the WhatsApp line, agents send a payment link; the link's checkout offers USSD. A short line of copy reads: "Dial from the phone number your bank has for you."
What changes (illustrative, not a claim). A group of customers who previously paid cash to a travelling agent can now pay themselves, which shortens the order-to-dispatch cycle and removes cash-handling risk for agents. Orders above the bank USSD limit still have to go by transfer, so the checkout hides USSD when the order value is high. Failed attempts drop noticeably once the phone-number instruction is added. Nothing about the website changes structurally; the gain comes from one channel being switched on and explained.
What USSD payments cost (indicative)
All figures are indicative 2026 ranges; actual costs vary with your provider, volume and negotiated terms. Verify current published rates with your payment provider.
| Cost item | Who pays | Indicative level |
|---|---|---|
| Gateway transaction fee | Merchant | A percentage of the transaction, published per provider, often with a cap on local transactions |
| USSD session charge | Customer | A small per-session telco charge |
| Enabling the channel on an existing gateway | Merchant | Usually no fee; dashboard configuration |
| Adding USSD to an existing checkout | Merchant | ₦0–₦150,000 depending on whether your platform plugin already supports it |
| Building USSD into a custom checkout | Merchant | ₦150,000–₦600,000 including webhook handling and order states |
| Ongoing monitoring and reconciliation | Merchant | Typically inside a ₦20,000–₦150,000 monthly maintenance retainer |
USSD is one of the cheapest channels to add because the hard work already exists inside your gateway integration. If a developer quotes a large figure to "build USSD payments", ask specifically what is being built beyond enabling a channel and handling its webhook, and compare two or three written quotations on identical scope.
How to enable USSD payments: implementation steps
- Confirm your gateway supports USSD and check its current list of supported banks in the official documentation.
- Complete business verification if you have not already; CAC documents and a corporate account are typically required for full settlement.
- Switch the channel on in the dashboard and, where the option exists, choose which channels appear by default at checkout.
- Update your checkout so USSD appears with a plain-language label such as "Pay with your bank's USSD code (no data needed)".
- Add the bank selector and display the generated dial string in large, copyable text.
- Write the two instruction lines: dial from the number registered with your bank, and complete the session promptly.
- Hide USSD above a value threshold that reflects typical bank limits, so customers are not sent into a transaction that will be declined.
- Handle the webhook exactly as for other channels: verify the signature, re-verify the transaction server-side, check the amount, and make processing idempotent.
- Test end to end with at least two different banks and one deliberate failure, so you can see what the customer sees when it goes wrong.
- Review the data monthly. If USSD attempts are high but completions are low, the problem is almost always copy, bank coverage or value limits.
Mistakes to avoid
- Offering USSD on high-value orders. Reason: bank limits will decline the transaction and the customer blames your site.
- Omitting the registered-phone-number instruction. Reason: it is the single most common cause of failed USSD attempts.
- Sending dial codes by unsolicited SMS or WhatsApp. Reason: it mirrors the exact pattern of a known fraud, and cautious customers will refuse.
- Asking for a PIN anywhere on your site or in chat. Reason: legitimate merchants never see a bank PIN; asking destroys trust and invites abuse.
- Listing banks your gateway does not support. Reason: the customer completes six steps and fails at the last one.
- Treating USSD as a replacement for transfer. Reason: transfer carries most Nigerian online payment value; USSD is a complement for specific customers.
- Leaving no manual path for expired references. Reason: a customer who paid late needs someone able to trace the payment and release the order.
- Cluttering a checkout with every possible channel. Reason: too many options slow decisions; order the channels by what your customers actually use.
Conclusion
USSD payments are a small, cheap addition with a specific payoff: they let customers with no data, no card or no banking app finish a purchase. Enable the channel in your gateway, show only the banks it supports, tell customers to dial from their bank-registered phone number, hide the option above typical bank limits, and handle the webhook with the same discipline you apply to card and transfer. Then look at the numbers after a month. For most urban-facing stores USSD will be a minor channel worth keeping; for businesses serving agricultural, semi-urban or mixed-income customers, it can quietly rescue a meaningful share of orders.
If you want your checkout to cover card, transfer and USSD properly, with confirmation that reaches your order system automatically, Linestech works with Nigerian businesses on payment integration and checkout design.
Frequently asked questions
Do I need a separate agreement with each bank to accept USSD?
No. Your payment gateway maintains the bank relationships and exposes USSD as a channel inside your existing integration. You enable it from the dashboard and the gateway generates the correct dial string per bank and per transaction.
Can a customer pay by USSD if my website is down?
No. The customer needs your checkout or payment link to generate the reference. What USSD removes is the need for the customer to have working data at the moment of payment, not the need for your site to be reachable when the order is placed.
Why do USSD payments fail so often?
The three usual causes are dialling from a phone number the bank does not have on file, an order value above the bank's USSD limit, and the session timing out while the customer searches for the code. All three are fixable with clear on-screen instructions and a value threshold.
Is USSD secure for my business?
Yes. Authorisation happens inside the customer's own bank menu with their PIN, your systems never touch the PIN, and completed payments are effectively final, so chargeback risk is very low. Your responsibility is to display codes only on your own pages and never to request a PIN.
How quickly do I receive USSD payments?
Confirmation reaches your system within the same session, usually in under a minute. The money lands in your gateway balance and settles to your bank account on your provider's normal schedule, commonly the next working day for local transactions. Confirm the current cycle with your provider.
Should a small online store bother with USSD?
If your customers are mainly urban smartphone users, USSD will carry a small share of orders and is worth leaving switched on rather than promoting. If you sell to customers across a wider income and connectivity range, it can be the difference between an order and a lost sale.
Can I take USSD payments for orders placed on WhatsApp?
Yes. Generate a payment link from your gateway and send it in the chat. The link opens a checkout where USSD is one of the options, and confirmation reaches you automatically, which is better than asking for a screenshot.
Does USSD work for recurring or subscription payments?
Not well. USSD requires the customer to initiate each session, so it cannot authorise automatic future debits the way a card mandate or a direct-debit arrangement can. For subscriptions, use cards or a bank direct-debit product and keep USSD for one-off payments.
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.


