class Stripe::Coupon

Overview

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.

Included Modules

Defined in:

stripe/models/coupon.cr

Constant Summary

ERROR_MESSAGE_FOR_DURATION = "invalid value for \"duration\", must be one of [forever, once, repeating]."
ERROR_MESSAGE_FOR_OBJECT = "invalid value for \"object\", must be one of [coupon]."
MAX_LENGTH_FOR_ID = 5000
MAX_LENGTH_FOR_NAME = 5000
VALID_VALUES_FOR_DURATION = String.static_array("forever", "once", "repeating")
VALID_VALUES_FOR_OBJECT = String.static_array("coupon")

Constructors

Instance Method Summary

Instance methods inherited from module OpenApi::Json

after_initialize after_initialize, clone clone, eql?(o : self) eql?, to_hash : Hash(String, JSON::Any) to_hash, to_json_any : JSON::Any to_json_any

Class methods inherited from module OpenApi::Json

build_from_hash(hash : Hash) build_from_hash, build_from_json_any(json_any : JSON::Any) build_from_json_any

Instance methods inherited from module OpenApi::Validatable

list_invalid_properties : Array(String) list_invalid_properties, list_invalid_properties_for(key : String) : Array(String) list_invalid_properties_for, valid? : Bool valid?, validate : Nil validate

Constructor Detail

def self.new(pull : JSON::PullParser) #

[View source]
def self.new(*, amount_off : Int64 | Nil = nil, created : Int64 | Nil = nil, currency : String | Nil = nil, duration : String | Nil = nil, duration_in_months : Int64 | Nil = nil, id : String | Nil = nil, livemode : Bool | Nil = nil, max_redemptions : Int64 | Nil = nil, metadata : Hash(String, String) | Nil = nil, name : String | Nil = nil, object : String | Nil = nil, percent_off : Float64 | Nil = nil, redeem_by : Int64 | Nil = nil, times_redeemed : Int64 | Nil = nil, valid : Bool | Nil = nil, applies_to : Stripe::CouponAppliesTo | Nil = nil, currency_options : Hash(String, Stripe::CouponCurrencyOption) | Nil = nil) #

Initializes the object @param [Hash] attributes Model attributes in the form of hash


[View source]

Instance Method Detail

def ==(other : self) #

Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes. #hash @return [UInt64] Hash code


def amount_off : Int64 | Nil #

[View source]
def amount_off=(new_value : Int64 | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] amount_off Object to be assigned


[View source]
def applies_to : Stripe::CouponAppliesTo | Nil #

[View source]
def applies_to=(new_value : Stripe::CouponAppliesTo | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] applies_to Object to be assigned


[View source]
def created : Int64 | Nil #

[View source]
def created=(new_value : Int64 | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] created Object to be assigned


[View source]
def currency : String | Nil #

[View source]
def currency=(new_value : String | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] currency Object to be assigned


[View source]
def currency_options : Hash(String, Stripe::CouponCurrencyOption) | Nil #

[View source]
def currency_options=(new_value : Hash(String, Stripe::CouponCurrencyOption) | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] currency_options Object to be assigned


[View source]
def duration : String | Nil #

[View source]
def duration=(new_value : String | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] duration Object to be assigned


[View source]
def duration_in_months : Int64 | Nil #

[View source]
def duration_in_months=(new_value : Int64 | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] duration_in_months Object to be assigned


[View source]
def hash(hasher) #

Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes. #hash @return [UInt64] Hash code


def id : String | Nil #

[View source]
def id=(new_value : String | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] id Object to be assigned


[View source]
def list_invalid_properties : Array(String) #

Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properties with the reasons


[View source]
def livemode : Bool | Nil #

[View source]
def livemode=(new_value : Bool | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] livemode Object to be assigned


[View source]
def max_redemptions : Int64 | Nil #

[View source]
def max_redemptions=(new_value : Int64 | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] max_redemptions Object to be assigned


[View source]
def metadata : Hash(String, String) | Nil #

[View source]
def metadata=(new_value : Hash(String, String) | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] metadata Object to be assigned


[View source]
def name : String | Nil #

[View source]
def name=(new_value : String | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] name Object to be assigned


[View source]
def object : String | Nil #

[View source]
def object=(new_value : String | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] object Object to be assigned


[View source]
def percent_off : Float64 | Nil #

[View source]
def percent_off=(new_value : Float64 | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] percent_off Object to be assigned


[View source]
def redeem_by : Int64 | Nil #

[View source]
def redeem_by=(new_value : Int64 | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] redeem_by Object to be assigned


[View source]
def times_redeemed : Int64 | Nil #

[View source]
def times_redeemed=(new_value : Int64 | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] times_redeemed Object to be assigned


[View source]
def valid : Bool | Nil #

[View source]
def valid=(new_value : Bool | Nil) #

Custom attribute writer method checking allowed values (enum). @param [Object] valid Object to be assigned


[View source]
def valid? : Bool #

Check to see if the all the properties in the model are valid @return true if the model is valid


[View source]