Best Practices + Troubleshooting
Best practices
- Make your handler idempotent; use job_id to dedupe
- Return 2xx within 30s; do heavy work asynchronously
- Log the event, signature status, and your own reference ID
- Use separate subscriptions per environment (sandbox vs prod)
- Monitor failure_count via List endpoint; unpause if needed
Troubleshooting
- Receiving duplicates: ensure idempotency on your side; duplicates are expected with retries
- Not receiving events: check subscription status (active vs paused), confirm URL, verify your endpoint responds with 2xx
- Signature validation failing: ensure you use the exact raw body and correct secret
- Auto-paused: fix your endpoint, then call Unpause; we do not auto-resume
Updated 12 days ago