Skip to main content
Schema2020-08-27object

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 [invoices](https://stripe.com/docs/api#invoices) or [orders](https://stripe.com/docs/api#create_order_legacy-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge).

Source
openapi/spec3.json
Commit
d70de345383d
Active snapshot
da69df7e6e11

Coupon

object

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 [invoices](https://stripe.com/docs/api#invoices) or [orders](https://stripe.com/docs/api#create_order_legacy-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge).

amount_off integer
optionalnullable

Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer.

created integer (unix-time)
required

Time at which the object was created. Measured in seconds since the Unix epoch.

currency string
optionalnullable

If `amount_off` has been set, the three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the amount to take off.

duration string
required

One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount.

duration_in_months integer
optionalnullable

If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`.

id string
required

Unique identifier for the object.

livemode boolean
required

Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.

max_redemptions integer
optionalnullable

Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.

metadata object
optionalnullable

Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

name string
optionalnullable

Name of the coupon displayed to customers on for instance invoices or receipts.

object string
required

String representing the object's type. Objects of the same type share the same value.

percent_off number
optionalnullable

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.

redeem_by integer (unix-time)
optionalnullable

Date after which the coupon can no longer be redeemed.

times_redeemed integer
required

Number of times this coupon has been applied to a customer.

valid boolean
required

Taking account of the above properties, whether this coupon can still be applied to a customer.