Docs · Payments
Connect Paddle to UserJourney
For Paddle Billing. Trials, payments, failed charges and cancellations, on the person who made them, and in Traffic as revenue per channel.
1. Connect
In the dashboard, Setup › Payments › Paddle, paste an API key with the notification settings permission. UserJourney creates the notification destination in your Paddle account, keeps its secret and forgets the key. Sandbox keys work too.
Or add it by hand: in Paddle › Developer tools › Notifications, add the URL shown on the Setup page, with these events, and paste its secret key (pdl_ntfset_…):
customer.created customer.updated subscription.created subscription.activated subscription.trialing subscription.updated subscription.past_due subscription.paused subscription.resumed subscription.canceled transaction.payment_failed transaction.past_due
2. Match each payment to its person
Customers are matched by email. To be exact, even when someone pays with another address, pass their id in the checkout's custom data:
Paddle.Checkout.open({
items: [{ priceId: "pri_…", quantity: 1 }],
customData: { uj_id: window.uj?.id() }, // the signed-in person, as you passed it to identify()
});
Check it works
Make a purchase in the sandbox, or send a test notification from Paddle: the person's timeline shows the trial or the payment, and Today and Traffic count them as paying.