Class: Simplify::Subscription
- Inherits:
-
Hash
- Object
- Hash
- Simplify::Subscription
- Defined in:
- lib/simplify/subscription.rb
Overview
A Subscription object.
Instance Attribute Summary collapse
-
#authentication ⇒ Object
Authentication object used to access the API (See Simplify::Authentication for details).
Class Method Summary collapse
-
.create(parms, *auth) ⇒ Object
Creates an Subscription object.
-
.find(id, *auth) ⇒ Object
Retrieve a Subscription object from the API.
-
.list(criteria = nil, *auth) ⇒ Object
Retrieve Subscription objects.
Instance Method Summary collapse
-
#delete ⇒ Object
Delete this object.
-
#private_key ⇒ Object
Returns the private key used when accessing this object.
-
#private_key=(k) ⇒ Object
Sets the private key used when accessing this object.
-
#public_key ⇒ Object
Returns the public key used when accessing this object.
-
#public_key=(k) ⇒ Object
Sets the public key used when accessing this object.
-
#update ⇒ Object
-
billingCycleHow the plan is billed to the customer.
-
Instance Attribute Details
#authentication ⇒ Object
Authentication object used to access the API (See Simplify::Authentication for details)
37 38 39 |
# File 'lib/simplify/subscription.rb', line 37 def authentication @authentication end |
Class Method Details
.create(parms, *auth) ⇒ Object
Creates an Subscription object
- parms
-
a hash of parameters; valid keys are:
-
amountAmount of the payment in the smallest unit of your currency. Example: 100 = $1.00USD -
billingCycleHow the plan is billed to the customer. Values must be AUTO (indefinitely until the customer cancels) or FIXED (a fixed number of billing cycles). [default: AUTO] -
billingCycleLimitThe number of fixed billing cycles for a plan. Only used if the billingCycle parameter is set to FIXED. Example: 4 -
couponCoupon ID associated with the subscription -
currencyCurrency code (ISO-4217). Must match the currency associated with your account. [default: USD] -
customerCustomer that is enrolling in the subscription. -
frequencyFrequency of payment for the plan. Used in conjunction with frequencyPeriod. Valid values are “DAILY”, “WEEKLY”, “MONTHLY” and “YEARLY”. -
frequencyPeriodPeriod of frequency of payment for the plan. Example: if the frequency is weekly, and periodFrequency is 2, then the subscription is billed bi-weekly. -
nameName describing subscription -
planThe ID of the plan that should be used for the subscription. -
quantityQuantity of the plan for the subscription. [min value: 1] -
renewalReminderLeadDaysIf set, how many days before the next billing cycle that a renewal reminder is sent to the customer. If null, then no emails are sent. Minimum value is 7 if set.
- 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 Subscription object.
77 78 79 80 81 82 83 84 85 |
# File 'lib/simplify/subscription.rb', line 77 def self.create(parms, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("subscription", 'create', parms, auth_obj) obj = Subscription.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
.find(id, *auth) ⇒ Object
Retrieve a Subscription 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 Subscription object.
119 120 121 122 123 124 125 126 127 |
# File 'lib/simplify/subscription.rb', line 119 def self.find(id, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("subscription", 'show', {"id" => id}, auth_obj) obj = Subscription.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
.list(criteria = nil, *auth) ⇒ Object
Retrieve Subscription objects.
- criteria
-
a hash of parameters; valid keys are:
-
filterFilters to apply to the list. -
maxAllows up to a max of 50 list items to return. [min value: 0, max value: 50, default: 20] -
offsetUsed in paging of the list. This is the start offset of the page. [min value: 0, default: 0] -
sortingAllows for ascending or descending sorting of the list. The value maps properties to the sort direction (eitherascfor ascending ordescfor descending). Sortable properties are:id plan.
- 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 Subscription objects and the total property contains the total number of Subscription objects available for the given criteria.
103 104 105 106 107 108 109 110 111 112 |
# File 'lib/simplify/subscription.rb', line 103 def self.list(criteria = nil, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("subscription", 'list', criteria, auth_obj) obj = Subscription.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
Instance Method Details
#delete ⇒ Object
Delete this object
88 89 90 91 92 |
# File 'lib/simplify/subscription.rb', line 88 def delete() h = Simplify::PaymentsApi.execute("subscription", 'delete', self, self.authentication) self.merge!(h) self end |
#private_key ⇒ Object
Returns the private key used when accessing this object. Deprecated: please use ‘authentication’ instead.
50 51 52 |
# File 'lib/simplify/subscription.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/subscription.rb', line 55 def private_key=(k) return self.authentication.private_key = k end |
#public_key ⇒ Object
Returns the public key used when accessing this object. Deprecated: please use ‘authentication’ instead.
40 41 42 |
# File 'lib/simplify/subscription.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/subscription.rb', line 45 def public_key=(k) return self.authentication.public_key = k end |
#update ⇒ Object
-
billingCycleHow the plan is billed to the customer. Values must be AUTO (indefinitely until the customer cancels) or FIXED (a fixed number of billing cycles). [default: AUTO] -
billingCycleLimitThe number of fixed billing cycles for a plan. Only used if the billingCycle parameter is set to FIXED. Example: 4 -
couponCoupon being assigned to this subscription -
currencyCurrency code (ISO-4217). Must match the currency associated with your account. [default: USD] -
frequencyFrequency of payment for the plan. Used in conjunction with frequencyPeriod. Valid values are “DAILY”, “WEEKLY”, “MONTHLY” and “YEARLY”. -
frequencyPeriodPeriod of frequency of payment for the plan. Example: if the frequency is weekly, and periodFrequency is 2, then the subscription is billed bi-weekly. [min value: 1] -
nameName describing subscription -
planPlan that should be used for the subscription. -
prorateWhether to prorate existing subscription. [default: true] (required) -
quantityQuantity of the plan for the subscription. [min value: 1] -
renewalReminderLeadDaysIf set, how many days before the next billing cycle that a renewal reminder is sent to the customer. If null or 0, no emails are sent. Minimum value is 7 if set.
144 145 146 147 148 |
# File 'lib/simplify/subscription.rb', line 144 def update() h = Simplify::PaymentsApi.execute("subscription", 'update', self, self.authentication) self.merge!(h) self end |