NORAH Payment Gateway API

Welcome to the NORAH API documentation. This comprehensive guide will help you integrate our secure payment gateway into your applications.

Base URL

https://dev.npg.co.zw/api/v1

Contact Information

📞 (+263) 787 193 326

📧 info@prodleader.co.zw

📍 194 Baines Avenue, Harare

Key Features

✓ Secure payment processing

✓ Multi-currency support

✓ Real-time transaction tracking

✓ Comprehensive reporting

Understanding the Gateway Architecture

NORAH uses a role-based access system with three primary user types:

👑 SUPER Users: System administrators who manage global settings, system charges, and have highest privileges

🏢 ADMIN Users: Company administrators who manage merchants, users, and company-specific charges

🛍️ MERCHANT Users: Merchants who process payments and view their transaction history

API Integration Flow

Here's the typical workflow for integrating NORAH:

  1. 1. Setup Phase: Create admin account → Confirm email → Sign in to get JWT token
  2. 2. Configuration: Create merchants → Set up charges and fees → Configure return/webhook URLs
  3. 3. Transaction Phase: Generate payment tokens → Customer initiates payment → Handle payment callbacks
  4. 4. Settlement: View transactions → Generate reports → Process settlements

Authentication Flow

All API requests require JWT token authentication. Here's the typical flow:

  1. Register an admin account via sign-up endpoint
  2. Confirm email address (check your inbox)
  3. Sign in to receive JWT access token
  4. Include token in Authorization header for all subsequent requests
  5. Refresh token when it expires (1 hour default)

Important Concepts

Charges: The system automatically calculates charges based on thresholds. Define system-wide charges for all transactions and merchant-specific charges for individual merchants.

Transaction Tokens: Generate JWT tokens before initiating payments. These tokens encode transaction details and expire quickly (1 minute) for security.

Trace IDs: Every transaction gets a unique trace ID for tracking. Use this to check payment status and handle callbacks.