Nile PayNile Pay

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

On this page