Connecting Paddle
Where the credentials live#
All Paddle credentials are entered under License Cart → Settings in the Paddle Settings panel. Live and sandbox credentials are stored separately so you can keep both on file and switch between them with a single dropdown.
Settings reference#
| Setting | What it is | Where to find it in Paddle |
|---|---|---|
| Active Environment | Sandbox (Test Mode) or Live (Production). Controls which credential set is used for Paddle.js on the buy button, for product and price sync, and for webhook verification. Default: Sandbox. | — |
| Live Client-side Token | Public token (live_…) that initialises Paddle.js on your pages. | Paddle → Developer Tools → Authentication → Client-side tokens |
| Live API Key | Server key (pdl_live_apikey_…) used to create and archive products and prices and to look up customers. | Paddle → Developer Tools → Authentication → API keys |
| Live Webhook Secret | The notification signing secret (pdl_ntfset_…) used to verify incoming webhooks. | Paddle → Developer Tools → Notifications → open your notification → Secret key |
| Sandbox Client-side Token | Sandbox equivalent (test_…). | Sandbox dashboard → Developer Tools → Authentication → Client-side tokens |
| Sandbox API Key | Sandbox equivalent (pdl_sdbx_apikey_…). | Sandbox dashboard → Developer Tools → Authentication → API keys |
| Sandbox Webhook Secret | Sandbox notification signing secret. | Sandbox dashboard → Developer Tools → Notifications → open your notification → Secret key |
The webhook secret is the notification’s Secret key, not its notification ID (ntfset_…). Pasting the ID will make every webhook fail signature verification, and no licenses will be issued.
Click Save Settings after filling in the fields. Credential fields are password inputs; the saved values are shown again when you reopen the page so you can confirm what is stored.
What each credential enables#
- Without a client-side token for the active environment, Paddle.js is not loaded and the buy button shows “Payment system is loading, please try again in a moment” when clicked.
- Without an API key, you cannot create products or pricing packages (they are synced to Paddle on save), and License Cart cannot look up a customer’s email if it is missing from a webhook payload.
- Without a webhook secret, every incoming webhook is rejected and no licenses are issued. License Cart never accepts unsigned webhooks.
Was this article helpful?
Tell us what was missing
