Paystack payment methods your Nigerian customers can use
The ways a Nigerian customer can pay a Paystack invoice link, from Verve cards to Pay with Bank, Pay with Transfer and USSD, and what each needs.
By Achekam · · 4 min read · For Running a business businesses in Nigeria
You send an invoice with a "Pay now" link, and within the hour a customer calls: "It's asking for a card, but I want to pay from my account." Another customer on the same day pays by dialling a code on a basic phone. A third sends a transfer to an account number that appeared on the screen. All three used Paystack, and each took a different road.
Knowing which roads exist, and what each one needs from you behind the scenes, saves a lot of confused phone calls. This article walks through the payment channels Paystack documents for Nigerian customers and explains how a payment on an Achekam invoice link reaches your books.
Cards, including Verve
Paystack's documentation says it supports Visa and Mastercard cards in all its markets, Verve cards in Nigeria, and American Express in Nigeria, South Africa and Kenya. Card payments are available on all Paystack accounts.
Verve is the scheme worth naming on a Nigerian invoice, so that a customer holding a Verve card knows before they click that the checkout will take it.
Pay with Bank
Paystack's documentation describes Pay with Bank as a feature where customers pay through an internet banking portal, or by giving their bank account number and an OTP. It says the feature is currently available to businesses in Nigeria.
Paystack is careful to separate this from a bank transfer. With Pay with Bank, the customer authorises the payment from their own bank within the checkout. With a transfer, described next, the customer sends money to an account number. To a customer they can feel similar; behind the scenes they are different channels.
Pay with Transfer
According to Paystack's documentation, Pay with Transfer is available to businesses in Nigeria and Ghana only. It generates a temporary bank account number tied to the customer's transaction, which becomes invalid after that transaction or when it passes its expiry time.
This channel suits customers who are used to paying by transfer from their banking app. The catch is that the temporary account number belongs to one payment. A customer who saves it and reuses it next month, or who sends a different amount, creates a problem. Paystack says that to confirm a bank transfer payment you must implement webhooks and listen for two events: charge.success, sent when the customer's transfer succeeds, and bank.transfer.rejected, sent when the customer sent an incorrect amount or was flagged by Paystack's fraud system.
What to do when the amount is wrong or the number has expired is covered in when a customer transfers the wrong amount via Paystack.
USSD
Paystack's documentation says its Pay via USSD channel is for Nigerian customers, who pay by dialling a USSD code and authenticating with a PIN. It lists Guaranty Trust Bank (737) as the supported USSD type, and says that charging returning customers directly by USSD isn't currently available.
USSD works for customers without data or a smartphone, which makes it valuable for some businesses and irrelevant for others. Paystack also notes that webhooks must be set up on the Paystack Dashboard to receive the payment response for USSD. Without the webhook, a USSD payment has no reliable way to tell your systems it succeeded.
What is available on your account
Card payments are on every Paystack account; Paystack says the other channels are offered only where supported. Before you tell customers what they can use, log in to your Paystack Dashboard and check which channels are switched on for your business. Mobile money, which customers in Ghana and Kenya use, is not available to businesses in Nigeria.
Pay links on Achekam invoices
In Achekam, a business can create a payment link for an issued customer invoice, copy it or e-mail it with the invoice, and the customer pays on a public page showing the business's name and branding. There is no link for a draft or voided invoice. A link lasts 14 days by default, the period can be set between 1 and 720 hours, and an open link for the same amount is reused rather than duplicated.
A naira invoice can be paid online through Paystack or Flutterwave, or by bank transfer. When the customer chooses Paystack, the channel they use inside Paystack's checkout is between them and Paystack.
What Achekam controls is what happens next. Each Paystack payment is confirmed with Paystack before it is recorded. Notifications are checked by signature and re-verified through Paystack's verify API, and the business pastes the webhook address Achekam gives it into its Paystack dashboard. That one webhook set-up serves every channel, including the transfer and USSD channels that depend on it. Once confirmed, the payment is recorded against the invoice in your books, so the customer's account and your ledger move together.
Telling customers what to expect
A short line on the invoice e-mail heads off most questions. For example:
- "Pay by card (Visa, Mastercard or Verve), from your bank account, by transfer or by USSD, depending on the options shown on the payment page."
- "If you pay by transfer, use the account number shown for this payment only, and send the exact amount."
- "The link expires; ask us for a new one if it has."
Paystack documents each channel, with the countries and conditions that apply, on its payment channels page. For the bigger picture of naira collections, including bank transfer without a gateway, see collecting naira payments. Check your Dashboard's channel list today, then write the line for your invoice e-mail.
General guidance only, not advice on your own circumstances. Tax and payroll rules change: check the current position with the authority or your adviser.