Defines the object schema located at components.schemas.coupon in the specification.
A coupon contains information about a percent-off or amount-off discount you might want to apply to a customer. Coupons may be applied to subscriptions, invoices, checkout sessions, quotes, and more. Coupons do not work with conventional one-off charges or payment intents.
Constructors
CouponcouponAmountOff :: Maybe (Nullable Int)amount_off: Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer.
couponAppliesTo :: Maybe CouponAppliesToapplies_to:
couponCreated :: Intcreated: Time at which the object was created. Measured in seconds since the Unix epoch.
couponCurrency :: Maybe (Nullable Text)currency: If `amount_off` has been set, the three-letter ISO code for the currency of the amount to take off.
couponDuration :: CouponDuration'duration: One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount.
couponDurationInMonths :: Maybe (Nullable Int)duration_in_months: If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`.
couponId :: Textid: Unique identifier for the object.
Constraints:
Maximum length of 5000
couponLivemode :: Boollivemode: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
couponMaxRedemptions :: Maybe (Nullable Int)max_redemptions: Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
couponMetadata :: Maybe (Nullable Object)metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
couponName :: Maybe (Nullable Text)name: Name of the coupon displayed to customers on for instance invoices or receipts.
Constraints:
Maximum length of 5000
couponPercentOff :: Maybe (Nullable Double)percent_off: Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a %s100 invoice %s50 instead.
couponRedeemBy :: Maybe (Nullable Int)redeem_by: Date after which the coupon can no longer be redeemed.
couponTimesRedeemed :: Inttimes_redeemed: Number of times this coupon has been applied to a customer.
couponValid :: Boolvalid: Taking account of the above properties, whether this coupon can still be applied to a customer.