Country detection
When you reach checkout, your country is detected automatically so you see the correct regional pricing and currency. You don’t need to set your country manually — the billing system resolves it from your account profile and applies the appropriate provider and rate.If your country is set incorrectly, update it in your account settings before
starting a checkout session.
Routing logic
How routing works
When you initiate a checkout or subscription change, the billing service resolves the payment provider based on your organization’s country code. You do not need to configure this — it is determined automatically from your account settings.Provider resolution
The billing service matches your country code against the routing table to select the optimal provider.
Routing table
| Region | Country codes | Provider | Currency |
|---|---|---|---|
| Nigeria | NG | Paystack | NGN |
| Africa (other) | GH, KE, ZA, and others | Flutterwave | GHS, KES, ZAR |
| Global (default) | All other countries | Stripe | USD |
If your country is not explicitly mapped, payments default to Stripe in USD.
Supported payment methods
Each provider supports different payment methods depending on the region:| Provider | Payment methods |
|---|---|
| Stripe | Credit/debit cards, ACH, wire transfer |
| Paystack | Cards, bank transfer, USSD, mobile money |
| Flutterwave | Cards, bank transfer, mobile money, USSD |
Purchase orders
Enterprise and government customers can pay via purchase order instead of card. Submit a purchase order from the console at Settings > Billing with:- A signed PO document (PDF upload)
- Billing contact and address
- PO number and expiration date
Testing in development
You can simulate different regions during development to verify that the correct provider is selected:Related
Billing overview
Plan tiers, rates, and usage management.
Rate limits
API rate limiting by plan tier.

