faq
Webhook FAQ​
Q: How do I know if my webhook subscription is working?​
A: Use the test endpoint (POST /apps/api/webhooks/test) and check delivery logs via GET /apps/api/webhooks/logs.
Q: My webhook was disabled. How do I re-enable it?​
A: Update your webhook URL via POST /apps/api/webhooks. This resets the failure counter and re-enables the subscription.
Q: Can I have multiple webhook URLs?​
A: No, each business can have only one webhook subscription. All events are sent to the same URL. The webhook configuration is tied to your business entity.
Q: What if I miss a webhook?​
A: You can always query the contract status via the API. Webhooks are for real-time updates, but the API is the source of truth.
Q: Is the webhook payload the same for all events?​
A: The structure is the same, but some fields (like paymentId, transactionId) are only present for relevant events (e.g., payment.completed).
Q: How long are webhook delivery logs retained?​
A: WePay retains delivery logs that you can access via the API. We recommend keeping your own logs for at least 90 days for troubleshooting.
Q: What happens if my server is down when a webhook is sent?​
A: WePay will retry delivery up to 5 times with exponential backoff (10s, 30s, 2min, 10min, 1hr). If all retries fail, check your delivery logs when your server is back up.