- Automatic (recommended) — tag the Paddle Checkout with the Qonversion user in
custom_data. Qonversion reads it from the Paddle webhook and grants entitlements automatically, including for later renewals, refunds, and cancellations. No purchase-submission call is required. - Explicit — submit the completed purchase yourself from your server (REST API) or the browser (Web SDK), passing the Qonversion user in the request.
1. Link the Qonversion user with custom_data
When you open the Paddle Checkout, set custom_data.qonversion_client_uid to the buyer’s Qonversion User ID. Paddle stores it on the resulting transaction and includes it in every webhook it sends — that is how Qonversion maps the purchase (and all future events on the same subscription) to the user.
The key must be exactly
qonversion_client_uid. Its value is the Qonversion User ID — see Getting the Qonversion User ID.qonversion_client_uid key on the request’s custom_data.
Customer-level fallback
If a webhook payload does not carrycustom_data.qonversion_client_uid, Qonversion falls back to the Paddle customer’s custom_data. You can set it when you create or update the customer:
Getting the Qonversion User ID
The Qonversion User ID is the value you place inqonversion_client_uid (and in the {user_id} of the REST call below). Obtain it in one of two ways:
- From the SDK — call the
userInfo()method and use theqonversionIdproperty from the result. See User Identifiers for details. - Via API — create a user by calling
POST /v3/users/{id}. See the API reference for details.
2. Submit the purchase explicitly
If you prefer to push purchases yourself instead of relying on the automatic webhook mapping, send the completed purchase to Qonversion after a successful payment. Capture the Paddle identifiers from the completed transaction and call:{paddle_transaction_id} and {paddle_subscription_id} with the values from the completed Paddle transaction, and {paddle_product_id} with the Paddle product ID. The {user_id} is the Qonversion User ID (see above).
| Field | Source |
|---|---|
currency | transaction currency code |
price | transaction total |
paddle_store_data.type | subscription for recurring products, non_recurring for one-time purchases |
paddle_store_data.transaction_id | Paddle transaction id (txn_) |
paddle_store_data.subscription_id | Paddle subscription id (sub_). Required for subscription; omit for non_recurring |
paddle_store_data.product_id | Paddle product id (pro_) |
Web SDK
If you are using Qonversion on the web, you can also use the Qonversion Web SDK to submit the purchase. After a successful Paddle payment, pass the purchase data tosendPaddlePurchase.