@maxnate/provider-azampay
v0.1.1
Published
AzamPay payment provider for @maxnate/payments-core. Supports Standard Checkout (card/mobile redirect) and MNO Checkout (direct mobile money) in Tanzania.
Maintainers
Readme
@maxnate/provider-azampay
AzamPay payment provider for @maxnate/payments-core.
Payment Types
| Type | paymentType | Currency | Flow |
|---|---|---|---|
| Standard Checkout | "checkout" | TZS | Hosted payment page (card, mobile, bank) |
| MNO Checkout | "mobile" | TZS | Direct mobile money USSD push |
| Bank Checkout | "bank" | TZS | Direct bank account pull (CRDB, NMB) |
Authentication
JWT token via POST /AppRegistration/GenerateToken. Auto-refreshed.
| Credential | Required | Description |
|---|---|---|
| appName | ✅ | Application name from AzamPay portal |
| clientId | ✅ | Client ID from AzamPay portal |
| clientSecret | ✅ | Client Secret from AzamPay portal |
| apiKey | ✅ | API Key from settings page |
| vendorId | for checkout | Vendor ID for hosted payment page |
| vendorName | for checkout | Business name for hosted payment page |
Usage
import { createPaymentProviderRegistry } from '@maxnate/payments-core'
import { AzamPayProvider } from '@maxnate/provider-azampay'
const registry = createPaymentProviderRegistry()
registry.register(new AzamPayProvider())
registry.setConfig({
id: 'azampay', name: 'AzamPay', type: 'mobile_money', enabled: true,
credentials: {
appName: process.env.AZAMPAY_APP_NAME!,
clientId: process.env.AZAMPAY_CLIENT_ID!,
clientSecret: process.env.AZAMPAY_CLIENT_SECRET!,
apiKey: process.env.AZAMPAY_API_KEY!,
vendorId: process.env.AZAMPAY_VENDOR_ID,
vendorName: 'My Store'
},
currencies: ['TZS'], countries: ['TZ']
})Additional Methods
| Method | Description |
|---|---|
| getPartners() | List registered payment partners (Airtel, M-Pesa, Tigo, etc.) |
| nameLookup(bankName, accountNumber) | Look up account holder name |
| transactionStatus(reference, bankName) | Check disbursement status |
