> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.qonversion.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Test Purchases — Paddle

Follow the steps below to verify your Paddle integration with a test purchase. Paddle keeps **Production** and **Sandbox** in fully separate environments, so all testing happens against the Paddle sandbox.

## 1. Connect Paddle Sandbox to Qonversion

Paddle sandbox testing in Qonversion uses a separate sandbox connection that is independent from your live Paddle connection. The two environments have separate API keys.

1. If you don't have a Paddle sandbox account yet, [sign up here](https://sandbox-login.paddle.com/signup).
2. Generate a **Sandbox** API key in the [Paddle sandbox Developer Tools](https://sandbox-vendors.paddle.com/authentication-v2). Sandbox keys start with `pdl_sdbx_`.
3. In Qonversion, open **Project Settings → Stores** and find the **Paddle** card.
4. Click **Configure Paddle**, paste your sandbox API key into the **Sandbox → API Key** field, and click **Connect Sandbox**. See [Paddle Credentials](paddle-credentials) for details.

<Info>
  When you connect the sandbox key, Qonversion registers the webhook destination on your Paddle sandbox account automatically. You can confirm everything is wired up with the **Test Connection** and **Test Webhook** buttons in the Paddle drawer.
</Info>

Once connected, click the **Sandbox mode** icon in the top bar of the Qonversion dashboard to view your test data.

## 2. Use the Paddle Sandbox

1. Make sure you are working in the [Paddle sandbox dashboard](https://sandbox-vendors.paddle.com) and that your checkout points at the sandbox API (`https://sandbox-api.paddle.com`).
2. All transactions made in the sandbox are isolated from your live Paddle account and cannot process real charges.

## 3. Make a Test Purchase

Open your Paddle Checkout (running against the sandbox). Tag it with your Qonversion User ID in `custom_data` (the `qonversion_client_uid` key) so the purchase maps to a user, exactly as in production — see [Send Paddle Purchases to Qonversion](initiate-purchase-paddle). Then complete a payment using Paddle's test card:

| Card Number           | Description              |
| :-------------------- | :----------------------- |
| `4111 1111 1111 1111` | Successful payment       |
| `4000 0038 0000 0446` | 3D Secure authentication |
| `4000 0000 0000 0002` | Declined payment         |

Use any future expiration date, CVC `100`, and any name. (Any 3-digit CVC works, but Paddle's sandbox documents `100`.) `4111 1111 1111 1111` is the card Paddle's sandbox checkout form itself suggests.

With `custom_data` set, Qonversion maps the sandbox purchase to your user from the Paddle webhook automatically — confirm the test transaction appears in your Qonversion sandbox data. (If you submit purchases explicitly instead, send it to Qonversion as described in [Send Paddle Purchases to Qonversion](initiate-purchase-paddle).)

<Warning>
  Make sure to connect your production Paddle API key and switch to production before going live.
</Warning>
