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.
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.
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
| 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). |
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-sdkSet 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_hereTo 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
});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);
}
}The SDK includes high-performance native core support for:
- Windows: x64 (msvc)
- Linux: x64, arm64 (including
muslfor Docker/Alpine) - macOS: x64 (Intel), arm64 (Apple Silicon)
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
- Documentation: Official Guides
- Email Support: support@katorymnd.com
- Gmail Support: katorymnd@gmail.com