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.
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 in-app checkout 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.com
formax+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 fulfilment 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.
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_01h1vjg3sqjj1y9tvazkdqe5vt
This 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_01hv0vax6rv18t4tamj848ne4d
This 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.com
This 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