Retry mechanism
When the merchant does not return{"message": "success"} (returns failed/unknown, HTTP non-200, request timeout, or unparseable response), Waffo automatically retries.
Retry strategy
Up to 8 retries (including the initial notification), with increasing intervals:After all 8 attempts fail, the notification is marked as permanently failed and no further retries are made.
Failure recovery
If all retries fail:- Proactive query: Call the order query or subscription query API to get the latest status
- Reconciliation: Periodically query order statuses in batches and compare them with local records
- Contact support: If you continue to not receive Webhooks, check your network configuration or contact Waffo technical support
Common failure reasons
- Merchant
notifyUrlis unreachable (network issue, port not 80/443) - Response body is not
{"message": "success"}(e.g., typo, extra fields) - Response Content-Type is not
application/json - Response is missing the
X-SIGNATUREheader - Merchant server processing timeout
Notes
- Retries may cause events to arrive out of order; always use the terminal status as the source of truth
- Do not rely solely on Webhooks; use proactive queries as a fallback
- Ensure your Webhook handling logic is idempotent