Class: Simplify::Coupon

Inherits:
Hash
  • Object
show all
Defined in:
lib/simplify/coupon.rb

Overview

A Coupon object.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#authenticationObject

Authentication object used to access the API (See Simplify::Authentication for details)



37
38
39
# File 'lib/simplify/coupon.rb', line 37

def authentication
  @authentication
end

Class Method Details

.create(parms, *auth) ⇒ Object

Creates an Coupon object

parms

a hash of parameters; valid keys are:

  • amountOff Amount off of the price of the product in the smallest units of the currency of the merchant. While this field is optional, you must provide either amountOff or percentOff for a coupon. Example: 100 = $1.00USD [min value: 1]

  • couponCode Code that identifies the coupon to be used. [min length: 2] required

  • description A brief section that describes the coupon.

  • durationInMonths DEPRECATED - Duration in months that the coupon will be applied after it has first been selected. [min value: 1, max value: 9999]

  • endDate Last date of the coupon in UTC millis that the coupon can be applied to a subscription. This ends at 23:59:59 of the merchant timezone.

  • maxRedemptions Maximum number of redemptions allowed for the coupon. A redemption is defined as when the coupon is applied to the subscription for the first time. [min value: 1]

  • numTimesApplied The number of times a coupon will be applied on a customer’s subscription. [min value: 1, max value: 9999]

  • percentOff Percentage off of the price of the product. While this field is optional, you must provide either amountOff or percentOff for a coupon. The percent off is a whole number. [min value: 1, max value: 100]

  • startDate First date of the coupon in UTC millis that the coupon can be applied to a subscription. This starts at midnight of the merchant timezone. required

auth

Authentication information used for the API call. If no value is passed the global keys Simplify::public_key and Simplify::private_key are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.

Returns a Coupon object.



74
75
76
77
78
79
80
81
82
# File 'lib/simplify/coupon.rb', line 74

def self.create(parms, *auth)

    auth_obj = Simplify::PaymentsApi.create_auth_object(auth)
    h = Simplify::PaymentsApi.execute("coupon", 'create', parms, auth_obj)
    obj = Coupon.new()
    obj.authentication = auth_obj
    obj = obj.merge!(h)
    obj
end

.find(id, *auth) ⇒ Object

Retrieve a Coupon object from the API

id

ID of object to retrieve

auth

Authentication information used for the API call. If no value is passed the global keys Simplify::public_key and Simplify::private_key are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.

Returns a Coupon object.



116
117
118
119
120
121
122
123
124
# File 'lib/simplify/coupon.rb', line 116

def self.find(id, *auth)

    auth_obj = Simplify::PaymentsApi.create_auth_object(auth)
    h = Simplify::PaymentsApi.execute("coupon", 'show', {"id" => id}, auth_obj)
    obj = Coupon.new()
    obj.authentication = auth_obj
    obj = obj.merge!(h)
    obj
end

.list(criteria = nil, *auth) ⇒ Object

Retrieve Coupon objects.

criteria

a hash of parameters; valid keys are:

  • filter Filters to apply to the list.

  • max Allows up to a max of 50 list items to return. [min value: 0, max value: 50, default: 20]

  • offset Used in paging of the list. This is the start offset of the page. [min value: 0, default: 0]

  • sorting Allows for ascending or descending sorting of the list. The value maps properties to the sort direction (either asc for ascending or desc for descending). Sortable properties are: dateCreated maxRedemptions timesRedeemed id startDate endDate percentOff couponCode durationInMonths numTimesApplied amountOff.

auth

Authentication information used for the API call. If no value is passed the global keys Simplify::public_key and Simplify::private_key are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.

Returns an object where the list property contains the list of Coupon objects and the total property contains the total number of Coupon objects available for the given criteria.



100
101
102
103
104
105
106
107
108
109
# File 'lib/simplify/coupon.rb', line 100

def self.list(criteria = nil, *auth)

    auth_obj = Simplify::PaymentsApi.create_auth_object(auth)
    h = Simplify::PaymentsApi.execute("coupon", 'list', criteria, auth_obj)
    obj = Coupon.new()
    obj.authentication = auth_obj
    obj = obj.merge!(h)
    obj

end

Instance Method Details

#deleteObject

Delete this object



85
86
87
88
89
# File 'lib/simplify/coupon.rb', line 85

def delete()
    h = Simplify::PaymentsApi.execute("coupon", 'delete', self, self.authentication)
    self.merge!(h)
    self
end

#private_keyObject

Returns the private key used when accessing this object. Deprecated: please use ‘authentication’ instead.



50
51
52
# File 'lib/simplify/coupon.rb', line 50

def private_key
    return self.authentication.private_key
end

#private_key=(k) ⇒ Object

Sets the private key used when accessing this object. Deprecated: please use ‘authentication’ instead.



55
56
57
# File 'lib/simplify/coupon.rb', line 55

def private_key=(k)
    return self.authentication.private_key = k
end

#public_keyObject

Returns the public key used when accessing this object. Deprecated: please use ‘authentication’ instead.



40
41
42
# File 'lib/simplify/coupon.rb', line 40

def public_key
    return self.authentication.public_key
end

#public_key=(k) ⇒ Object

Sets the public key used when accessing this object. Deprecated: please use ‘authentication’ instead.



45
46
47
# File 'lib/simplify/coupon.rb', line 45

def public_key=(k)
    return self.authentication.public_key = k
end

#updateObject

  • maxRedemptions Maximum number of redemptions allowed for the coupon. A redemption is defined as when the coupon is applied to the subscription for the first time. [min value: 1]



131
132
133
134
135
# File 'lib/simplify/coupon.rb', line 131

def update()
      h = Simplify::PaymentsApi.execute("coupon", 'update', self, self.authentication)
      self.merge!(h)
      self
end