Paddle Webhook Not Firing or Signature Failing
Quick answer
Webhooks that fail verification usually have the body changed before checking (parsed JSON), the wrong secret, or Classic code used on Billing. Check delivery logs in the Notifications page.
Most likely fix: Use the raw body
How to fix it
Try these in order — the most common fix is first.
1. Use the raw body
- Verify against the unmodified request bytes
- Disable body-parsing middleware on this route
Did this fix it?2. Check the secret
- Developer Tools > Notifications > your destination > Secret key
- Make sure the environment variable matches
Did this fix it?3. Check header scheme
- Billing sends Paddle-Signature with ts and h1
- Use the official SDK verification helper
Did this fix it?4. Inspect delivery logs
- Open the notification's logs in the dashboard
- Return 200 quickly; Paddle retries with backoff
Did this fix it?
Symptoms
Your endpoint gets nothing, or the Paddle-Signature check fails.
Why it happens
- Verifying parsed JSON instead of the raw body
- Wrong endpoint secret key
- Paddle Classic p_signature code used with Paddle Billing
- Endpoint returns errors or times out
- Notification destination inactive
This guide also covers
- paddle webhook not firing
- paddle webhook signature
- paddle webhook not received
Still not working?
If Paddle keeps failing, you're not alone. See every Paddle problem users report or the alternatives people switch to.
Have an app idea? Our small team builds any software: web and mobile apps, games, desktop, AI tools. Price agreed together.
Talk to usOther Paddle errors
- What Is the Paddle.net Charge on My Card Statement?
- Paddle Refund Request: How to Get Your Money Back
- How to Cancel a Subscription Purchased via Paddle
- Paddle Payout Delayed or Missing
- Paddle Account Verification and Domain Approval Rejected
- Paddle Checkout Not Loading
- Paddle Account Closed and Funds Held
- Paddle Support Not Responding