Skip to content

Paddle webhook

Failed payments, cancellations and refunds from Paddle Billing.

Setup

  1. In Paddle open Developer Tools, then Notifications, and choose New destination.
  2. 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.
  3. 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.
  4. 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.

EventPriorityOn by default
Payment failedhighYes
Subscription cancelednormalYes
Refund (adjustment)normalYes
Sales (transaction completed)lowNo

PingLoom keeps the amount and the transaction, subscription and customer ids. Only adjustments of type refund become alerts.