The on-ramp currently supports NIBSS-based bank transfers for Nigerian payers (NGN) only. Support for additional currencies and payment methods is coming soon.
How It Works
On-Ramp Checkout Flow
Whenonramp is set to true on a payment link, the checkout replaces the standard crypto checkout with a dedicated on-ramp flow. The customer does not see wallet connect, QR codes, or manual transfer options — the entire experience is optimized for bank transfers.
Step-by-Step
Email and customer details
The customer enters their email address. If
collect_customer_info is enabled on the payment link (via the REST API), additional fields are shown: name, phone, company, and an optional billing address.Session initiation and verification
ZendFi initiates an on-ramp session and performs background OTP verification. The customer stays on the email screen with a loading indicator while this happens (typically a few seconds).
Bank transfer details
Once verified, the customer sees a virtual bank account with:
- Bank name — the receiving bank
- Account name — the virtual account holder name
- Account number — a unique account number for this transaction
- Amount in NGN — the exact Naira amount to transfer (including any service charges)
Payment confirmation
ZendFi polls for the incoming bank transfer. Once the NIBSS payment is confirmed, the checkout shows a success screen. If the transfer takes longer than 15 minutes, the checkout moves to an “Under Review” state where the customer is assured their payment is being processed and given support contact details.
Enable On-Ramp
Setonramp: true when creating a payment link:
Supported Payment Method
| Method | Network | Coverage |
|---|---|---|
| Bank Transfer | NIBSS | All major Nigerian banks |
Currency and Conversion
| Detail | Value |
|---|---|
| Customer pays in | NGN (Nigerian Naira) |
| Amount displayed as | NGN with service charge breakdown |
| Merchant receives | USDC (on Solana) |
| Exchange rate | Market rate at time of payment |
Customer Info Collection
Whencollect_customer_info is enabled on the payment link via the REST API, the email step expands to collect additional details:
| Field | Required | Description |
|---|---|---|
| Yes | Receipt and verification | |
| Full name | No | Customer’s name |
| Phone number | No | Contact number |
| Company | No | Business name |
| Billing address | No | Street, city, state, postal code, country |
Payment Link Configuration
Options
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | Yes | Payment amount in USD |
currency | string | No | Currency code (defaults to USD) |
description | string | No | Description shown on checkout |
onramp | boolean | No | Enable the on-ramp flow (defaults checkout to bank transfer) |
metadata | object | No | Custom key-value metadata |
The REST API also supports
collect_customer_info (boolean) to collect additional customer details (name, phone, address). This field is not available in the SDK type but can be passed via direct API calls.Webhook Handling
On-ramp payments fire the same webhook events as crypto payments. Your webhook handler does not need any special logic:Settlement
Regardless of whether the customer paid with crypto or via the on-ramp, the merchant always receives crypto:| Customer Pays | Merchant Receives |
|---|---|
| USDC (directly) | USDC |
| NGN bank transfer (via on-ramp) | USDC |
| SOL (directly) | SOL |
API Endpoint
Create payment links with on-ramp enabled via the REST API:Payment Lifecycle
Under Review State
If the bank transfer is not confirmed within 15 minutes, the checkout transitions to an “Under Review” screen. This is not a failure — Nigerian bank transfers can sometimes take longer to process. The screen explains what is happening and provides a support email (dispute@zendfi.tech) with the payment reference pre-filled. The payment will still be confirmed automatically once the transfer clears. The customer does not need to take any additional action.Testing
In test mode (zfi_test_ key), on-ramp payments use sandbox credentials. No real Naira is transferred.
Use Cases
Nigerian SaaS customers
Many Nigerian users do not hold crypto. Enable on-ramp so they can pay with their regular bank account while you still receive USDC settlement:E-commerce for Nigerian buyers
Accept payments from Nigerian customers using the payment method they are most familiar with — bank transfers:Donation and fundraising
Accept donations from Nigerian supporters without requiring them to have a crypto wallet:Coming Soon
The on-ramp is expanding beyond Nigeria. Planned additions include:- Additional African currencies (GHS, KES, ZAR)
- Card payments (Visa, Mastercard)
- Mobile money (M-Pesa, MTN MoMo)
- SEPA transfers (EUR)