Hosted checkout URL query parameters
Append query parameters to hosted checkout launch URLs to pass information about a customer and items to a checkout.
You can use hosted checkouts to let users securely make purchases outside your mobile app. Each hosted checkout has a unique link that you can add to your app to let customers open a checkout that's fully hosted by Paddle.
To keep the Paddle platform safe, using hosted checkouts in a live environment requires approval. You can build and test freely in sandbox environments. To request access, please contact support.
All hosted checkout URL query parameters are optional. You can set defaults when creating a hosted checkout in Paddle > Checkout > Hosted Checkouts, like the prices to open the checkout with if no priceId or transactionId is passed. However, one is required if no default price is set.
Hosted checkout parameters also work with the Paddle mobile web payments starter kit, which you can use to deploy your own mobile purchase workflow.
For maximum compatibility across browsers, make sure to percent-encode query strings. For example, pass
max%2Bpaddle%40example.comformax+paddle@example.com.
Parameters
Paddle ID of the price for the item that this hosted checkout is for. Pass a comma-separated list of price IDs to open a checkout for multiple prices. If omitted and no transaction_id is passed, the default prices for the hosted checkout are used. Required if no default prices are set and no transaction_id is passed.
Discount code to apply. Use to prepopulate a discount at checkout. Takes precedence over discount_id. If omitted, no discount is applied.
Paddle ID of a discount to apply. Use to prepopulate a discount at checkout. Ignored if discount_code is also passed. If omitted, no discount is applied.
Paddle ID of the customer for this checkout. Use if you know the customer, like if they're authenticated and making a change to their subscription. You can't use if you're passing user_email.
Email for this customer. You can't use if you're passing paddle_customer_id.
Two-letter ISO 3166 country code for this customer.
ZIP or postal code of the address. Only asked for in countries with postal codes.
Unique identifier for this customer in RevenueCat. Used for fulfillment using entitlements in RevenueCat.
Paddle ID of an existing transaction. You can create a transaction on your backend and pass to checkout to use, instead of passing price_id and customer details. If omitted and no price_id is passed, the default prices for the hosted checkout are used. Required if no default prices are set and no price_id is passed.
Language for the checkout.
Theme for the checkout. If omitted, defaults to light.
Payment options presented to customers at checkout.
Whether the option to add a tax number is displayed at checkout. Defaults to true.
Examples
This example passes a price ID to Paddle Checkout to specify what the customer is purchasing.
11https://pay.paddle.io/checkout/hsc_01jt8s46kx4nv91002z7vy4ecj_1as3scas9cascascasasx23dsa3asd2a?price_id=pri_01h1vjg3sqjj1y9tvazkdqe5vtThis example passes two price IDs to Paddle Checkout to specify that a customer is purchasing two items.
11https://pay.paddle.io/checkout/hsc_01jt8s46kx4nv91002z7vy4ecj_1as3scas9cascascasasx23dsa3asd2a?price_id=pri_01h1vjg3sqjj1y9tvazkdqe5vt,pri_01hv0vax6rv18t4tamj848ne4dThis example passes a price ID to specify Paddle Checkout what the customer is purchasing, along with a user email address. The email address is percent-encoded.
11https://pay.paddle.io/checkout/hsc_01jt8s46kx4nv91002z7vy4ecj_1as3scas9cascascasasx23dsa3asd2a?price_id=pri_01h1vjg3sqjj1y9tvazkdqe5vt&user_email=sam%40example.comThis example passes a price ID to specify Paddle Checkout what the customer is purchasing, along with a discount code.
11https://pay.paddle.io/checkout/hsc_01jt8s46kx4nv91002z7vy4ecj_1as3scas9cascascasasx23dsa3asd2a?price_id=pri_01h1vjg3sqjj1y9tvazkdqe5vt&discount_code=BF20OFF