class Simplify::Subscription
A Subscription
object.
Attributes
Authentication
object used to access the API (See Simplify::Authentication
for details)
Public Class Methods
Creates an Subscription
object
- parms
-
a hash of parameters; valid keys are:
-
amount
Amount of the payment in the smallest unit of your currency. Example: 100 = $1.00USD -
billingCycle
How 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] -
billingCycleLimit
The number of fixed billing cycles for a plan. Only used if the billingCycle parameter is set to FIXED. Example: 4 -
coupon
Coupon
ID associated with the subscription -
currency
Currency code (ISO-4217). Must match the currency associated with your account. [default: USD] -
customer
Customer
that is enrolling in the subscription. -
frequency
Frequency of payment for the plan. Used in conjunction with frequencyPeriod. Valid values are “DAILY”, “WEEKLY”, “MONTHLY” and “YEARLY”. -
frequencyPeriod
Period of frequency of payment for the plan. Example: if the frequency is weekly, and periodFrequency is 2, then the subscription is billed bi-weekly. -
name
Name describing subscription -
plan
The ID of the plan that should be used for the subscription. -
quantity
Quantity of the plan for the subscription. [min value: 1] -
renewalReminderLeadDays
If 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 keysSimplify::public_key
andSimplify::private_key
are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.
Returns a Subscription
object.
# 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
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 keysSimplify::public_key
andSimplify::private_key
are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.
Returns a Subscription
object.
# 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
Retrieve Subscription
objects.
- criteria
-
a hash of parameters; valid keys are:
-
filter
<table class=“filter_list”><tr><td>filter.customer</td><td>Filter by the Id of the customer with the subscription</td></tr><tr><td>filter.plan</td><td>Filter by the Id of the plan linked to the subscription</td></tr><tr><td>filter.dateCreatedMin<sup>*</sup></td><td>Filter by the minimum created date you are searching for - Date in UTC millis</td></tr><tr><td>filter.dateCreatedMax<sup>*</sup></td><td>Filter by the maximum created date you are searching for - Date in UTC millis</td></tr><tr><td>filter.q</td><td>You can use this to filter by the Id, the name or the amount of the subscription</td></tr></table>
<sup>*</sup>Use dateCreatedMin with dateCreatedMax in the same filter if you want to search between two created dates -
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 (eitherasc
for ascending ordesc
for descending). Sortable properties are:dateCreated id plan
.
- auth
-
Authentication
information used for the API call. If no value is passed the global keysSimplify::public_key
andSimplify::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.
# 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
Public Instance Methods
Delete this object
# File lib/simplify/subscription.rb, line 88 def delete() h = Simplify::PaymentsApi.execute("subscription", 'delete', self, self.authentication) self.merge!(h) self end
Returns the private key used when accessing this object. Deprecated: please use 'authentication' instead.
# File lib/simplify/subscription.rb, line 50 def private_key return self.authentication.private_key end
Sets the private key used when accessing this object. Deprecated: please use 'authentication' instead.
# File lib/simplify/subscription.rb, line 55 def private_key=(k) return self.authentication.private_key = k end
Returns the public key used when accessing this object. Deprecated: please use 'authentication' instead.
# File lib/simplify/subscription.rb, line 40 def public_key return self.authentication.public_key end
Sets the public key used when accessing this object. Deprecated: please use 'authentication' instead.
# File lib/simplify/subscription.rb, line 45 def public_key=(k) return self.authentication.public_key = k end
Updates this object
The properties that can be updated:
-
amount
Amount of the payment in the smallest unit of your currency. Example: 100 = $1.00USD -
billingCycle
How 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] -
billingCycleLimit
The number of fixed billing cycles for a plan. Only used if the billingCycle parameter is set to FIXED. Example: 4 -
coupon
Coupon
being assigned to this subscription -
currency
Currency code (ISO-4217). Must match the currency associated with your account. [default: USD] -
frequency
Frequency of payment for the plan. Used in conjunction with frequencyPeriod. Valid values are “DAILY”, “WEEKLY”, “MONTHLY” and “YEARLY”. -
frequencyPeriod
Period 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] -
name
Name describing subscription -
plan
Plan
that should be used for the subscription. -
prorate
Whether to prorate existing subscription. [default: true] (required) -
quantity
Quantity of the plan for the subscription. [min value: 1] -
renewalReminderLeadDays
If 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.
# File lib/simplify/subscription.rb, line 144 def update() h = Simplify::PaymentsApi.execute("subscription", 'update', self, self.authentication) self.merge!(h) self end