subscribd_coupons table. Coupons are created in your application code (or via the admin panel), applied to subscriptions through the ApplyCoupon action, and pushed to the gateway so discounts appear correctly on every subsequent invoice.
Create a coupon
UseCoupon::create() to define a new discount code. All prices are in minor currency units (cents for USD).
Percentage discount
Fixed-amount discount
For a flat discount rather than a percentage, settype to fixed and provide the amount in minor units:
Coupon fields
| Field | Description |
|---|---|
code | The redemption code customers enter |
type | percent or fixed |
amount | Percentage (1–100) or minor-unit amount |
duration_in_months | How many billing cycles the discount applies |
expires_at | Hard expiry date; null means no expiry |
max_redemptions | Maximum number of times the code can be used; null for unlimited |
Additional columns on the
subscribd_coupons table — applies_to_plans, first_payment_only, minimum_amount, and feature_grants — let you restrict coupons to specific plans or unlock bonus features. Set these directly when creating the model.Apply a coupon to a subscription
Pass theSubscription model and the Coupon model to ApplyCoupon:
Coupon redemption UI
Subscribd ships a ready-made Livewire component that renders a coupon code input and handles redemption:ApplyCoupon on success.