WhatsApp OTP Docs
WhatsApp OTP Webhooks and Payment Activation Notes
The current production webhook flow is used for payment activation. Revolut webhooks can fulfill WhatsApp OTP checkout sessions and activate the selected plan after successful payment.
Current webhook usage
DNZ receives Revolut webhook events and detects whether the checkout source belongs to WhatsApp OTP. When the order is paid, the backend fulfills the checkout session and updates the user's OTP plan in Firebase.
This webhook is part of payment activation, not message-delivery callbacks. Do not build delivery assumptions from the payment webhook.
Future delivery webhooks
If delivery callbacks are added later, they should be signed, idempotent, and tied to a message job ID. Your receiver should accept repeated events safely and store only the latest meaningful state.
Until delivery webhooks exist, use API responses, dashboard logs, and backend logs for operational visibility.
{
"event": "otp.message.queued",
"jobId": "a8f1c4f3d1",
"recipient": "+9647878785391",
"status": "queued"
}