Skip to content

katorymnd/pawapay-node-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pawaPay Node.js SDK

A professional, high-performance Node.js SDK for integrating with the pawaPay API. This SDK provides a streamlined interface for mobile money deposits, refunds, payouts, and real-time transaction verification, built for production-grade fintech applications.


🏗️ Architecture

The SDK is designed for maximum reliability and speed. It utilizes a Native Core Integration to handle complex cryptographic operations and data normalization, ensuring that your payment processing is both fast and secure across all supported environments.

Folder Structure

example/          # Implementation samples and workflows
data/             # Localized MNO & API configurations
src/              # SDK Source code
  ├── api/        # API Request wrappers
  ├── core/       # Native runtime binaries
  └── utils/      # Internal helper logic
tests/            # Automated test suites
scripts/          # SDK management utilities

🚀 Key Features

Feature Description
Native Performance Core logic is executed via optimized native bindings.
Hybrid V1/V2 Support Toggle between pawaPay API V1 and V2 within the same project.
MNO Intelligence Automatic network availability checks before payment initiation.
Enterprise Logging Structured logging for successful and failed transaction flows.
Platform Optimized Pre-compiled for Windows, Linux, and macOS (Intel & Apple Silicon).

📦 Installation

The SDK is cross-platform and will automatically utilize the correct native components for your specific server architecture.

npm install @katorymnd/pawapay-node-sdk
# or
pnpm add @katorymnd/pawapay-node-sdk

🛠️ Configuration (.env)

Set up your project environment with your pawaPay credentials and SDK access keys.

# .env.example
# Sandbox API token (for testing environment)
PAWAPAY_SANDBOX_API_TOKEN=your_sandbox_api_token_here

# Production API token (for live environment)
PAWAPAY_PRODUCTION_API_TOKEN=your_production_api_token_here

# License key used by the Katorymnd PawaPay SDK
KATORYMND_PAWAPAY_SDK_LICENSE_KEY=your_license_key_here

# License domain (used for license validation)
PAWAPAY_SDK_LICENSE_DOMAIN=your_license_domain_here

# License secret (used for license validation)
PAWAPAY_SDK_LICENSE_SECRET=your_license_secret_here

💻 Usage

To begin, initialize the ApiClient. The SDK will perform a quick environmental check and prepare the native core for processing.

const { ApiClient } = require('@katorymnd/pawapay-node-sdk');

const client = new ApiClient({
    apiToken: process.env.PAWAPAY_SANDBOX_API_TOKEN,
    environment: 'sandbox', 
    licenseKey: process.env.KATORYMND_PAWAPAY_SDK_LICENSE_KEY,
    apiVersion: 'v2', 
    sslVerify: false  
});

📤 Initiating a Deposit

async function handlePayment() {
    try {
        const response = await client.initiateDepositV2(
            "unique-order-id-123",
            "5000",
            "UGX",
            "256783456789",
            "MTN_MOMO_UGA",
            "Payment for Order #101"
        );
        
        console.log("Response:", response.response);
    } catch (error) {
        console.error("API Error:", error.message);
    }
}

🌍 Platform Support

The SDK includes high-performance native core support for:

  • Windows: x64 (msvc)
  • Linux: x64, arm64 (including musl for Docker/Alpine)
  • macOS: x64 (Intel), arm64 (Apple Silicon)

🔐 Licensing

This is a commercial product. The SDK is licensed per domain and requires a valid key for operation.

👉 Get a License: katorymnd.com/pawapay-payment-sdk


🆘 Support


About

Official Node.js SDK by Katorymnd (Katorymnd Web Solutions) for PawaPay mobile money API integration in Africa

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors