Discount Types
Polar supports two types of discounts:Fixed Amount
Discount a specific amount in a given currency (e.g., $10 off)
Percentage
Discount a percentage of the total (e.g., 25% off)
Duration Options
For subscription products, you can control how long the discount applies:- Once: Applied only to the first invoice
- Forever: Applied to every invoice for the lifetime of the subscription
- Repeating: Applied for a specific number of months (e.g., 3 months)
For one-time purchases, discounts are always applied once.
Creating a Discount
Set Restrictions (Optional)
- Products: Limit to specific products
- Start Date: When the discount becomes active
- End Date: When the discount expires
- Max Redemptions: Limit total uses
Discount Codes
Discount codes must be:- Between 3 and 256 characters
- Alphanumeric only (letters and numbers)
- Case-insensitive (WELCOME25 = welcome25)
Applying Discounts
At Checkout
Customers can enter discount codes in the checkout form. The discount is validated and applied automatically:- Product restrictions are checked
- Currency compatibility is verified (for fixed amount discounts)
- Redemption limits are enforced
- Date restrictions are validated
Via API
Apply discounts programmatically when creating checkouts:Redemption Tracking
Polar automatically tracks discount redemptions:- Redemptions Count: Total times the discount has been used
- Max Redemptions: Optional limit on total uses
- Concurrency Protection: Row-level locking prevents over-redemption
When a discount reaches its maximum redemptions, it automatically becomes unavailable.
Updating Discounts
You can update most discount properties after creation: ✅ Can Update:- Name
- Code (if not duplicate)
- Start/end dates
- Max redemptions
- Product restrictions
- Type (fixed vs percentage)
- Duration (once/forever/repeating)
- Amount/percentage (after first redemption)
Metadata
Attach custom metadata to discounts for tracking:Basis Points Explained
Percentage discounts use basis points (1/100th of a percent):- 10% = 1000 basis points
- 25.5% = 2550 basis points
- 100% = 10000 basis points (maximum)
Example: 15% discount
Fixed Amount Discounts
Fixed amount discounts require a currency:Example: $10 off
Amounts are always in cents (or smallest currency unit). $10 = 1000 cents.
Currency Compatibility
Fixed amount discounts only apply to products with matching currency. If a customer’s checkout uses a different currency, the discount will not be valid.Best Practices
Use Descriptive Codes
Make codes memorable and relevant: SUMMER2024, EARLYBIRD, STUDENT20
Set Expiration Dates
Create urgency with time-limited offers
Track with Metadata
Use metadata to track campaign performance
Limit Redemptions
Prevent abuse with max redemption limits