m2pfintech
Webhook Guide

Webhooks & Notifications

Event-driven notification system overview — real-time alerts, webhooks, and event subscriptions for the M2P Prepaid Platform.

The M2P Prepaid Platform provides a comprehensive event-driven notification system supporting real-time customer alerts, webhook callbacks, and event streaming.


Capabilities

  • Real-time customer notifications via SMS, Email, and Push
  • Webhook callbacks to partner systems for event-driven integration
  • Event subscriptions for card lifecycle and transaction events
  • Advance notifications for scheduled events (card expiry, dormancy)
  • Kafka-based event streaming for high-throughput integrations

Architecture

System Components

ComponentServicePurpose
Event ProducerConfiguration, Issuance, Customer ServicesPublishes events to Kafka
Notification TopicKafka: pp_initiate_notificationCentral notification queue
Notification ConsumerNotification ServiceProcesses events, applies templates, routes to channels
Template EngineNotification ServiceReplaces variables in notification templates
Channel AdaptersSMS / Email / Push / WebhookDelivers notifications to end recipients
Event SubscriptionAuthorization ServiceConfigurable event callbacks for partners

Sections

Update Wallet Status POST

Updates the status of a specific wallet associated with a cardholder. This is used for controlling what transactions are allowed on the wallet. Common scenarios include: ### Use Cases - **Temporary Freeze**: Lock a wallet when suspicious activity is detected. The cardholder can't transact but you can unlock it later without losing any data. - **Permanent Block**: Block a wallet for compliance violations or confirmed fraud. Requires support intervention to unblock. - **Fraud Prevention**: Mark a wallet as FRAUD to suspend all operations pending investigation. - **Customer Self-Service**: Allow cardholders to block their own wallet via your app (CUSTOMER_BLOCKED status). - **Credit Freeze**: Prevent new loads while allowing the cardholder to spend existing balance. - **Debit Freeze**: Allow loads/credits but prevent spending (e.g., during dispute investigation). - **Refund Only**: After card closure, allow only refund credits to process. - **Reactivation**: Change status back to ACTIVE to restore full transaction capabilities. ### Status Transition Rules Not all status transitions are allowed. Key constraints: - `CLOSED` → Cannot transition to any other status (permanent) - `EXPIRED` → Cannot transition to any other status (permanent) - `FRAUD` → Can only be changed by authorized support roles - `BLOCKED` → Can only be unblocked by authorized support roles - `LOCKED` → Can be changed to `ACTIVE` (unlock) by the partner - `ACTIVE` → Can transition to `LOCKED`, `BLOCKED`, `CREDIT_FREEZE`, `DEBIT_FREEZE`, etc.

Event Subscriptions

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

On this page