Webhooks Not Arriving
Troubleshoot missing webhook events when your payment processor isn't sending data to LostChurn.
If your LostChurn dashboard shows no recent events or the integration card displays "Last webhook: never," webhook delivery from your payment processor is not reaching LostChurn.
Symptoms
- No new events appear in Events in the dashboard
- The integration card in Settings > Integrations shows "Last webhook: never" or a timestamp from hours/days ago
- Failed payments in your PSP dashboard do not have corresponding records in LostChurn
- Recovery is not being triggered for any payments
Common Causes
- Incorrect webhook endpoint URL -- the URL configured in your PSP does not match the LostChurn webhook endpoint
- Webhook not enabled in your PSP -- the webhook endpoint exists but is disabled or not subscribed to the required events
- Firewall or network rule blocking requests -- your infrastructure or a CDN is blocking outbound requests from the PSP to LostChurn
- Webhook signing secret mismatch -- the secret configured in LostChurn does not match the one in your PSP, causing signature validation to fail
- PSP is in test mode -- your PSP is sending test events but LostChurn is configured for live mode, or vice versa
Step-by-Step Fix
1. Verify the webhook endpoint URL
In your PSP's webhook settings, confirm the endpoint URL matches exactly:
https://webhooks.lostchurn.com/v1/<provider>Replace <provider> with your PSP name (e.g., stripe, braintree, paddle). The URL is case-sensitive and must not include a trailing slash.
You can find your exact webhook URL in the LostChurn dashboard under Settings > Integrations > [Your PSP] > Webhook URL.
2. Check that required events are subscribed
Each PSP requires specific event types to be enabled. For Stripe, the minimum required events are:
invoice.payment_failedinvoice.payment_succeededpayment_intent.payment_failedpayment_intent.succeededpayment_method.updated
See the Stripe integration guide for the full list. Other PSP guides are available under Integrations.
3. Check your PSP's webhook logs
Most PSPs provide delivery logs for each webhook endpoint:
- Stripe: Go to Developers > Webhooks, select the LostChurn endpoint, and review the Attempts tab. Look for HTTP status codes other than
200. - Braintree: Go to Settings > Webhooks and click Check URL to send a test notification.
- Paddle: Go to Developer Tools > Notifications and review the delivery log.
If you see 4xx or 5xx responses, the webhook is being sent but LostChurn is rejecting it. This usually indicates a signing secret mismatch (see step 4).
4. Verify the webhook signing secret
If your PSP logs show 401 or 403 responses from LostChurn, the signing secret is likely mismatched.
- In your PSP dashboard, locate the webhook signing secret for the LostChurn endpoint.
- In LostChurn, go to Settings > Integrations > [Your PSP] and compare the Webhook Secret field.
- If they do not match, copy the secret from your PSP and paste it into LostChurn. Click Save.
If you regenerate the webhook signing secret in your PSP, you must also update it in LostChurn. The old secret will immediately stop working.
5. Send a test webhook
Use your PSP's built-in test feature or CLI to send a test event:
Stripe CLI:
stripe trigger invoice.payment_failedStripe Dashboard:
- Go to Developers > Webhooks and select the LostChurn endpoint
- Click Send test webhook
- Select
invoice.payment_failedand click Send
After sending, check the LostChurn Events page within 30 seconds. The test event should appear with a test badge.
6. Check for firewall or CDN interference
If you are routing traffic through a reverse proxy, CDN, or WAF (like Cloudflare or AWS WAF), ensure that requests from your PSP's IP addresses are allowed through. Most PSPs publish their webhook IP ranges in their documentation.
Still Not Working?
If you have verified all of the above and webhooks are still not arriving:
- Try disconnecting and reconnecting the integration in Settings > Integrations. For OAuth-connected providers, this regenerates the webhook endpoint automatically.
- Check status.lostchurn.com for any active incidents affecting webhook ingestion.
- Contact support at support@lostchurn.com with your PSP name, the webhook endpoint URL, and a screenshot of your PSP's webhook delivery log showing the failed attempts.