Webhook Retry Logic

What is PayMongo's webhook retry logic?

Overview

PayMongo retries each failed webhook delivery up to 12 times. If 3 consecutive events each exhaust all 12 retries without a successful response, your webhook is automatically disabled. To resume receiving events, re-enable the webhook manually.

Retry intervals follow an exponential backoff, with the full cycle lasting up to 136.5 minutes. Your server must return an HTTP status code between 200 and 209, along with a JSON response, to acknowledge the event.

📘

Note

Merchants should implement a rollback mechanism to handle cases when their webhook URL or server is unavailable. PayMongo does not re-send missed webhook events, so it's crucial to design your system to handle interruptions and process events once your webhook URL is back online.

As a rollback mechanism, we suggest retrieving a payment intent by ID to check the status of a transaction.