Paystack by Country: Nigeria, Ghana, South Africa, Kenya, Rwanda, Cote d'Ivoire
Paystack operates in six African countries: Nigeria, Ghana, South Africa, Kenya, Rwanda, and Cote d'Ivoire. Each market offers different payment channels, settles in a different local currency, and has unique compliance and onboarding requirements. The API surface is the same everywhere, but the checkout experience your customers see changes significantly by country.
Paystack's Country Coverage in 2026
Paystack launched in Nigeria in 2016. Since then, it has expanded to five more African countries: Ghana, South Africa, Kenya, Rwanda, and Cote d'Ivoire. All six markets are live and accepting payments. If you are building a product for African customers, understanding what each country offers (and what it does not) will save you weeks of integration surprises.
The core API is identical across all six countries. You call POST /transaction/initialize the same way whether the customer is in Lagos or Nairobi. The response structure is the same. The webhook format is the same. What changes is the set of payment channels available at checkout, the settlement currency, the onboarding documents Paystack asks for, and the regulatory environment your business sits inside.
This guide walks through each country individually, then covers the strategic questions: where to launch first, how to handle multi-country checkouts, and how compliance and onboarding differ across borders.
For the full technical reference on how Paystack works under the hood, see Paystack: The Complete Engineering Guide for African Developers.
Nigeria: The Home Market
Nigeria is where Paystack started, and it remains the most feature-complete market. If a feature exists anywhere in Paystack, it almost certainly exists in Nigeria first.
Available Payment Channels
- Cards. Visa, Mastercard, and Verve. Verve is a Nigerian domestic card scheme, so you will see it here but nowhere else. Card payments settle the fastest and have the highest success rates.
- Bank transfer. The customer gets a temporary account number at checkout and makes a transfer from their banking app. This is extremely popular in Nigeria because many users distrust entering card details online.
- USSD. The customer dials a bank-specific USSD code to authorize the payment. Works on feature phones. Lower success rates than cards or bank transfers, but reaches the unbanked.
- Dedicated virtual accounts (DVA). You can assign a permanent virtual account number to each of your users. When they transfer to that number, Paystack credits their account in your system automatically. Useful for wallets, savings apps, and recurring deposits.
- QR code. NQR-compatible QR payments at checkout.
- Apple Pay. Available for customers with Apple devices and supported Nigerian bank cards.
Settlement Currency
NGN (Nigerian Naira). Paystack settles to your Nigerian bank account. Settlement timelines are typically next-business-day for established accounts, though this can vary. [TODO: verify on paystack.com/pricing]
Compliance Requirements
To go live in Nigeria, Paystack requires your CAC (Corporate Affairs Commission) certificate, the BVN (Bank Verification Number) of a director, and your bank account details. Sole proprietors can also register, but the documents differ slightly. Expect the review process to take a few business days.
Key Considerations
Nigeria has the highest transaction volume on Paystack. The bank transfer channel alone can account for 40-60% of checkout completions for consumer-facing products. If you only enable cards, you are leaving money on the table. Build your checkout to surface bank transfer prominently.
For the full breakdown, read Paystack in Nigeria: Complete Developer Guide. For payment channel details, see Payment Methods Available on Paystack in Nigeria.
Ghana: Mobile Money First
Ghana is Paystack's second-largest market, and mobile money dominates here. If you are building for Ghanaian customers and you do not support mobile money, you are ignoring how most people actually pay.
Available Payment Channels
- Cards. Visa and Mastercard. No Verve (that is Nigeria-only). Card penetration is lower than in Nigeria, so expect a smaller share of transactions to come through cards.
- Mobile money. MTN Mobile Money (MoMo), Vodafone Cash, and AirtelTigo Money. The customer enters their mobile money number at checkout, receives a prompt on their phone, and approves the payment with their PIN. MTN MoMo is by far the most popular.
- Bank transfer. Available but less commonly used than mobile money for consumer transactions.
Settlement Currency
GHS (Ghanaian Cedi). Paystack settles to your Ghanaian bank account. [TODO: verify on paystack.com/pricing]
Compliance Requirements
You need a Ghana Revenue Authority TIN (Tax Identification Number), your business registration certificate, and a Ghanaian bank account. Paystack may also request the ID of a director. The onboarding process is similar in length to Nigeria.
Key Considerations
Mobile money is not just popular in Ghana. It is the default. Many Ghanaian users do not have bank accounts or debit cards. Your checkout flow should present mobile money as the first option. The user experience is slightly different from card payments: the customer enters their number, waits for a prompt on their phone, enters their PIN, and the payment confirms. This takes 10 to 30 seconds, which means your UI needs to handle the waiting state gracefully.
For the full breakdown, read Paystack in Ghana: Complete Developer Guide.
South Africa: Cards and EFT
South Africa has the most developed banking infrastructure on the continent, and the checkout experience reflects that. Card penetration is high, and electronic fund transfers (EFT) are a well-established payment rail.
Available Payment Channels
- Cards. Visa and Mastercard. South African card payments have high success rates and fast settlement. This will likely be your primary channel here.
- Bank transfer / EFT. The customer can pay via an instant EFT from their bank account. This is a familiar payment method in the South African market.
- Apple Pay. Available for customers with supported devices and bank cards.
Settlement Currency
ZAR (South African Rand). Paystack settles to your South African bank account. [TODO: verify on paystack.com/pricing]
Compliance Requirements
South Africa has strict financial regulation. You need a CIPC (Companies and Intellectual Property Commission) registration, a South African bank account, the ID of a director, and your tax registration. The Financial Intelligence Centre Act (FICA) requirements mean Paystack may ask for additional KYC documents depending on your business type and expected transaction volumes.
Key Considerations
South African customers are accustomed to card payments in a way that customers in other African markets are not. You do not need to push bank transfer as aggressively here. However, the regulatory environment is more demanding. Plan for a longer onboarding process and more documentation than you would need in Nigeria or Ghana.
For the full breakdown, read Paystack in South Africa: Complete Developer Guide.
Kenya: M-Pesa and the Daraja Question
Kenya is the birthplace of mobile money. M-Pesa is so deeply embedded in daily life that many Kenyans use it more often than their bank accounts. This shapes everything about how you accept payments in Kenya through Paystack.
Available Payment Channels
- Cards. Visa and Mastercard. Used primarily by the urban, banked population and for international transactions.
- M-Pesa. Safaricom's mobile money system. This is the payment method most Kenyans reach for first. On Paystack, M-Pesa payments go through the Paystack-hosted checkout rather than a direct STK Push. The customer enters their phone number, receives a push notification, and enters their M-Pesa PIN.
- Pesalink. A bank-to-bank transfer network. Less common for consumer payments, but available for larger transactions where customers prefer bank transfers.
Settlement Currency
KES (Kenyan Shilling). Paystack settles to your Kenyan bank account. For details on settlement timelines and payout mechanics, see Settlement and Payouts on Paystack in Kenya. [TODO: verify on paystack.com/pricing]
Compliance Requirements
You need a KRA (Kenya Revenue Authority) PIN, your business registration certificate (from the Registrar of Companies), a Kenyan bank account, and the national ID of a director. Kenya's data protection law (the Data Protection Act, 2019) also applies, so you need to handle customer data carefully.
Key Considerations
The biggest question developers in Kenya ask is: should I use Paystack for M-Pesa, or should I integrate with Safaricom's Daraja API directly? The tradeoff is real. Paystack gives you a unified API and handles compliance, but the M-Pesa experience goes through Paystack's checkout page, which adds a step compared to a direct STK Push. Direct Daraja gives you full STK Push control (the payment prompt appears directly on the user's phone without any browser step), but you take on the compliance, callbacks, and reconciliation yourself.
If you are building a multi-country product and want one API for everything, Paystack makes sense. If you are building a Kenya-only product where M-Pesa checkout speed is critical, you may want Daraja directly or a hybrid approach.
For the full breakdown, read Paystack in Kenya: Complete Developer Guide. For checkout UX patterns, see Building a Local Checkout Experience for Kenya.
Rwanda: Mobile Money and Cards
Rwanda is one of Paystack's newer markets. The payment landscape here is shaped by mobile money adoption and the government's push toward a cashless economy.
Available Payment Channels
- Cards. Visa and Mastercard. Card usage is growing but still limited compared to mobile money for everyday consumer transactions.
- Mobile money. MTN Mobile Money (MoMo) is the dominant mobile money provider in Rwanda. The checkout flow works like Ghana: the customer enters their mobile money number, gets a prompt, and approves with their PIN.
Settlement Currency
RWF (Rwandan Franc). Paystack settles to your Rwandan bank account. [TODO: verify on paystack.com/pricing]
Compliance Requirements
You need an RDB (Rwanda Development Board) business registration, a Rwandan bank account, a TIN from the Rwanda Revenue Authority, and the ID of a director. Rwanda's regulatory environment is relatively streamlined compared to some other African markets, but the documentation requirements are still real.
Key Considerations
Rwanda's market is smaller than Nigeria, Ghana, or Kenya, but transaction volumes are growing. If you are expanding into East Africa, Rwanda pairs well with Kenya. The mobile money infrastructure is solid, and the business registration process is famously efficient (Rwanda consistently ranks high on ease of doing business indices). However, the smaller market size means your transaction volumes may take longer to scale.
For the full breakdown, read Paystack in Rwanda: Complete Developer Guide.
Cote d'Ivoire: Francophone West Africa
Cote d'Ivoire is Paystack's first francophone market. This matters more than you might think, because the currency, the banking system, and the regulatory framework are all different from anglophone West Africa.
Available Payment Channels
- Cards. Visa and Mastercard. Card usage in Cote d'Ivoire is concentrated among the urban, formally employed population.
- Mobile money. Orange Money and MTN Mobile Money are the two main providers. Orange Money tends to have the larger market share in Cote d'Ivoire. The checkout flow follows the same pattern: customer enters their number, receives a prompt, approves with their PIN.
Settlement Currency
XOF (West African CFA Franc). The CFA franc is pegged to the Euro, which means the exchange rate is stable. Paystack settles to your Ivorian bank account. [TODO: verify on paystack.com/pricing]
Compliance Requirements
You need a RCCM (Registre du Commerce et du Credit Mobilier) registration, a local bank account, a tax identification number, and the ID of a director. Documentation is typically in French. If your team operates in English, factor in time for translation and navigation of French-language regulatory processes.
Key Considerations
Cote d'Ivoire gives you access to the broader UEMOA (West African Economic and Monetary Union) zone, which shares the CFA franc. If you plan to expand into Senegal, Burkina Faso, Mali, or other UEMOA countries, starting with Cote d'Ivoire builds familiarity with the currency and regulatory patterns you will encounter across the region.
The language barrier is real. Your checkout experience should be in French. Your customer support should handle French. Your compliance documentation will be in French. If your team is entirely anglophone, budget extra time for this market.
For the full breakdown, read Paystack in Cote d'Ivoire: Complete Developer Guide.
Payment Channels at a Glance
Here is a side-by-side view of what is available where. This table saves you from reading six different documentation pages when you are deciding which channels to support.
| Channel | Nigeria | Ghana | South Africa | Kenya | Rwanda | Cote d'Ivoire |
|---|---|---|---|---|---|---|
| Visa / Mastercard | Yes | Yes | Yes | Yes | Yes | Yes |
| Verve | Yes | No | No | No | No | No |
| Bank transfer / EFT | Yes | Yes | Yes | Pesalink | No | No |
| Mobile money | No | MTN, Vodafone, AirtelTigo | No | M-Pesa | MTN MoMo | Orange, MTN |
| USSD | Yes | No | No | No | No | No |
| Dedicated virtual accounts | Yes | No | No | No | No | No |
| QR code | Yes | No | No | No | No | No |
| Apple Pay | Yes | No | Yes | No | No | No |
| Settlement currency | NGN | GHS | ZAR | KES | RWF | XOF |
A few things stand out. Nigeria is the only country with USSD, dedicated virtual accounts, QR, and Verve card support. Mobile money is available in four countries (Ghana, Kenya, Rwanda, Cote d'Ivoire) but the specific providers differ. Cards are universal, but they are not the primary payment method in most of these markets.
Check Paystack's documentation for the most current channel availability, as new channels are added periodically.
Choosing the Right Country to Start
If you are building a product that could serve multiple African markets, you need to pick a starting point. Here is how to think about it.
Start Where Your Customers Are
This sounds obvious, but it is the most common mistake. Founders pick Nigeria because it has the most payment channels, or South Africa because it has the highest GDP per capita. That is backwards. Pick the country where you already have users, or where your first 100 paying customers will come from. Payment infrastructure is only useful if there are people on the other end.
Consider Channel Fit
If your product serves university students in Accra, mobile money is not optional. It is the whole game. If you are selling B2B software to South African companies, card payments and EFT will cover 95% of your transactions. If you are building a ride-hailing app in Nairobi, M-Pesa is the expected payment method. The country choice and the channel choice are the same decision.
Factor in Compliance Burden
Some countries are faster to get live in than others. Nigeria and Rwanda have relatively straightforward onboarding. South Africa has FICA requirements that can add time. Cote d'Ivoire requires French-language documentation. If speed to market matters, pick the country where you can get through compliance fastest.
Think About Settlement
You will receive settlements in the local currency of each country. If you are a Kenyan company collecting payments in Nigeria, your NGN settlements go to a Nigerian bank account. You then need to move that money to Kenya, which means foreign exchange and cross-border transfer costs. If you do not have a bank account in the country, you cannot receive settlements there at all. This is a hard constraint, not a preference.
The practical advice: start with one country. Get your integration solid, your webhook handlers reliable, your reconciliation clean. Then expand. Multi-country from day one is a recipe for bugs in production and money sitting in bank accounts you cannot access.
Multi-Country Checkout Strategies
Once you are live in more than one country, you need to think about how your checkout handles multi-country scenarios. Paystack does not have a single "multi-country" mode. You manage it yourself.
One Paystack Account Per Country
This is how Paystack works. Each country has its own business profile, its own API keys (public and secret), its own settlement account, and its own webhook URL (or you can share a webhook URL and route by examining the payload). There is no unified multi-country account.
In your backend, this means you store multiple sets of Paystack credentials. When a customer initiates a payment, your system needs to know which country they are paying in and use the corresponding secret key.
// Example: selecting the right Paystack key by country
const paystackKeys = {
NG: process.env.PAYSTACK_SECRET_KEY_NG,
GH: process.env.PAYSTACK_SECRET_KEY_GH,
ZA: process.env.PAYSTACK_SECRET_KEY_ZA,
KE: process.env.PAYSTACK_SECRET_KEY_KE,
RW: process.env.PAYSTACK_SECRET_KEY_RW,
CI: process.env.PAYSTACK_SECRET_KEY_CI,
};
function getPaystackKey(countryCode) {
const key = paystackKeys[countryCode];
if (!key) {
throw new Error('Paystack not configured for country: ' + countryCode);
}
return key;
}
Detecting the Customer's Country
You have a few options. You can let the customer select their country explicitly (a dropdown on your pricing page or during signup). You can infer it from their phone number format. You can use IP geolocation as a hint (but never as the sole determinant, because VPNs and diaspora users exist). The most reliable approach is to ask. If someone is paying in KES, they should have actively selected Kenya.
Currency and Amount Handling
Each country uses a different currency with a different smallest unit. NGN uses kobo (1 NGN = 100 kobo). GHS uses pesewas. KES uses cents. ZAR uses cents. RWF is already the smallest unit (no subdivision). XOF is also the smallest unit. Getting this wrong means you charge your customer 100x too much or 100x too little.
// Currency multipliers for Paystack amount conversion
const currencyMultipliers = {
NGN: 100, // kobo
GHS: 100, // pesewas
ZAR: 100, // cents
KES: 100, // cents
RWF: 1, // no subdivision
XOF: 1, // no subdivision
};
function toSmallestUnit(amount, currency) {
const multiplier = currencyMultipliers[currency];
if (!multiplier) {
throw new Error('Unknown currency: ' + currency);
}
return Math.round(amount * multiplier);
}
Webhook Routing
If you use a single webhook endpoint for all countries, you need to verify the signature with the correct secret key. The signature is generated using the secret key of the Paystack account that processed the transaction. One approach: try verifying against each key until one matches. A better approach: use a different webhook path per country (e.g., /webhooks/paystack/ng, /webhooks/paystack/ke) so you know which key to use before you verify.
Compliance and Onboarding Differences
Every country has its own compliance requirements, and they are not just checkboxes. The documents you need, the review timelines, and the ongoing obligations differ in ways that affect your launch schedule.
| Country | Business Registration | Tax ID | Director ID | Bank Account | Additional |
|---|---|---|---|---|---|
| Nigeria | CAC certificate | TIN (optional for some) | BVN | Nigerian bank | BVN verification |
| Ghana | RGD certificate | GRA TIN | National ID | Ghanaian bank | |
| South Africa | CIPC registration | SARS tax number | SA ID or passport | South African bank | FICA compliance |
| Kenya | Registrar certificate | KRA PIN | National ID | Kenyan bank | Data Protection Act |
| Rwanda | RDB registration | RRA TIN | National ID | Rwandan bank | |
| Cote d'Ivoire | RCCM registration | Tax ID | National ID or passport | Ivorian bank | French-language docs |
Common Pitfalls
- No local bank account. If you are a Kenyan company trying to go live in Nigeria, you need a Nigerian bank account. Paystack cannot settle to a foreign bank. Some companies open local subsidiary accounts; others use banking-as-a-service providers that offer multi-country accounts. Either way, solve this before you start integration.
- Mismatched business names. Your business registration name, your bank account name, and the name on your Paystack profile need to match. Mismatches cause delays during review.
- Slow document turnaround. In some countries, getting a tax ID or registration certificate takes weeks. Start the paperwork the moment you decide to enter a new market. Do not wait until your code is ready.
- Ongoing compliance. South Africa's FICA requirements and Kenya's Data Protection Act create ongoing obligations, not just onboarding hurdles. You may need to file periodic reports, respond to regulatory requests, or update your KYC processes.
The bottom line: treat compliance as a project, not a form. Assign someone on your team to own it. They will spend more time on email and document uploads than you expect.
Architectural Patterns for Multi-Country Paystack
If you are going multi-country, a few architectural decisions made early will save you from painful refactors later.
Abstract the Payment Provider
Wrap your Paystack calls behind an interface. Your application code should call something like paymentService.initializePayment(country, amount, currency, email). The implementation picks the right key, converts the amount to the right smallest unit, and calls Paystack. This abstraction also makes it easier to swap in a different provider for a specific country if needed (for example, using Daraja directly for M-Pesa in Kenya while using Paystack for everything else).
Store the Country on Every Transaction
When you record a transaction in your database, store the country code alongside the amount, currency, and Paystack reference. You will need it for reconciliation, for generating country-specific financial reports, and for debugging when a settlement is missing.
Separate Webhook Handlers
Use country-specific webhook paths. This simplifies signature verification and makes your logs easier to read. If your Nigerian webhook handler is failing, you do not want to wade through Kenyan and Ghanaian events to find it.
Reconciliation Per Country
Run your reconciliation jobs per country. Each country has its own settlement schedule, its own bank account, and its own currency. A single reconciliation job that mixes NGN and KES transactions will create confusion. Build country-level reconciliation from the start, even if you only have one country today.
Handle RWF and XOF Carefully
The Rwandan Franc and the West African CFA Franc do not have subdivision units. One RWF is one RWF, not 100 of something smaller. If your amount conversion code assumes every currency has a 100x multiplier, you will charge Rwandan and Ivorian customers 100x too much. Test this explicitly.
Where to Go From Here
This guide gives you the lay of the land. For the deep dive into any specific country, read the individual country guides:
- Paystack in Nigeria: Complete Developer Guide
- Paystack in Ghana: Complete Developer Guide
- Paystack in South Africa: Complete Developer Guide
- Paystack in Kenya: Complete Developer Guide
- Paystack in Rwanda: Complete Developer Guide
- Paystack in Cote d'Ivoire: Complete Developer Guide
For the overarching technical reference that covers the API regardless of country, see Paystack: The Complete Engineering Guide for African Developers.
If you are specifically interested in the M-Pesa angle in Kenya, and whether to use Paystack or integrate with Daraja directly, the Kenya guide and Building a Local Checkout Experience for Kenya cover that decision in detail.
And if you want to learn Paystack integration hands-on with projects and mentorship, McTaba's Full-Stack Software and AI Engineering program covers payment integration as part of the curriculum. You build real checkout flows, handle real webhooks, and ship to production.
Key Takeaways
- ✓Paystack operates in six countries: Nigeria, Ghana, South Africa, Kenya, Rwanda, and Cote d'Ivoire. The API is the same everywhere, but available payment channels, currencies, and compliance requirements differ.
- ✓Nigeria has the widest payment channel support: cards, bank transfers, USSD, dedicated virtual accounts, QR, and Apple Pay. Other countries have a subset of these.
- ✓Each country settles in its own local currency (NGN, GHS, ZAR, KES, RWF, XOF). You cannot choose a different settlement currency unless Paystack explicitly supports it for your account.
- ✓Onboarding documents vary by country. Nigeria requires a CAC certificate and BVN. Kenya requires a KRA PIN and business registration. Ghana requires a TIN. Plan for this before you launch.
- ✓Mobile money is the dominant checkout method in Ghana (MTN MoMo) and Cote d'Ivoire (Orange Money, MTN MoMo). In Kenya, M-Pesa goes through Paystack checkout rather than a direct STK Push.
- ✓You need a separate Paystack business profile for each country. There is no single multi-country account. Plan your architecture around multiple secret keys.
- ✓Start with the country where your customers already are. Multi-country expansion adds real complexity in compliance, settlement reconciliation, and key management.
Frequently Asked Questions
- Can I use one Paystack account for multiple countries?
- No. Paystack requires a separate business profile for each country. Each profile has its own API keys, its own compliance review, and its own settlement bank account. Your backend needs to manage multiple sets of credentials and route transactions to the correct profile based on the customer's country.
- Which Paystack country has the most payment channels?
- Nigeria. It supports cards (including Verve), bank transfers, USSD, dedicated virtual accounts, QR codes, and Apple Pay. Other countries have a subset of these. Ghana, Kenya, Rwanda, and Cote d'Ivoire all have mobile money, which Nigeria does not.
- Does Paystack support M-Pesa in Kenya?
- Yes. Paystack supports M-Pesa in Kenya, but the payment goes through Paystack's hosted checkout page rather than a direct STK Push. The customer enters their phone number on the checkout page, receives a push notification from M-Pesa, and enters their PIN. If you need direct STK Push control, you would integrate with Safaricom's Daraja API directly.
- What currency does Paystack settle in for each country?
- Each country settles in its local currency: NGN for Nigeria, GHS for Ghana, ZAR for South Africa, KES for Kenya, RWF for Rwanda, and XOF for Cote d'Ivoire. You receive settlements in the currency of the country where the transaction was processed, into a bank account in that country.
- Do I need a local bank account to use Paystack in a country?
- Yes. Paystack settles to a bank account in the same country as the transaction. If you want to accept payments in Kenya, you need a Kenyan bank account. If you want to accept payments in Nigeria, you need a Nigerian bank account. There is no option to settle cross-border through Paystack directly.
Ready to build real-world apps?
Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.
Apply to the McTaba Marathon