Search documentation of stripe_elixir

# StripeElixir.Resources.Coupon (stripe_elixir v0.1.0)

Copy Markdown View Source

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

t()

### Functions

expandable_fields()
object_name()

## Types

# t()

    @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 the `currency` specified) 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` - If `amount_off` has 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 of `forever`, `once`, or `repeating`. Describes how long a customer who applies this coupon will get the discount. Possible values: `forever`, `once`, `repeating`.
- `duration_in_months` - If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`. Nullable.
- `id` - Unique identifier for the object. Max length: 5000.
- `livemode` - Has the value `true` if the object exists in live mode or the value `false` if 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.

## Functions

# expandable_fields()

# object_name()