Customer discounts
Give customers a discount when they sign up via a partner — auto-applied at Stripe Checkout.
Stripe-only feature
What it does
When a partner is approved, Partli auto-creates a Stripe coupon + a unique promotion code on your Stripe account, then exposes the code to the partner. Two flows:
- Link-based — visitor clicks the partner's referral link, then completes Stripe Checkout. Our JS snippet auto-applies the discount; the customer sees the discount line item without typing anything.
- Code-typed — partner shares just the code (e.g. on a podcast), the customer types it into Stripe Checkout, and it works.
Setup
- Connect your Stripe account to Partli (one-time, ~30 seconds).
- In your program settings, scroll to Customer discount. Pick a type (percent or fixed) + a duration (once / N months / forever). Save.
- Approve a partner. They'll see their unique discount code in the partner portal.
- Make sure
partli.jsis in your site's<head>so the link-based flow works.
How it's implemented
Behind the scenes, when you approve a partner with discounts enabled, we call:
stripe.coupons.createon your connected account — creates a Stripe coupon matching your program's discount config.stripe.promotionCodes.create— creates a unique, partner-named code (e.g.JANE-X9K4) tied to that coupon.- Stores the coupon and promotion code IDs on the partner row so we can deactivate them later if needed.
At checkout, our snippet either calls Stripe.redirectToCheckout({discounts: [{promotion_code}]})on Stripe.js flows, or appends ?prefilled_promo_code= on Stripe Payment Links.
Code naming
We use the partner's referral-link slug as the promotion code text (uppercased, non-alphanumerics removed). If that collides with an existing code on your account, we append a 4-character suffix from the partner ID. Codes are unique per Stripe account.
Disabling discounts
Setting Discount type back to None in program settings stops new partners from getting codes provisioned, but existing partners' codes remain active. To deactivate them, we'd need to call stripe.promotionCodes.update(id, {active: false}) for each — currently a manual operation; email [email protected]if you need to do this in bulk.
Limitations
- Stripe-only — see the callout at the top.
- Per-account uniqueness — two partners across two different programs on the same Stripe account can't have the same code. We auto-suffix on collision.
- Existing customers — discount applies on Stripe Checkout, not on already-active subscriptions. If you want to retroactively apply a code to an existing customer, do it via the Stripe dashboard.