Coupon
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.
Summary
Types
@type t() :: %StripeElixir.Resources.Coupon{ amount_off: integer(), applies_to: map() | nil, created: integer(), currency: String.t(), currency_options: map() | nil, duration: String.t(), duration_in_months: integer(), id: String.t(), livemode: boolean(), max_redemptions: integer(), metadata: map(), name: String.t(), object: String.t(), percent_off: float(), redeem_by: integer(), times_redeemed: integer(), valid: boolean() }
amount_off- Amount (in thecurrencyspecified) that will be taken off the subtotal of any invoices for this customer. Nullable.applies_to- Expandable.created- Time at which the object was created. Measured in seconds since the Unix epoch. Format: Unix timestamp.currency- Ifamount_offhas been set, the three-letter ISO code for the currency of the amount to take off. Format: ISO 4217 currency code. Nullable.currency_options- Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency. Expandable.duration- One offorever,once, orrepeating. Describes how long a customer who applies this coupon will get the discount. Possible values:forever,once,repeating.duration_in_months- Ifdurationisrepeating, the number of months the coupon applies. Null if coupondurationisforeveroronce. Nullable.id- Unique identifier for the object. Max length: 5000.livemode- Has the valuetrueif the object exists in live mode or the valuefalseif the object exists in test mode.max_redemptions- Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid. Nullable.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. Nullable.name- Name of the coupon displayed to customers on for instance invoices or receipts. Max length: 5000. Nullable.object- String representing the object's type. Objects of the same type share the same value. Possible values:coupon.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 $ (or local equivalent)100 invoice $ (or local equivalent)50 instead. Nullable.redeem_by- Date after which the coupon can no longer be redeemed. Format: Unix timestamp. Nullable.times_redeemed- Number of times this coupon has been applied to a customer.valid- Taking account of the above properties, whether this coupon can still be applied to a customer.