Paddle webhook
Failed payments, cancellations and refunds from Paddle Billing.
Setup
- In Paddle open Developer Tools, then Notifications, and choose New destination.
- In PingLoom open Webhooks, choose New webhook source and pick Paddle. Paste the endpoint secret key of the Paddle destination once Paddle shows it, or create the destination in Paddle first with a placeholder URL and edit it afterwards.
- Set the Paddle destination URL to the PingLoom endpoint URL and select transaction.completed, transaction.payment_failed, subscription.canceled and adjustment.created and adjustment.updated.
- Send a test notification from Paddle. It appears under Recent requests on the PingLoom source page.
Verification
Paddle sends a Paddle-Signature header of the form ts=<unix time>;h1=<signature>. The signature is HMAC-SHA256 of the timestamp, a colon and the raw body, keyed with your endpoint secret key. PingLoom rejects requests whose timestamp is more than five minutes off and uses Paddle's event id to drop repeats.
Events
You choose which events become alerts when you create the source, and you can change it later on the source page.
| Event | Priority | On by default |
|---|---|---|
| Payment failed | high | Yes |
| Subscription canceled | normal | Yes |
| Refund (adjustment) | normal | Yes |
| Sales (transaction completed) | low | No |
PingLoom keeps the amount and the transaction, subscription and customer ids. Only adjustments of type refund become alerts.