stripeapi-1.0.0.0: Stripe-Library
Safe HaskellNone
LanguageHaskell2010

StripeAPI.Types.Coupon

Description

Contains the types generated from the schema Coupon

Synopsis

Documentation

data Coupon Source #

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 invoices or orders. Coupons do not work with conventional one-off charges.

Constructors

Coupon 

Fields

  • couponAmountOff :: Maybe Int

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

  • couponAppliesTo :: Maybe CouponAppliesTo

    applies_to:

  • couponCreated :: Int

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

  • couponCurrency :: Maybe 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 Int

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

  • couponId :: Text

    id: Unique identifier for the object.

    Constraints:

    • Maximum length of 5000
  • couponLivemode :: Bool

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

  • couponMaxRedemptions :: Maybe 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 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 Text

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

    Constraints:

    • Maximum length of 5000
  • couponPercentOff :: Maybe 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 Int

    redeem_by: Date after which the coupon can no longer be redeemed.

  • couponTimesRedeemed :: Int

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

  • couponValid :: Bool

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

Instances

Instances details
Eq Coupon Source # 
Instance details

Defined in StripeAPI.Types.Coupon

Methods

(==) :: Coupon -> Coupon -> Bool #

(/=) :: Coupon -> Coupon -> Bool #

Show Coupon Source # 
Instance details

Defined in StripeAPI.Types.Coupon

ToJSON Coupon Source # 
Instance details

Defined in StripeAPI.Types.Coupon

FromJSON Coupon Source # 
Instance details

Defined in StripeAPI.Types.Coupon

data CouponDuration' Source #

Defines the enum schema located at components.schemas.coupon.properties.duration in the specification.

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

Constructors

CouponDuration'Other Value

This case is used if the value encountered during decoding does not match any of the provided cases in the specification.

CouponDuration'Typed Text

This constructor can be used to send values to the server which are not present in the specification yet.

CouponDuration'EnumForever

Represents the JSON value "forever"

CouponDuration'EnumOnce

Represents the JSON value "once"

CouponDuration'EnumRepeating

Represents the JSON value "repeating"