Sandbox
Paddle Billing Sandbox Guide
Simulate payments end-to-end, configure webhooks, and use test credit cards — all without touching real money.
Paddle Sandbox Overview
Paddle Sandbox is a fully-featured mirror of production. Register at sandbox-login.paddle.com using a separate account from your production one.
Important: Make sure your
.env contains PADDLE_ENVIRONMENT=sandbox and that your Paddle API keys start with paddlesandbox_. Never mix production secrets with sandbox config.Test Credit Card Numbers
Use any of the following card numbers inside the Paddle checkout overlay. Expiry can be any future date; CVV any 3–4 digits.
| Brand | Card Number | Expiry | CVV | Country |
|---|---|---|---|---|
V Visa | 4000 0020 0000 0000 | Any future date | 3 digits | United States (US) |
M Mastercard | 5105 1051 0510 5100 | Any future date | 3 digits | United Kingdom (GB) |
A American Express | 3700 0000 0000 002 | Any future date | 4 digits | United States (US) |
D Diners Club | 3000 0000 0000 02 | Any future date | 3 digits | United States (US) |
J JCB | 3528 0000 0000 0002 | Any future date | 3 digits | Japan (JP) |
Configuring Webhooks
Route Paddle sandbox events to your local engine so that subscription and transaction state stays in sync with your database.
- 01Go to your Paddle Sandbox Dashboard → Developer → Webhooks.
- 02Click Add endpoint and enter your public server address:
https://your-domain.com/api/webhooks/paddle - 03Subscribe to these events:
subscription.createdsubscription.updatedtransaction.completed - 04Copy the generated Webhook Secret Key and set it in your
.envasPADDLE_WEBHOOK_SECRET.