Promotion Codes allow you to offer discounted or complimentary access to your subscriptions and one-time purchases.
Discounts at checkout are handled through Stripe promotion codes. To give named people complimentary access without a checkout or card details, use Direct User Access.
This guide explains:
How Promotion Codes work
The different types of offers you can create
How free access behaves
How to create them in Stripe
How to restrict them to specific products
Important guardrails to avoid billing issues
How Promotion Codes Work
Promotion Codes are created in Stripe and applied by customers at checkout. You can use Promotion Codes to:
Offer percentage or fixed discounts
Provide temporary free access (e.g. 1 or 3 months)
Give permanent complimentary access
Run limited promotions with expiry dates
Control how many times a code can be redeemed
When a valid code is entered:
The discount is applied instantly
The checkout total updates automatically
The subscription or purchase is completed
Access is granted automatically in SupaPass
Stripe handles:
Payment processing
Subscription billing
Invoice generation
Payment method collection
SupaPass manages:
Products
Pricing
Subscriber access
Understanding this separation helps prevent configuration mistakes.
Types of Offers You Can Create
1️⃣ Discounted Access (Payment Required)
Use this when offering:
Percentage discounts (e.g. 25% off)
Fixed amount discounts
Discounted introductory pricing
How it works:
The customer enters the promotion code at checkout
Payment details are collected
Billing begins immediately
Access is granted automatically
This type of promotion is very common to use and seen all over when buying digital products.
2️⃣ Free Access (100% Discount)
You can provide complimentary access by creating a 100% discount coupon in Stripe.
When applied:
The checkout total becomes £0 / $0
Stripe Checkout still asks for payment details with a 100%-off promotion code.
Access is granted immediately
This is ideal for:
Gifts
Industry access
Event bundles
Beta testers
Controlled promotional campaigns
Creating Temporary Free Access (e.g. 1 or 3 Months)
To offer a free introductory period before a paid subscription, create a repeating 100%-off coupon for a whole number of months, then create a promotion code linked to it. For access that should simply expire without becoming paid, use Direct User Access and set an end date.
In Stripe:
Create a coupon
Set Percent off = 100%
Set Duration = Repeating
Set the number of months (this can be any amount of months you want)
Good to Know We usually see our clients offer a 1 month free access as a promotional asset.
What happens:
The customer completes checkout at £0 / $0
Payment details are still required at Stripe Checkout, even when the initial total is £0 / $0.
Access is granted immediately
After the discount period ends, the subscription continues at its normal price unless the customer cancels. Explain that future billing clearly before sharing the promotion.
This allows you to run structured promotional campaigns with clear time limits.
Creating Permanent Free Access
If you want access to remain free indefinitely:
Set the coupon duration to Forever
Consider adding:
Expiry dates
Redemption limits
This keeps your promotional strategy controlled.
What Happens After a Free Period Ends?
If a Promotion Code was created with a repeating duration:
The free period ends automatically
Stripe collects payment details at checkout. Customers should cancel before the discount ends if they do not want the paid subscription to continue.
When the free discount period ends, normal subscription billing begins unless the customer has cancelled.
Access always reflects the billing status in Stripe.
Create a Promotion Code in Stripe (High-Level)
In Stripe, create a coupon (percentage, fixed amount, or 100% off).
Choose the duration (once, multiple months, or forever).
Create a promotion code linked to that coupon.
Test the code in checkout before sending it publicly.
Share the promotion code with your customers to enter at checkout.
Stripe setup guide
We recommend using Stripe support documentation for step-by-step instructions on how to setup up Coupons and promotion codes.
Checkout discounts & promotion codes: Find here the Stripe guide to add your promotion code
There are a couple of setups we do want to call out.
Applying Codes to Specific Products
Promotion Codes can apply to:
If you choose to restrict a code to specific products:
Select the correct Stripe product when creating the coupon
Ensure you verify the product name and pricing
For one-time purchases, Stripe may display multiple products with similar names. In that case:
Locate the correct Stripe Price ID in SupaPass
Search for it in Stripe to confirm the correct product before applying restrictions
Duplicate Product Names (One-Time Purchases)
For one-time purchases (OTP), Stripe may display multiple products with identical names. This happens because products are synced via API.
If you see duplicates, you can follow this guide to find the correct Stripe Product ID
This ensures your coupon applies to the correct product.
Where to Manage What
To avoid billing issues, always manage items in the correct place:
Manage in SupaPass | Manage in Stripe |
Products | Coupons |
Subscription plans | Promotion codes |
Pricing | Discount duration |
Subscriber access | Redemption limits & expiry dates |
Cancellations | Refunds |
❗Keep in mind Do not create or edit products directly in Stripe. All products and pricing must be created in SupaPass.
Best Practice Tips
Always test codes before sharing them publicly.
Use expiration dates for campaigns.
Use redemption limits for limited offers.
Clearly communicate whether access is temporary or ongoing.
Keep naming consistent for easier reporting in Stripe
Summary
Promotion Codes give you full flexibility to:
Offer discounts
Provide temporary free access
Run structured campaigns
Control redemption and duration
All billing logic is handled by Stripe.
All access control is managed automatically by SupaPass.
Used correctly, Promotion Codes give you precise control over both promotional strategy and access management.
Should I use a promotion code or Direct User Access?
Use a 100%-off Stripe promotion code when you want someone to check out and continue as a paying subscriber after the free period. Free periods configured this way last whole months or forever. For named people, access shorter than a month, or access without card details, use Direct User Access. Set an end date for temporary access; an open-ended grant cannot be manually revoked.
Where can customers enter a promotion code?
Stripe promotion codes work for purchases through your website, including supported subscriptions and one-time purchases. Customers choose Subscribe or the purchase option on the access page, then select Add promotion code at Stripe checkout. These codes do not apply to native iOS or Android in-app purchases.
Can a repeating discount run for several one-time purchases?
Repeating coupon durations are for subscriptions. They do not turn a one-time purchase into a multi-month subscription or repeat that purchase automatically.


