Verkkokurssikassa
Basics

Discount Codes

Discount codes let you give customers a percentage-based or fixed-amount discount at checkout. Codes can be restricted to specific products, validity periods, or usage limits.

Form Fields

AsetusKuvaus
CodeThe discount code the customer enters at checkout. Maximum 50 characters.
DescriptionOptional internal description. Only visible in the dashboard.
Discount TypePercentage discount or fixed amount.
Discount PercentageThe discount amount as a percentage. Used when the discount type is percentage.
Discount AmountThe discount amount as a fixed sum. Set separately for each currency. Used when the discount type is fixed amount.
Valid FromOptional. The code cannot be used before this date.
ExpiresOptional. The code cannot be used after this date.
Usage LimitOptional. How many times the code can be redeemed in total.
Max Per CustomerOptional. How many times the same email address can use the code.
Exclude already-discounted productsWhen enabled, the discount does not apply to products that already have a discounted price set on the offer.
Restrict to ProductsOptional. When selected, the code only works for the chosen products.
ActiveThe code only works at checkout when this is enabled.

How a Discount Code Works at Checkout

There is a dedicated field for entering a discount code in the checkout view. The customer types the code and confirms it — the price shown at checkout updates immediately to reflect the discount.

If the code is restricted to specific products but none of them are in the order, the code will not work and the customer sees a notification.

Some payment methods require the order total to be above a minimum amount. For example, Stripe requires a minimum of 0.50 €. If a discount code brings the total below the minimum, payment will fail. Keep this in mind especially when creating codes that can give large percentage discounts.

Reservation and Release System

When a customer enters a discount code, the system temporarily reserves one usage. This ensures that the usage limit holds even when multiple customers are at checkout at the same time.

The reservation is active as long as the customer is actively at checkout. If the customer does not proceed to payment, the reservation is released automatically after a few minutes, freeing up that usage for others. If the customer proceeds to payment, the reservation is extended to 2 hours — if payment is not completed and the customer does not return to checkout, the usage is only freed after two hours. If the customer returns to the checkout before completing payment, the reservation reverts back to a few minutes.

When payment is confirmed, the reservation becomes a permanent redemption and is recorded in the code's usage history.

If the customer removes the code at checkout, the reservation is released immediately. If the customer closes the browser window, the reservation is released after a few minutes.

On this page