Skip to main content

Documentation Index

Fetch the complete documentation index at: https://waffo.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

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:
AttemptIntervalCumulative time
1stImmediate0
2nd30 seconds30s
3rd1 minute~1.5min
4th4 minutes~5.5min
5th30 minutes~35min
6th4 hours~4.5h
7th8 hours~12.5h
8th8 hours~20.5h
After all 8 attempts fail, the notification is marked as permanently failed and no further retries are made.

Failure recovery

If all retries fail:
  1. Proactive query: Call the order query or subscription query API to get the latest status
  2. Reconciliation: Periodically query order statuses in batches and compare them with local records
  3. Contact support: If you continue to not receive Webhooks, check your network configuration or contact Waffo technical support

Common failure reasons

  • Merchant notifyUrl is 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-SIGNATURE header
  • 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