Merchant Onboarding
Get set up as a Nile Pay merchant, complete KYC verification, and configure your account for payments.
Overview
This guide walks you through becoming a Nile Pay merchant. The process covers account creation, identity verification, and the technical setup required to start accepting payments.
Sign Up
Create your merchant account at nilepay.nilesquad.com. Provide a valid email address and complete email verification.
Level 1 KYC Verification
Complete the following verification steps:
- Business information: Product or service description
- Government ID: National ID or passport with photo
- Selfie verification: Real-time photo match against your ID
- Phone verification: Confirms you control the submitted phone number
- Identity verification fee: 5,000 UGX payment (one-time)
Background checks run automatically after submission. If approved, your account receives a 5,000,000 UGX monthly transaction limit.
Post-Approval Setup
After KYC approval, complete these steps before accepting live payments.
1. Create a Collection Account
A collection account holds incoming payments before settlement. Create your primary collection account in the merchant dashboard under Accounts.
2. Generate API Credentials
Navigate to Settings > API Keys in the dashboard:
- Public Key (
npk_live_...): used client-side for initialization - Secret Key (
nps_live_...): used server-side for signed requests
Store both keys securely. The secret key cannot be retrieved again after initial generation.
3. Configure Webhook URL
Set your webhook endpoint under Settings > Webhooks. This receives transaction events. See the Webhooks guide for details.
4. Configure Settlement Account
Define where funds are paid out. Under Accounts, add your bank account details. Settlement runs according to your agreed schedule.
5. Enable Optional Services
Available under Settings > Services:
- SMS receipts to customers
- Invoice generation
- Transaction notifications
SDK Initialization
After setup, initialize the SDK in your application:
import { createNilePay } from '@nilepay/sdk';
const nilePay = createNilePay({
environment: 'live',
apiKey: 'npk_live_your_public_key',
apiSecret: 'nps_live_your_secret_key',
});Next Steps
- Configure webhooks to receive payment notifications
- Create payment links to collect payments
- Test in sandbox before going live