m2pfintech
Webhook Guide

Best Practices

Notification design guidelines, webhook integration patterns, and troubleshooting reference.


Notification Design

PracticeRecommendation
Don't over-notifyEnable only essential notifications — excessive messages cause fatigue
Use thresholdsSet thresholdAmount for transaction alerts to filter micro-transaction noise
Channel selectionSMS for critical events (decline, block). Push for informational (success, load).
Template clarityAlways include card last-4, amount, balance, and timestamp in transaction notifications

Webhook Integration

PracticeRecommendation
IdempotencyUse eventTimestamp + transactionId as a deduplication key
Fast responseReturn HTTP 200 immediately; process the payload asynchronously
AlertingMonitor webhook failure rates. Alert on > 5% failure rate.
LoggingLog all webhook payloads for reconciliation and debugging
FallbackImplement API polling as a fallback for critical events

EventPriorityReason
KIT_STATUS_UPDATEMust haveTrack full card lifecycle
TRANSACTION_NOTIFICATIONMust haveReal-time reconciliation
KIT_EXPIRY_ADVANCE_NOTIFICATIONRecommendedProactive renewal at 30/15/7 days
KIT_INACTIVATION_ADVANCE_NOTIFICATIONRecommendedPrevent dormancy
KIT_EXPIRY_NOTIFICATIONOptionalPost-expiry cleanup

Troubleshooting

IssueCauseResolution
No notifications receivedEvent not enabled in product configCheck the product notification array
Webhook not receiving eventsSubscription not created or disabledVerify via GET /v1/event-subscriptions/
Duplicate notificationsWebhook returning non-200 causing retryImplement idempotency on your handler
Missing template variablesVariable not available for event typeCheck the variable availability per event in the events catalog
SMS not deliveredDND-registered mobile numberCheck DND status with your SMS gateway
Delayed notificationsKafka consumer lagMonitor Kafka consumer group lag metrics
Event subscription errorsInvalid destination URLVerify HTTPS URL is publicly accessible

Notification Error Codes

Error CodeDescriptionResolution
PP_CORP_143Error sending notification for entityCheck notification configuration and entity status
PP_CORP_144Internal notification email not configuredConfigure email in tenant settings

Support Checklist

When raising a notification support ticket, include:

  1. eventType — which event is affected
  2. entityId — customer entity ID
  3. timestamp — approximate time of the expected notification
  4. Subscription status — output of GET /v1/event-subscriptions/
  5. Product notification config — output of GET /v1/products/{productId}

For Kafka integration issues, also provide the consumer group ID and the topic name.

On this page