Setting up Paddle
A click-by-click walkthrough for connecting your own Paddle account, testing it with a fake card, and going live. No technical knowledge needed.
A click-by-click walkthrough for connecting your own Paddle account, testing it with a fake card, and going live. No technical knowledge needed.
Time: about 40 minutes, plus however long Paddle takes to review your business and website for live payments (usually a few days).
You will move between two browser tabs: your Paddle dashboard and your workspace's back office. Keep both open.
Before you start
Have these to hand:
- An email address for your Paddle login
- Your business details and the bank account your money should be paid into
- Your plans already created under What you sell → Plans & pricing
- Your website address — your workspace address, or your own domain if you have connected one
Paddle is a merchant of record: it is legally the seller, and it collects and pays sales tax, VAT and GST for you worldwide.
This is Paddle Billing, their current product. If you have an older Paddle Classic account, you will need to move to Billing.
Step 1 — Create a sandbox account
Paddle keeps practice and real money completely apart, in two separate accounts. Start with the practice one.
- Go to sandbox-vendors.paddle.com and sign up.
- Confirm your email address.
Nothing in the sandbox is real: no money moves and the cards are fake.
Step 2 — Copy your three credentials
In the sandbox dashboard, open Developer tools → Authentication.
- Seller ID — shown on this page. Copy it.
- API key — create a new key. Give it a name you will recognise and, when asked what it may do, allow everything (the simplest choice). Copy it straight away: Paddle only shows it once.
- Client-side token — create one on the same page and copy it.
Treat the API key like a password.
Step 3 — Paste them into your workspace
- In your workspace, open Setup → Payments, find the Paddle card and click Set up. (If you only see Setup → Paddle in the menu, open that.)
- Set Environment to Test.
- Paste the Seller ID, API key and Client-side token.
- Tick Take payments through Paddle.
- Click Save, then Test connection.
The Status card should say the connection works. If not, the message tells you why — usually a key copied with a character missing.
Step 4 — Tell Paddle where your checkout lives
Paddle will not open a checkout until it knows your website address.
- In Paddle, open Checkout → Checkout settings.
- Set Default payment link to your website address, for example
https://yourname.example.com. - Save.
Step 5 — Connect the webhook
The webhook is how Paddle tells your workspace that somebody has paid. Without it, customers are charged and get nothing. Do not skip this step.
- On your workspace's Paddle page, find Webhook endpoint and click the copy button.
- In Paddle, open Developer tools → Notifications and click New destination.
- Give it a description, choose Webhook, and paste the address as the URL.
- Tick each of these events:
transaction.completedtransaction.payment_failedsubscription.createdsubscription.updatedsubscription.past_duesubscription.canceledadjustment.createdadjustment.updated
- Save the destination.
- Open it again (its ⋯ menu → Edit) and copy the Secret key Paddle shows.
- In your workspace, paste it into Webhook secret and click Save.
Step 6 — Create a price for each plan
Unlike the other providers, Paddle needs every plan to exist in Paddle as well, with the same price.
For each paid plan:
- In Paddle, open Catalog → Products and create a product with the plan's name.
- Add a price to it:
- Monthly plan → recurring, billed every month
- Yearly plan → recurring, billed every year
- Lifetime plan or credit pack → one-time
- Same amount and currency as the plan in your workspace
- Save, then copy the price's ID. It starts with
pri_. - In your workspace, open the plan under Plans & pricing, paste it into Paddle price ID, and save.
A plan without a price ID cannot be bought by card.
Step 7 — Turn Paddle on for your customers
If your workspace offers more than one provider, open Setup → Payments and click Use Paddle. (If Paddle is the only one, it is already on.)
Step 8 — Make a test purchase
- Open your website in a private (incognito) window and register as a customer, using a different email from your own login.
- Choose a paid plan and click Pay. Paddle's checkout opens over the page.
- Pay with Paddle's test card:
- Card number
4242 4242 4242 4242 - Any expiry date in the future, CVC
100
- Card number
- Within a minute the plan and credits appear on the billing page.
- In your back office, Your customers → Payments shows the payment.
Then try cancelling from the customer's billing page, and refunding from Payments. Paddle reviews refunds, so the payment shows Refund pending until it approves — in the sandbox that is quick.
Step 9 — Go live
- Sign up for your live account at vendors.paddle.com and complete Paddle's checks on your business and website. Paddle reviews your site before it lets you sell, so make sure your pricing and legal pages are filled in.
- In the live account, repeat steps 2, 4, 5 and 6. Everything is separate
from the sandbox — new credentials, new webhook, new secret, and new prices
with new
pri_IDs. - In your workspace's Paddle page, set Environment to Live, paste the live credentials and secret, click Save and Test connection.
- Paste the live price IDs onto your plans.
- Make one small real purchase yourself, then refund it.
You are live.
Good to know
- Changing prices: change the price in Paddle and on the plan here, then paste the new price ID if Paddle gave you a new one. Existing subscribers keep what they signed up at.
- Trials: Paddle can run a free trial on a price. Set it on the price in Paddle.
If you get stuck
The checkout does not open. The plan has no Paddle price ID, the price is archived in Paddle, or no Default payment link is set (step 4).
Paid in Paddle, nothing here. The webhook: the address must be exactly the one shown on your workspace's Paddle page, every event ticked, and the secret key pasted in. Paddle shows each delivery on the notification's page.
Refunds approved in Paddle do not show here. The adjustment.created and
adjustment.updated events are not ticked on your notification destination.
Test payments worked, real ones do not. Sandbox credentials or sandbox price IDs left in place. Live needs everything from the live account.
Something here out of date, or a question this does not answer?
Back to contents