Coverage
Countries, payment methods, languages, and requirements for Nylon Pay
What Nylon Pay supports today and what is on the roadmap. Use this page to check that your country, currency, and payment method are available before you build.
At a glance
| Method / surface | Status | Where it works | How to use |
|---|---|---|---|
| Mobile Money | Available | Uganda, Kenya, Tanzania, Rwanda, DR Congo | SDK method: "mobileMoney" |
| Payment Links | Available | Same markets | Dashboard or SDK createInvoice |
| Bank Transfer | Available | Payouts from Send money or SDK makePayout | Bank account number and bank name |
| Utilities | Available | Dashboard Utilities page | Airtime, data, electricity, water, DStv, GOtv |
| Card (Visa) | v2 | Hosted checkout, coming in v2 | Hosted page |
| USSD | Planned | Enterprise on request | Contact Nylon Pay |
Payment links collect on a hosted page without checkout UI on your side. Bank payouts and utilities live on the dashboard today. Hosted card checkout is a later release.
Countries and currencies
Nylon Pay is built for Africa-first payments. Coverage expands as we onboard mobile money and banking partners in each market.
| Country | Currency | Code | Status |
|---|---|---|---|
| Uganda | Ugandan Shilling | UGX | Available |
| Kenya | Kenyan Shilling | KES | Available |
| Tanzania | Tanzanian Shilling | TZS | Available |
| Rwanda | Rwandan Franc | RWF | Available |
| DR Congo | Congolese Franc | CDF | Available |
Mobile money and payment links work in these markets. Use E.164 phone numbers for the destination country.
Additional currency codes
The SDK accepts these ISO 4217 codes for accounts and integrations that operate across borders:
| Currency | Code | Notes |
|---|---|---|
| US Dollar | USD | Cross-border and international settlement |
| Euro | EUR | Cross-border and international settlement |
| British Pound | GBP | Cross-border and international settlement |
Cross-border pricing applies where relevant. See Pricing.
Amounts
Pass amounts as integers in each currency's smallest tracked unit. For UGX, that is whole shillings (no decimals). Minimum collection amount is 500 UGX. Minimum payout amount is 5,000 UGX.
Payment methods
Mobile Money
Available now in Uganda, Kenya, Tanzania, Rwanda, and DR Congo.
| Country | Networks |
|---|---|
| Uganda | MTN MoMo, Airtel Money |
| Kenya | M-Pesa, Airtel Money |
| Tanzania | Airtel Money, Tigo, Vodacom, HaloPesa |
| Rwanda | MTN MoMo, Airtel Money |
| DR Congo | Airtel Money, Orange, Vodacom |
How it works:
- Your server calls
collectPayment/collect_payment(or the*AndResolvevariant). - The customer approves a prompt on their phone.
- You receive status updates through events or webhooks.
Phone numbers must be in E.164 format (for example +256700000000). See Phone Verification for pre-validation.
Minimum collection: 500 UGX. Minimum payout: 5,000 UGX.
Payment Links
Available now.
Payment links give customers a hosted page to pay you. No checkout UI required on your side. Share the URL through email, SMS, WhatsApp, or your website.
| Surface | What you get | Mobile money | Notes |
|---|---|---|---|
| Dashboard payment links | Reusable hosted URL | Yes | Create from the dashboard, no code |
SDK invoices (createInvoice) | Hosted URL + optional email | Yes | One reference per invoice from your server |
Dashboard links can stay open for multiple payers until they expire or you revoke them. SDK invoices are tied to a single reference you generate on the server.
When hosted payment links also collect from a bank account, the same webhook and status events apply. Today, programmatic invoice links collect via mobile money on the hosted page.
See Payment Links for the full guide and Invoices for the SDK API.
Bank Transfers
Available now for payouts.
Send money to a bank account from Send money or with SDK makePayout using a bank destination (account holder name and account number). Minimum bank payout is 50,000 UGX. See Pricing.
Level 2 merchants verify the settlement bank account during onboarding.
Utilities
Available now on the dashboard Utilities page.
Pay airtime, mobile data, prepaid electricity, NWSC water, DStv, and GOtv from your Nylon Pay balance. Open Utilities from the sidebar, or jump there with Cmd+K. See Dashboard.
Card Payments
Coming in v2.
Card checkout runs on a hosted payment page so card details never reach your servers. This extends the same hosted flow as Payment Links to SDK and API collections in v2.
When v2 ships:
- Cards run through a hosted page with 3D Secure.
- KYC Level 2 is required before card processing is enabled on your account.
- Africa-issued debit and credit cards are supported first. International cards follow as partnerships are confirmed.
See Requirements for KYC levels and card eligibility rules.
USSD
Planned. Available today on request for enterprise clients.
USSD lets customers initiate or confirm payments through a network short code on any phone, including devices without smartphones or mobile data. General availability is on the roadmap. Enterprise accounts can request early access with custom routing and volume commitments.
To discuss USSD for your organization:
Integration surfaces today
| Surface | Mobile Money | Payment link | Bank payout | Utilities | Card |
|---|---|---|---|---|---|
| SDK collect / payout | Yes | n/a | Payout yes | No | v2 (hosted) |
SDK invoice (createInvoice) | Yes (hosted link) | Yes | No | No | No |
| Dashboard | Yes | Yes | Send money | Utilities page | v2 |
The table reflects programmatic and dashboard integration status. Hosted links always run on Nylon Pay pages, not inside your app.
Choosing a method in code
// Mobile money collect: available today
const payment = await nylonpay.collectPayment({
amount: 10000,
currency: "UGX",
customer: { name: "Jane Doe", phoneNumber: "+256700000000" },
description: "Order #1234",
method: "mobileMoney",
});
// Payment link via invoice: available today
const invoice = await nylonpay.createInvoice({
amount: 25000,
currency: "UGX",
customerEmail: "customer@example.com",
description: "Order #1234",
});# Mobile money collect: available today
payment = nylonpay.collect_payment(
amount=10000,
currency="UGX",
customer={"name": "Jane Doe", "phone_number": "+256700000000"},
description="Order #1234",
method="mobileMoney",
)
# Payment link via invoice: available today
invoice = nylonpay.create_invoice(
amount=25000,
currency="UGX",
customer_email="customer@example.com",
description="Order #1234",
)Bank payouts use the same Result and webhook patterns as mobile money. Card collect stays on the hosted-page plan for v2. See Make Payout and Collect Payment.
Languages
Nylon Pay SDKs are open source and available in multiple programming languages. All SDKs follow the same API specification with idiomatic naming conventions for each language.
Currently available
- TypeScript -
@nile-squad/nylonpay-ts, Node.js 18+. The reference implementation. SDK Reference | Repository - Python -
nylonpay-py(pip install nylonpay-py), Python 3.10+. Uses snake_case (collect_payment,phone_number). SDK Reference | Repository - PHP -
nile-squad/nylonpay-php(composer require nile-squad/nylonpay-php), PHP 8.1+ withext-curl,ext-json,ext-openssl,ext-mbstring. Uses camelCase like TypeScript. SDK Reference | Repository
In pipeline
| Language | Status | Expected Release |
|---|---|---|
| Go | In pipeline | Q3 2026 |
| C# | In pipeline | Q4 2026 |
Planned
| Language | Status | Expected Release |
|---|---|---|
| Rust | Planned | Q4 2026 |
| Java | Planned | Q1 2027 |
| Kotlin | Planned | Q1 2027 |
| Elixir | Planned | Q2 2027 |
All pipeline and planned SDKs follow the same API specification. Language-idiomatic naming applies, for example collectPayment in TypeScript/PHP becomes collect_payment in Python.
Runtime requirements
All SDKs require:
- Server-side environment. SDKs are for backend use only. Client-side packages (browser, mobile) are not currently available.
- HTTPS support. All communication with Nylon Pay servers occurs over HTTPS.
- Authenticated requests. The SDK authenticates requests automatically.
- Language runtimes: Node.js 18+ (TypeScript), Python 3.10+ (Python), PHP 8.1+ with the extensions listed above (PHP).
SDK skills and contribution
Each available SDK ships a SKILL.md for language-specific setup and code. Cross-language flows and operation choice live in the integration skill. See Example prompts.
SDKs are open source. Contributions follow the SDK specification, the single source of truth for all implementations. Start from the public overview and CONTRIBUTING.
Requirements
Payment method availability by KYC level
| Method | Level 1 | Level 2 |
|---|---|---|
| Mobile Money | Available | Available |
| Bank payouts | Available | Available |
| Utilities | Available | Available |
| Cards (Africa-issued) | Not available | Required when cards ship (v2) |
See the Merchant Onboarding guide for details on KYC levels and how to upgrade.
KYC Level 2 requires Level 1 to be approved first. Level 2 review takes up to 5 business days and requires company documentation.
Card requirements
Card acceptance is planned for v2. When enabled on your account:
- Local cards only. Africa-issued debit and credit cards are accepted first. International cards follow as partnerships are confirmed.
- KYC Level 2 required. Card processing is not available at Level 1.
- Proof of bank account ownership. You must verify ownership of the settlement bank account during Level 2 onboarding.
- Non-virtual, non-prepaid cards only. Virtual and prepaid cards are not accepted.
Card processing ships in v2. Requirements above apply when card checkout is enabled for your account.
Mobile money requirements
- Available at all KYC levels
- Primary payment method for most merchants
- Phone in E.164 for the destination country
Bank transfer requirements
Bank payouts are available from Send money and the SDK. Settlement bank account ownership must be verified for Level 2.
Utilities requirements
- Available at all KYC levels from the dashboard Utilities page
- Airtime, data, electricity, water, DStv, and GOtv
Expansion
East and Central Africa coverage includes Uganda, Kenya, Tanzania, Rwanda, and DR Congo. For status updates, join the WhatsApp community or request coverage on the public hub.
Related
- Features
- Merchant Onboarding, KYC levels and verification process
- Payment Links
- Collect Payment
- Invoices