What the Paddle integration can and can’t do
Before you start
You’ll need:- Admin access to your Paddle dashboard, so you can create an API key.
- The ability to add code to your website, or someone who can. There are two snippets: one for tracking clicks and one for your checkout.
- A decision on sandbox or live. Paddle keeps the two completely separate — separate dashboards, separate keys, separate data. Referly connects to one or the other.
Step 1: Install the tracking script on your site
The tracking script recognises visitors who arrived from an affiliate link, records the click, and remembers who referred them until they buy.Open your integration instructions
Copy the script from Step 1 of the guide
Paste it into your site
head section of your website, on every page.Step 2: Create an API key in Paddle
Choose sandbox or live
Open the API keys screen
Name it and set its permissions
customer.read, so it can look up who bought, and notification_setting.write, so it can set up the connection back to Referly for you.Set the expiry date carefully
Copy the key
pdl_sdbx_apikey_ and live keys with pdl_live_apikey_ — a quick way to check you grabbed the right one.Step 3: Connect Paddle in Referly
Open the integrations dialog
Paste your key
Give it a nickname
Set Sandbox Mode to match your key
Connect
Step 4: Send the referral through your checkout
This is the step that decides who gets paid. It adds the visitor’s referral to the custom data on your Paddle checkout, so the transaction Paddle reports back carries the affiliate with it. Paste the snippet for your setup into your site, just before the closingbody tag, on every page where your Paddle checkout can open.
- Opening checkout in code
Paddle.Checkout.open(). It wraps that call so the referral is added every time, whichever button opened it.Why renewals take care of themselves
Paddle copies the custom data from the first transaction onto the subscription it creates, and then onto every transaction that subscription produces afterwards. So the referral rides along with each renewal and each upgrade, with no work from you. Paddle’s custom data documentation explains this behaviour.What happens when the referral is missing
If a transaction arrives without a referral in its custom data, Referly ignores it completely — no sale is created, not even one without an affiliate attached. This is different from the Stripe and WooCommerce integrations, which record the sale either way. In practice that means your Referly Sales page shows only affiliate-driven revenue for Paddle, and any transaction where the snippet didn’t run is invisible. If you need it counted, add it with Add a sale.Step 5: Test it end to end
Connect your sandbox first
Visit your site through an affiliate link
Check the click was recorded
Complete a checkout
Check the transaction in Paddle
Check the result in Referly
Switch to live
Refunds
When a refund is approved in Paddle, Referly finds the matching sale and marks it as refunded, so no commission is owed on money you gave back. This only applies while the commission is still on hold. Once the affiliate has been cleared for payout on that sale, it’s left alone — adjust it by hand if you want it reversed. See Refunds and Reward holds. A refund that’s created but not yet approved doesn’t change anything until Paddle approves it.Disconnecting or replacing your key
Open Connect Integration in Referly, select Paddle, and choose Disconnect. Referly stops receiving transactions from that account immediately. Nothing already tracked is deleted. Transactions that happen while you’re disconnected are not recorded and won’t be picked up when you reconnect, so if you’re replacing an expiring key, create the new key first and reconnect promptly. You can also remove the destination Referly created from your Paddle dashboard under Developer Tools, then Notifications, if you want a clean slate on Paddle’s side.Troubleshooting
Connecting fails
Connecting fails
notification_setting.write permission, or the key has expired. Check the key’s prefix — pdl_sdbx_apikey_ for sandbox, pdl_live_apikey_ for live.Everything stopped working after a few months
Everything stopped working after a few months
No sales are appearing
No sales are appearing
Clicks are being tracked but sales aren't
Clicks are being tracked but sales aren't
Renewals aren't creating commissions
Renewals aren't creating commissions
Paddle says the account is already connected to another program
Paddle says the account is already connected to another program