Class: Simplify::Plan
- Inherits:
-
Hash
- Object
- Hash
- Simplify::Plan
- Defined in:
- lib/simplify/plan.rb
Overview
A Plan 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 Plan object.
-
.find(id, *auth) ⇒ Object
Retrieve a Plan object from the API.
-
.list(criteria = nil, *auth) ⇒ Object
Retrieve Plan 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
Updates this object.
Instance Attribute Details
#authentication ⇒ Object
Authentication object used to access the API (See Simplify::Authentication for details)
37 38 39 |
# File 'lib/simplify/plan.rb', line 37 def authentication @authentication end |
Class Method Details
.create(parms, *auth) ⇒ Object
Creates an Plan object
- parms
-
a hash of parameters; valid keys are:
-
amount
Amount of payment for the plan in the smallest unit of your currency. Example: 100 = $1.00USD required -
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 -
currency
Currency code (ISO-4217) for the plan. Must match the currency associated with your account. [default: USD] required -
frequency
Frequency of payment for the plan. Used in conjunction with frequencyPeriod. Valid values are “DAILY”, “WEEKLY”, “MONTHLY” and “YEARLY”. [default: MONTHLY] required -
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, default: 1] required -
name
Name of the plan [max length: 50, min length: 2] required -
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. -
trialPeriod
Plan free trial period selection. Must be Days, Weeks, or Month [default: NONE] required -
trialPeriodQuantity
Quantity of the trial period. Must be greater than 0 and a whole number. [min value: 1]
- 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 Plan object.
75 76 77 78 79 80 81 82 83 |
# File 'lib/simplify/plan.rb', line 75 def self.create(parms, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("plan", 'create', parms, auth_obj) obj = Plan.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
.find(id, *auth) ⇒ Object
Retrieve a Plan 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 Plan object.
117 118 119 120 121 122 123 124 125 |
# File 'lib/simplify/plan.rb', line 117 def self.find(id, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("plan", 'show', {"id" => id}, auth_obj) obj = Plan.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
.list(criteria = nil, *auth) ⇒ Object
Retrieve Plan 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 (eitherasc
for ascending ordesc
for descending). Sortable properties are:dateCreated amount frequency name id
.
- 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 Plan objects and the total
property contains the total number of Plan objects available for the given criteria.
101 102 103 104 105 106 107 108 109 110 |
# File 'lib/simplify/plan.rb', line 101 def self.list(criteria = nil, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("plan", 'list', criteria, auth_obj) obj = Plan.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
Instance Method Details
#delete ⇒ Object
Delete this object
86 87 88 89 90 |
# File 'lib/simplify/plan.rb', line 86 def delete() h = Simplify::PaymentsApi.execute("plan", '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/plan.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/plan.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/plan.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/plan.rb', line 45 def public_key=(k) return self.authentication.public_key = k end |
#update ⇒ Object
Updates this object
The properties that can be updated:
-
name
Name of the plan. [min length: 2] (required)
131 132 133 134 135 |
# File 'lib/simplify/plan.rb', line 131 def update() h = Simplify::PaymentsApi.execute("plan", 'update', self, self.authentication) self.merge!(h) self end |