Documentation Index
Fetch the complete documentation index at: https://docs.usepaykit.dev/llms.txt
Use this file to discover all available pages before exploring further.
npm install @paykit-sdk/monnify
Setup
Environment variables
Direct config
import { PayKit } from '@paykit-sdk/core';
import { monnify } from '@paykit-sdk/monnify';
export const paykit = new PayKit(monnify());
Required env vars:MONNIFY_API_KEY=MK_TEST_...
MONNIFY_SECRET_KEY=your-secret-key
MONNIFY_SANDBOX=true
import { PayKit } from '@paykit-sdk/core';
import { createMonnify } from '@paykit-sdk/monnify';
export const paykit = new PayKit(
createMonnify({
apiKey: 'MK_TEST_...',
secretKey: 'your-secret-key',
isSandbox: true,
}),
);
Webhooks
Enable these events in your Monnify dashboard:
SUCCESSFUL_TRANSACTION
SUCCESSFUL_TRANSACTION_OFFLINE
REJECTED_PAYMENT
SETTLEMENT
MANDATE_UPDATE
SUCCESSFUL_REFUND
FAILED_REFUND
const webhook = paykit.webhooks
.setup({ webhookSecret: process.env.MONNIFY_WEBHOOK_SECRET! })
.on('payment.created', async event => { /* ... */ })
.on('payment.updated', async event => { /* ... */ });
await webhook.handle({
body: rawBody,
headersAsObject: Object.fromEntries(request.headers),
fullUrl: request.url,
});
Raw Monnify events
paykit.webhooks
.setup({ webhookSecret: process.env.MONNIFY_WEBHOOK_SECRET! })
.on('monnify.SUCCESSFUL_TRANSACTION', async event => {
// typed against Monnify's API types
});