The verdict in three sentences
Paystack's checkout in Nigeria relies on a server-side initialize that returns an authorization URL or access code, a Popup/Inline modal where the customer pays, then a mandatory server verify of the reference before you fulfil the order. Card, bank transfer and USSD all flow through the same verify step, so one clean pattern covers every channel. Never fulfil on the front-end callback alone: always call the verify endpoint or trust the signed webhook.
Request structure and API keys
Paystack clearly separates test and live environments. Every initialize call carries your secret key and a unique transaction reference.
| Element | Value / role | Required |
|---|---|---|
| Test key (sk_test) | Simulates payments, no real money | Yes |
| Live key (sk_live) | Active in production after approval | Yes |
amount | Amount in kobo (NGN × 100) | Yes |
email | Customer email | Yes |
reference | Unique transaction reference | Recommended |
callback_url | Redirect after payment | Yes |
| Webhook URL | Server notification endpoint | Recommended |
The initialize response returns an authorization_url and an access_code. You keep the reference to call /transaction/verify/:reference. The server verify is mandatory: it alone is authoritative.
Limits, currency and delays to know
Before go-live, anchor your logic on these 2026 orders of magnitude (confirm against your merchant contract).
| Parameter | Paystack Nigeria | Note |
|---|---|---|
| Currency | NGN (kobo internally) | Amount × 100 |
| Minimum amount (est.) | NGN 100 | Below is often rejected |
| Channels | Card, transfer, USSD, QR | Configurable |
| Verify | Mandatory | Source of truth |
| Webhook signature | HMAC SHA512 | Verify header |
| Async notification | Yes | Recommended |
Remember the kobo trap: NGN 3,500 must be sent as 350000. A missing ×100 is the single most common Paystack integration bug, quietly charging 100× too little.
Mini case study
Emeka, who runs an electronics shop in Lagos, does 120 orders/month at an average basket of NGN 45,000, i.e. NGN 5.4m. His first build fulfilled orders on the callback URL alone; a handful of failed cards still slipped through as "paid," costing about NGN 160,000/month in shipped-but-unpaid goods. Adding a mandatory verify step for NGN 120,000 of dev cut that loss to near zero. Payback: under one month.
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
FAQ
Is the server verify really mandatory?
Yes. The callback URL can be spoofed or lost. Only the verify call with your reference, or the signed webhook, confirms an NGN 45,000 payment truly succeeded.
Why is the amount in kobo?
Paystack stores amounts in the smallest unit. NGN 3,500 is 350000. Forgetting the ×100 is the most common bug and charges the wrong amount.
What minimum amount should I plan for?
As a 2026 order of magnitude, around NGN 100 minimum per transaction, to confirm with your contract. There is no hard practical maximum, but large amounts may trigger extra checks.
How do I handle a payment timeout?
If the customer abandons the modal, keep the reference pending and let them retry. Never mark an order paid until verify returns status: success.
How much does Paystack integration cost?
Expect NGN 80,000 to 250,000 for a clean Inline integration with server verify and webhook. It pays back fast once volume passes a few dozen orders a month.
Let's talk about your project. We integrate Paystack into your checkout with a mandatory verify and signed webhook. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.

