m2pfintech
Webhook Guide

Event Subscriptions

Configure webhook event subscriptions — CRUD APIs for registering, updating, and managing event callbacks.

Event subscriptions allow you to register webhook endpoints that receive real-time callbacks when events occur on the platform.

Base URL: https://api.m2pprepaid.com/prepaid/auth


Available Events

Event NameTypeDescriptionUse Case
KIT_STATUS_UPDATEInstantCard/kit status changesTrack activation, blocking, closure
TRANSACTION_NOTIFICATIONInstantAll transactions including reconReal-time transaction monitoring
KIT_INACTIVATION_NOTIFICATIONInstantCard inactivated due to dormancyDormancy management
KIT_INACTIVATION_ADVANCE_NOTIFICATIONAdvanceN days before dormancy inactivationPre-emptive customer engagement
KIT_EXPIRY_NOTIFICATIONInstantCard has expiredCard renewal triggers
KIT_EXPIRY_ADVANCE_NOTIFICATIONAdvanceN days before card expiryProactive renewal reminders
CARD_RENEWALInstantCard renewal initiatedRenewal tracking

Instant events fire immediately when the action occurs. Advance events are scheduled — sent N days before the event.


Managing Subscriptions

POST /v1/event-subscriptions/
Authorization: Bearer {token}
X-TENANT-ID: {tenant_id}
Content-Type: application/json

{
  "eventName": "TRANSACTION_NOTIFICATION",
  "isEnabled": true,
  "destination": "https://your-app.com/webhooks/transactions",
  "retryConfig": {
    "maxRetries": 3,
    "retryIntervalSeconds": 60
  }
}

Response:

{
  "eventName": "TRANSACTION_NOTIFICATION",
  "isEnabled": true,
  "destination": "https://your-app.com/webhooks/transactions",
  "createdAt": "2026-02-12T10:30:00Z"
}
GET /v1/event-subscriptions/{eventName}
Authorization: Bearer {token}
X-TENANT-ID: {tenant_id}
PUT /v1/event-subscriptions/
Authorization: Bearer {token}
X-TENANT-ID: {tenant_id}
Content-Type: application/json

{
  "eventName": "TRANSACTION_NOTIFICATION",
  "isEnabled": true,
  "destination": "https://your-app.com/v2/webhooks/transactions"
}
DELETE /v1/event-subscriptions/{eventName}
Authorization: Bearer {token}
X-TENANT-ID: {tenant_id}
GET /v1/event-subscriptions/
Authorization: Bearer {token}
X-TENANT-ID: {tenant_id}

Returns all configured subscriptions for the tenant.


Advance Event Configuration

For advance notifications (pre-expiry, pre-dormancy), configure the notification schedule:

{
  "eventName": "KIT_EXPIRY_ADVANCE_NOTIFICATION",
  "isEnabled": true,
  "destination": "https://your-app.com/webhooks/card-expiry-warning",
  "advanceNotificationPeriods": [30, 15, 7]
}

This sends notifications at 30 days, 15 days, and 7 days before card expiry.

Advance notification periods must be positive integers. The system processes advance events daily — exact delivery time may vary within the scheduled day.

On this page