Promotion codes
What is a promotion code?
Promotion codes let you offer discounts to your customers. The system has three core building blocks:
- Coupon: The base configuration holding the discount rules, limits, and validity period
- Coupon Code: The actual code you hand out to customers (e.g.
SUMMER2025,SAVE20) - Redemption: A record of a customer using a code
One coupon can have many codes, and each code can be redeemed independently.
How do customers use a code?
On the checkout page, the customer enters the code in the "Promotion code" field and clicks "Apply" — the discount is calculated and the total updates automatically. Only one code can be applied per checkout; an applied code can be removed and replaced with a different one.
When a code is applied, the start/expiry dates, redemption limits, the customer's previous redemptions, and product eligibility are all checked automatically.
Creating a coupon
- In the dashboard, open your project's Coupons menu and click "New coupon".
- Fill in the following fields:
- Name — the coupon's name.
- Scope —
Entire orderorSpecific products. If the latter is selected with no products chosen, it applies to all products. - Discount type and value —
Percentage (%)(maximum 100) orFixed amount (₮). - Maximum redemptions (optional) — how many times the coupon can be used in total; all of the coupon's codes share this limit. Leave empty for unlimited.
- Per-customer limit — default 1,
0for unlimited. - Start / expiry date (optional) — leave empty to start immediately and never expire.
- Click "Save".
Creating codes
On the coupon's detail page, create codes in the "Coupon codes" section via the "Add code" button:
- Single code — enter the code manually, or leave empty to generate a random one. A code can have its own redemption limit (leave empty to inherit the coupon's limit).
- Multiple codes — generate 1–1000 random codes at once. Each code generated this way can be redeemed only once.
Click "Download CSV" to export all codes as a CSV file.
Notes
- A code counts as redeemed only after the checkout completes successfully.
- If the discount exceeds the order total, the discount is capped at the order amount.
Requirements for using promotion codes on a checkout
- Order-total discounts: No
price_idrequired. Works with items created viaprice_data. - Product discounts: All items must use
price_id. Product-scoped promotion codes can't be applied to items created viaprice_data.
See the Checkout API page for details.