1. Registry
  2. Packages
  3. Stripe Provider
  4. API Docs
  5. Coupon
Viewing docs for Stripe 0.3.0
published on Friday, Aug 14, 2026 by Pulumi
Viewing docs for Stripe 0.3.0
published on Friday, Aug 14, 2026 by Pulumi

    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.

    Create Coupon Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Coupon(name: string, args?: CouponArgs, opts?: CustomResourceOptions);
    @overload
    def Coupon(resource_name: str,
               args: Optional[CouponArgs] = None,
               opts: Optional[ResourceOptions] = None)
    
    @overload
    def Coupon(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               amount_off: Optional[float] = None,
               applies_tos: Optional[Sequence[CouponAppliesToArgs]] = None,
               currency: Optional[str] = None,
               currency_options: Optional[Sequence[CouponCurrencyOptionArgs]] = None,
               duration: Optional[str] = None,
               duration_in_months: Optional[float] = None,
               max_redemptions: Optional[float] = None,
               metadata: Optional[Mapping[str, str]] = None,
               name: Optional[str] = None,
               percent_off: Optional[float] = None,
               redeem_by: Optional[float] = None)
    func NewCoupon(ctx *Context, name string, args *CouponArgs, opts ...ResourceOption) (*Coupon, error)
    public Coupon(string name, CouponArgs? args = null, CustomResourceOptions? opts = null)
    public Coupon(String name, CouponArgs args)
    public Coupon(String name, CouponArgs args, CustomResourceOptions options)
    
    type: stripe:Coupon
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "stripe_coupon" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args CouponArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CouponArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CouponArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CouponArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CouponArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var couponResource = new Stripe.Coupon("couponResource", new()
    {
        AmountOff = 0.0,
        AppliesTos = new[]
        {
            new Stripe.Inputs.CouponAppliesToArgs
            {
                Products = new[]
                {
                    "string",
                },
            },
        },
        Currency = "string",
        CurrencyOptions = new[]
        {
            new Stripe.Inputs.CouponCurrencyOptionArgs
            {
                AmountOff = 0.0,
                Key = "string",
            },
        },
        Duration = "string",
        DurationInMonths = 0.0,
        MaxRedemptions = 0.0,
        Metadata = 
        {
            { "string", "string" },
        },
        Name = "string",
        PercentOff = 0.0,
        RedeemBy = 0.0,
    });
    
    example, err := stripe.NewCoupon(ctx, "couponResource", &stripe.CouponArgs{
    	AmountOff: pulumi.Float64(0),
    	AppliesTos: stripe.CouponAppliesToArray{
    		&stripe.CouponAppliesToArgs{
    			Products: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	Currency: pulumi.String("string"),
    	CurrencyOptions: stripe.CouponCurrencyOptionArray{
    		&stripe.CouponCurrencyOptionArgs{
    			AmountOff: pulumi.Float64(0),
    			Key:       pulumi.String("string"),
    		},
    	},
    	Duration:         pulumi.String("string"),
    	DurationInMonths: pulumi.Float64(0),
    	MaxRedemptions:   pulumi.Float64(0),
    	Metadata: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Name:       pulumi.String("string"),
    	PercentOff: pulumi.Float64(0),
    	RedeemBy:   pulumi.Float64(0),
    })
    
    resource "stripe_coupon" "couponResource" {
      lifecycle {
        create_before_destroy = true
      }
      amount_off = 0
      applies_tos {
        products = ["string"]
      }
      currency = "string"
      currency_options {
        amount_off = 0
        key        = "string"
      }
      duration           = "string"
      duration_in_months = 0
      max_redemptions    = 0
      metadata = {
        "string" = "string"
      }
      name        = "string"
      percent_off = 0
      redeem_by   = 0
    }
    
    var couponResource = new Coupon("couponResource", CouponArgs.builder()
        .amountOff(0.0)
        .appliesTos(CouponAppliesToArgs.builder()
            .products("string")
            .build())
        .currency("string")
        .currencyOptions(CouponCurrencyOptionArgs.builder()
            .amountOff(0.0)
            .key("string")
            .build())
        .duration("string")
        .durationInMonths(0.0)
        .maxRedemptions(0.0)
        .metadata(Map.of("string", "string"))
        .name("string")
        .percentOff(0.0)
        .redeemBy(0.0)
        .build());
    
    coupon_resource = stripe.Coupon("couponResource",
        amount_off=float(0),
        applies_tos=[{
            "products": ["string"],
        }],
        currency="string",
        currency_options=[{
            "amount_off": float(0),
            "key": "string",
        }],
        duration="string",
        duration_in_months=float(0),
        max_redemptions=float(0),
        metadata={
            "string": "string",
        },
        name="string",
        percent_off=float(0),
        redeem_by=float(0))
    
    const couponResource = new stripe.Coupon("couponResource", {
        amountOff: 0,
        appliesTos: [{
            products: ["string"],
        }],
        currency: "string",
        currencyOptions: [{
            amountOff: 0,
            key: "string",
        }],
        duration: "string",
        durationInMonths: 0,
        maxRedemptions: 0,
        metadata: {
            string: "string",
        },
        name: "string",
        percentOff: 0,
        redeemBy: 0,
    });
    
    type: stripe:Coupon
    properties:
        amountOff: 0
        appliesTos:
            - products:
                - string
        currency: string
        currencyOptions:
            - amountOff: 0
              key: string
        duration: string
        durationInMonths: 0
        maxRedemptions: 0
        metadata:
            string: string
        name: string
        percentOff: 0
        redeemBy: 0
    

    Coupon Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Coupon resource accepts the following input properties:

    AmountOff double
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    AppliesTos List<CouponAppliesTo>
    Currency string
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    CurrencyOptions List<CouponCurrencyOption>
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    Duration string
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    DurationInMonths double
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    MaxRedemptions double
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    Metadata Dictionary<string, string>
    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.
    Name string
    Name of the coupon displayed to customers on for instance invoices or receipts.
    PercentOff double
    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.
    RedeemBy double
    Date after which the coupon can no longer be redeemed.
    AmountOff float64
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    AppliesTos []CouponAppliesToArgs
    Currency string
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    CurrencyOptions []CouponCurrencyOptionArgs
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    Duration string
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    DurationInMonths float64
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    MaxRedemptions float64
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    Metadata map[string]string
    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.
    Name string
    Name of the coupon displayed to customers on for instance invoices or receipts.
    PercentOff float64
    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.
    RedeemBy float64
    Date after which the coupon can no longer be redeemed.
    amount_off number
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    applies_tos list(object)
    currency string
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currency_options list(object)
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration string
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    duration_in_months number
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    max_redemptions number
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata map(string)
    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.
    name string
    Name of the coupon displayed to customers on for instance invoices or receipts.
    percent_off number
    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.
    redeem_by number
    Date after which the coupon can no longer be redeemed.
    amountOff Double
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    appliesTos List<CouponAppliesTo>
    currency String
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currencyOptions List<CouponCurrencyOption>
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration String
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    durationInMonths Double
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    maxRedemptions Double
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata Map<String,String>
    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.
    name String
    Name of the coupon displayed to customers on for instance invoices or receipts.
    percentOff Double
    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.
    redeemBy Double
    Date after which the coupon can no longer be redeemed.
    amountOff number
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    appliesTos CouponAppliesTo[]
    currency string
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currencyOptions CouponCurrencyOption[]
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration string
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    durationInMonths number
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    maxRedemptions number
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata {[key: string]: string}
    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.
    name string
    Name of the coupon displayed to customers on for instance invoices or receipts.
    percentOff number
    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.
    redeemBy number
    Date after which the coupon can no longer be redeemed.
    amount_off float
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    applies_tos Sequence[CouponAppliesToArgs]
    currency str
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currency_options Sequence[CouponCurrencyOptionArgs]
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration str
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    duration_in_months float
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    max_redemptions float
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata Mapping[str, str]
    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.
    name str
    Name of the coupon displayed to customers on for instance invoices or receipts.
    percent_off float
    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.
    redeem_by float
    Date after which the coupon can no longer be redeemed.
    amountOff Number
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    appliesTos List<Property Map>
    currency String
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currencyOptions List<Property Map>
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration String
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    durationInMonths Number
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    maxRedemptions Number
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata Map<String>
    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.
    name String
    Name of the coupon displayed to customers on for instance invoices or receipts.
    percentOff Number
    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.
    redeemBy Number
    Date after which the coupon can no longer be redeemed.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Coupon resource produces the following output properties:

    Created double
    Time at which the object was created. Measured in seconds since the Unix epoch.
    Id string
    The provider-assigned unique ID for this managed resource.
    Livemode bool
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    Object string
    String representing the object's type. Objects of the same type share the same value.
    TimesRedeemed double
    Number of times this coupon has been applied to a customer.
    Valid bool
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    Created float64
    Time at which the object was created. Measured in seconds since the Unix epoch.
    Id string
    The provider-assigned unique ID for this managed resource.
    Livemode bool
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    Object string
    String representing the object's type. Objects of the same type share the same value.
    TimesRedeemed float64
    Number of times this coupon has been applied to a customer.
    Valid bool
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    created number
    Time at which the object was created. Measured in seconds since the Unix epoch.
    id string
    The provider-assigned unique ID for this managed resource.
    livemode bool
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    object string
    String representing the object's type. Objects of the same type share the same value.
    times_redeemed number
    Number of times this coupon has been applied to a customer.
    valid bool
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    created Double
    Time at which the object was created. Measured in seconds since the Unix epoch.
    id String
    The provider-assigned unique ID for this managed resource.
    livemode Boolean
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    object String
    String representing the object's type. Objects of the same type share the same value.
    timesRedeemed Double
    Number of times this coupon has been applied to a customer.
    valid Boolean
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    created number
    Time at which the object was created. Measured in seconds since the Unix epoch.
    id string
    The provider-assigned unique ID for this managed resource.
    livemode boolean
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    object string
    String representing the object's type. Objects of the same type share the same value.
    timesRedeemed number
    Number of times this coupon has been applied to a customer.
    valid boolean
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    created float
    Time at which the object was created. Measured in seconds since the Unix epoch.
    id str
    The provider-assigned unique ID for this managed resource.
    livemode bool
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    object str
    String representing the object's type. Objects of the same type share the same value.
    times_redeemed float
    Number of times this coupon has been applied to a customer.
    valid bool
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    created Number
    Time at which the object was created. Measured in seconds since the Unix epoch.
    id String
    The provider-assigned unique ID for this managed resource.
    livemode Boolean
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    object String
    String representing the object's type. Objects of the same type share the same value.
    timesRedeemed Number
    Number of times this coupon has been applied to a customer.
    valid Boolean
    Taking account of the above properties, whether this coupon can still be applied to a customer.

    Look up Existing Coupon Resource

    Get an existing Coupon resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: CouponState, opts?: CustomResourceOptions): Coupon
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            amount_off: Optional[float] = None,
            applies_tos: Optional[Sequence[CouponAppliesToArgs]] = None,
            created: Optional[float] = None,
            currency: Optional[str] = None,
            currency_options: Optional[Sequence[CouponCurrencyOptionArgs]] = None,
            duration: Optional[str] = None,
            duration_in_months: Optional[float] = None,
            livemode: Optional[bool] = None,
            max_redemptions: Optional[float] = None,
            metadata: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            object: Optional[str] = None,
            percent_off: Optional[float] = None,
            redeem_by: Optional[float] = None,
            times_redeemed: Optional[float] = None,
            valid: Optional[bool] = None) -> Coupon
    func GetCoupon(ctx *Context, name string, id IDInput, state *CouponState, opts ...ResourceOption) (*Coupon, error)
    public static Coupon Get(string name, Input<string> id, CouponState? state, CustomResourceOptions? opts = null)
    public static Coupon get(String name, Output<String> id, CouponState state, CustomResourceOptions options)
    resources:  _:    type: stripe:Coupon    get:      id: ${id}
    import {
      to = stripe_coupon.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AmountOff double
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    AppliesTos List<CouponAppliesTo>
    Created double
    Time at which the object was created. Measured in seconds since the Unix epoch.
    Currency string
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    CurrencyOptions List<CouponCurrencyOption>
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    Duration string
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    DurationInMonths double
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    Livemode bool
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    MaxRedemptions double
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    Metadata Dictionary<string, string>
    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.
    Name string
    Name of the coupon displayed to customers on for instance invoices or receipts.
    Object string
    String representing the object's type. Objects of the same type share the same value.
    PercentOff double
    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.
    RedeemBy double
    Date after which the coupon can no longer be redeemed.
    TimesRedeemed double
    Number of times this coupon has been applied to a customer.
    Valid bool
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    AmountOff float64
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    AppliesTos []CouponAppliesToArgs
    Created float64
    Time at which the object was created. Measured in seconds since the Unix epoch.
    Currency string
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    CurrencyOptions []CouponCurrencyOptionArgs
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    Duration string
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    DurationInMonths float64
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    Livemode bool
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    MaxRedemptions float64
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    Metadata map[string]string
    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.
    Name string
    Name of the coupon displayed to customers on for instance invoices or receipts.
    Object string
    String representing the object's type. Objects of the same type share the same value.
    PercentOff float64
    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.
    RedeemBy float64
    Date after which the coupon can no longer be redeemed.
    TimesRedeemed float64
    Number of times this coupon has been applied to a customer.
    Valid bool
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    amount_off number
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    applies_tos list(object)
    created number
    Time at which the object was created. Measured in seconds since the Unix epoch.
    currency string
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currency_options list(object)
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration string
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    duration_in_months number
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    livemode bool
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    max_redemptions number
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata map(string)
    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.
    name string
    Name of the coupon displayed to customers on for instance invoices or receipts.
    object string
    String representing the object's type. Objects of the same type share the same value.
    percent_off number
    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.
    redeem_by number
    Date after which the coupon can no longer be redeemed.
    times_redeemed number
    Number of times this coupon has been applied to a customer.
    valid bool
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    amountOff Double
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    appliesTos List<CouponAppliesTo>
    created Double
    Time at which the object was created. Measured in seconds since the Unix epoch.
    currency String
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currencyOptions List<CouponCurrencyOption>
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration String
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    durationInMonths Double
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    livemode Boolean
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    maxRedemptions Double
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata Map<String,String>
    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.
    name String
    Name of the coupon displayed to customers on for instance invoices or receipts.
    object String
    String representing the object's type. Objects of the same type share the same value.
    percentOff Double
    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.
    redeemBy Double
    Date after which the coupon can no longer be redeemed.
    timesRedeemed Double
    Number of times this coupon has been applied to a customer.
    valid Boolean
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    amountOff number
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    appliesTos CouponAppliesTo[]
    created number
    Time at which the object was created. Measured in seconds since the Unix epoch.
    currency string
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currencyOptions CouponCurrencyOption[]
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration string
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    durationInMonths number
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    livemode boolean
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    maxRedemptions number
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata {[key: string]: string}
    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.
    name string
    Name of the coupon displayed to customers on for instance invoices or receipts.
    object string
    String representing the object's type. Objects of the same type share the same value.
    percentOff number
    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.
    redeemBy number
    Date after which the coupon can no longer be redeemed.
    timesRedeemed number
    Number of times this coupon has been applied to a customer.
    valid boolean
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    amount_off float
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    applies_tos Sequence[CouponAppliesToArgs]
    created float
    Time at which the object was created. Measured in seconds since the Unix epoch.
    currency str
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currency_options Sequence[CouponCurrencyOptionArgs]
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration str
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    duration_in_months float
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    livemode bool
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    max_redemptions float
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata Mapping[str, str]
    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.
    name str
    Name of the coupon displayed to customers on for instance invoices or receipts.
    object str
    String representing the object's type. Objects of the same type share the same value.
    percent_off float
    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.
    redeem_by float
    Date after which the coupon can no longer be redeemed.
    times_redeemed float
    Number of times this coupon has been applied to a customer.
    valid bool
    Taking account of the above properties, whether this coupon can still be applied to a customer.
    amountOff Number
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    appliesTos List<Property Map>
    created Number
    Time at which the object was created. Measured in seconds since the Unix epoch.
    currency String
    If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.
    currencyOptions List<Property Map>
    Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
    duration String
    One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.
    durationInMonths Number
    If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.
    livemode Boolean
    If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
    maxRedemptions Number
    Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
    metadata Map<String>
    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.
    name String
    Name of the coupon displayed to customers on for instance invoices or receipts.
    object String
    String representing the object's type. Objects of the same type share the same value.
    percentOff Number
    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.
    redeemBy Number
    Date after which the coupon can no longer be redeemed.
    timesRedeemed Number
    Number of times this coupon has been applied to a customer.
    valid Boolean
    Taking account of the above properties, whether this coupon can still be applied to a customer.

    Supporting Types

    CouponAppliesTo, CouponAppliesToArgs

    Products List<string>
    A list of product IDs this coupon applies to
    Products []string
    A list of product IDs this coupon applies to
    products list(string)
    A list of product IDs this coupon applies to
    products List<String>
    A list of product IDs this coupon applies to
    products string[]
    A list of product IDs this coupon applies to
    products Sequence[str]
    A list of product IDs this coupon applies to
    products List<String>
    A list of product IDs this coupon applies to

    CouponCurrencyOption, CouponCurrencyOptionArgs

    AmountOff double
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    Key string
    Key for this entry.
    AmountOff float64
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    Key string
    Key for this entry.
    amount_off number
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    key string
    Key for this entry.
    amountOff Double
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    key String
    Key for this entry.
    amountOff number
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    key string
    Key for this entry.
    amount_off float
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    key str
    Key for this entry.
    amountOff Number
    Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.
    key String
    Key for this entry.

    Package Details

    Repository
    stripe stripe/terraform-provider-stripe
    License
    Notes
    This Pulumi package is based on the stripe Terraform Provider.
    Viewing docs for Stripe 0.3.0
    published on Friday, Aug 14, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial