Skip to content

Promotion codes

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.

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.

  1. In the dashboard, open your project’s Coupons menu and click “New coupon”.
  2. Fill in the following fields:
    • Name — the coupon’s name.
    • Scope — Entire order or Specific products. If the latter is selected with no products chosen, it applies to all products.
    • Discount type and value — Percentage (%) (maximum 100) or Fixed 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, 0 for unlimited.
    • Start / expiry date (optional) — leave empty to start immediately and never expire.
  3. Click “Save”.

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.

  • 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

Section titled “Requirements for using promotion codes on a checkout”
  • Order-total discounts: No price_id required. Works with items created via price_data.
  • Product discounts: All items must use price_id. Product-scoped promotion codes can’t be applied to items created via price_data.

See the Checkout API page for details.