- Variable pricing without managing multiple products
- Customer-driven pricing where buyers choose their amount
- Programmatic price control where you set the amount via API
- Flexible pricing models for digital products, donations, or experimental launches
Prerequisites
- A one-time payment product with Pay What You Want enabled in the dashboard
- The product ID (e.g.,
pdt_123abc456def) - An API key from Developer → API Keys
Enable Pay What You Want on a Product
In the Dodo Payments dashboard:1
Go to Products
Navigate to Products and select the one-time payment product you want to configure.
2
Enable Pay What You Want
In the Pricing section, toggle Pay What You Want on.
3
Set the minimum price
Enter the Minimum Price customers must pay. This is required.
4
Set a suggested price (optional)
Optionally set a Suggested Price to guide customers. There is no maximum price setting. To cap the amount you charge, enforce the cap in your own code before you create the session.
5
Save
Click Update Product and note your product ID for use in checkout sessions.
Create a Checkout Session with a Fixed Amount
When you pass anamount in the product cart, the checkout uses that exact amount as the unit price, as long as it’s at or above the product’s minimum price.
The amount field uses the smallest currency unit: cents for USD, pence for GBP, cents for EUR. For example, 1500 = $15.00 or €15.00.
The
amount field is ignored for products without Pay What You Want enabled. It only applies to one-time payments.Let Customers Choose Their Price
Omit theamount field to show a price input on checkout. Customers can enter any amount at or above your product’s minimum price.
Use Payment Links with Dynamic Amounts
Static payment links for Pay What You Want products accept apaymentAmount query parameter that fixes the amount charged. Unlike the Checkout Sessions API, this parameter uses major currency units (e.g., 12.5 for $12.50).
Common Patterns
Tiered Pricing by Customer Segment
Charge different amounts to different customer types using the same product:Quantity-Based Pricing
Adjust the unit price based on quantity purchased. Theamount is a per-unit price, and the total is amount × quantity:
Promotional Pricing
Apply time-limited pricing:pricing_tier, discount_code, user_segment). This helps you analyze pricing patterns and customer behavior.
Validate Amounts
Check that the amount is at or above your product’s minimum price before you create a checkout session.maxAmount is your own business cap; Dodo Payments has no maximum price setting.
Troubleshooting
Amount is being ignored
Amount is being ignored
Verify that:
- The product has Pay What You Want enabled in the dashboard
- The product is a one-time payment product, not a subscription
- The amount is in the correct format (smallest currency unit: cents for USD, pence for GBP, cents for EUR)
Amount is below the minimum price
Amount is below the minimum price
The API rejects checkout sessions where the amount is below your product’s minimum price. Validate amounts before creating sessions, or omit the
amount field to let customers choose.Customer can't enter their own price
Customer can't enter their own price
If the price input field doesn’t appear, ensure you’ve omitted the
amount field from the product cart. When amount is provided, the checkout uses that exact amount.Checkout Sessions API
Complete API reference for checkout sessions.
Checkout Sessions Guide
Explore advanced checkout session features and customization options.
Pay What You Want Feature
Learn more about the Pay What You Want pricing model.