Paddle affiliate tracking with Refficks
Paddle sends every completed payment, refund and subscription change to Refficks, signed with your notification destination's secret.
What it gives you
- Every completed payment in Paddle (one-time purchases, a subscription's first payment and each renewal) is credited to the partner whose link brought the buyer, or whose code they used.
- An approved refund or a chargeback takes the commission's share back, and a credit you give on an invoice does too.
- Paddle signs every delivery, so a commission can approve itself on a plan that does.
What it does not
- Commission is worked out on each payment before tax, however it was paid, and before Paddle's fee.
- A partner's code works only if the same discount exists in Paddle. Refficks cannot make it for you, and reads its code only from what Paddle sends after you connect.
- Paddle's hosted checkout (for Mac and iOS apps) takes no custom data, so a buyer there is credited by their email or a code, not by their link.
- A buyer is matched by email only when Paddle reports them as a new or changed customer after you connect. A returning Paddle customer is credited by their link or a code.
- Paddle Classic accounts (made before August 2023) send a different kind of webhook, which Refficks does not read.
- Paddle's webhook simulator sends Paddle's example data, which credits nothing.
Steps
1. Connect Paddle
Choose whether this connection is for your live Paddle account or your sandbox, then press Connect below to get your address. A sandbox connection shows what each payment would have credited, and credits nothing.
In Paddle, open Paddle > Events > Notifications and press New destination. Choose URL, paste the address, keep the usage type Platform, and tick these events: transaction.completed, adjustment.created, adjustment.updated, subscription.created, subscription.activated, subscription.updated, subscription.trialing, subscription.paused, subscription.resumed, subscription.past_due, subscription.canceled, customer.created, customer.updated, discount.created, discount.updated. Save the destination.
Then open the destination's menu, choose Edit destination, copy its secret key (it begins pdl_ntfset_), paste it below and save. Until it is saved, every delivery is refused.
2. Put the Refficks script on your site
Paste the snippet on every page of your website, including the pages that open Paddle's checkout.
3. Pass the visitor to Paddle's checkout
Where your page opens Paddle's checkout with Paddle.Checkout.open, add who the visitor is to its custom data, as below. Paddle keeps it on the payment, copies it to the subscription, and puts it on every renewal, so the partner whose link brought the buyer is credited for each one.
Any custom data of your own stays as it is: the line only adds refficks_visitor beside it.
4. Or, for Paddle's HTML buttons
If your page uses Paddle's paddle_button links instead, add the code below after the Refficks script. It sets each button's data-custom-data, keeping what is already there.
5. Give partners codes in Paddle
A partner's code works when the same discount exists in Paddle (Catalog > Discounts), with the partner's code as its code: letters and numbers only. Paddle tells Refficks the code when the discount is made or changed.
A discount made before you connected is not known until Paddle sends it again: open it in Paddle and save it once.
6. Make a test purchase
With a sandbox connection, open your site through any partner's link, copied from their page under Partners, and buy with one of Paddle's test cards. It arrives here as a test, saying what it would have credited.
Paddle's webhook simulator works too, on a destination whose usage type includes simulation, but its events carry Paddle's example data: they show the connection works, and credit nothing.
Sources
Have an account? Open this guide in Refficks for your own script and the checks that show when it is working. New to Refficks? Create an account.