Class: Simplify::Customer
- Inherits:
-
Hash
- Object
- Hash
- Simplify::Customer
- Defined in:
- lib/simplify/customer.rb
Overview
A Customer 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 Customer object.
-
.find(id, *auth) ⇒ Object
Retrieve a Customer object from the API.
-
.list(criteria = nil, *auth) ⇒ Object
Retrieve Customer 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
-
card => addressCountry
Country code (ISO-3166-1-alpha-2 code) of residence of the cardholder.
-
Instance Attribute Details
#authentication ⇒ Object
Authentication object used to access the API (See Simplify::Authentication for details)
37 38 39 |
# File 'lib/simplify/customer.rb', line 37 def authentication @authentication end |
Class Method Details
.create(parms, *auth) ⇒ Object
Creates an Customer object
- parms
-
a hash of parameters; valid keys are:
-
card => addressCity
City of the cardholder. required -
card => addressCountry
Country code (ISO-3166-1-alpha-2 code) of residence of the cardholder. required -
card => addressLine1
Address of the cardholder required -
card => addressLine2
Address of the cardholder if needed. required -
card => addressState
State of residence of the cardholder. State abbreviations should be used. required -
card => addressZip
Postal code of the cardholder. The postal code size is between 5 and 9 in length and only contain numbers or letters. required -
card => cvc
CVC security code of the card. This is the code on the back of the card. Example: 123 required -
card => expMonth
Expiration month of the card. Format is MM. Example: January = 01 required -
card => expYear
Expiration year of the card. Format is YY. Example: 2013 = 13 required -
card => id
ID of card. Unused during customer create. -
card => name
Name as appears on the card. required -
card => number
Card number as it appears on the card. [max length: 19, min length: 13] -
email
Email address of the customer required -
name
Customer name [max length: 50, min length: 2] required -
reference
Reference field for external applications use. -
subscriptions => amount
Amount of payment in the smallest unit of your currency. Example: 100 = $1.00 -
subscriptions => 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] -
subscriptions => billingCycleLimit
The number of fixed billing cycles for a plan. Only used if the billingCycle parameter is set to FIXED. Example: 4 -
subscriptions => coupon
Coupon associated with the subscription for the customer. -
subscriptions => currency
Currency code (ISO-4217). Must match the currency associated with your account. -
subscriptions => currentPeriodEnd
End date of subscription’s current period -
subscriptions => currentPeriodStart
Start date of subscription’s current period -
subscriptions => customer
The customer ID to create the subscription for. Do not supply this when creating a customer. -
subscriptions => frequency
Frequency of payment for the plan. Used in conjunction with frequencyPeriod. Valid values are “DAILY”, “WEEKLY”, “MONTHLY” and “YEARLY”. -
subscriptions => 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. -
subscriptions => name
Name describing subscription [max length: 50] -
subscriptions => plan
The plan ID that the subscription should be created from. -
subscriptions => quantity
Quantity of the plan for the subscription. [min value: 1] -
subscriptions => 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. -
subscriptions => source
Source of where subscription was created -
token
If specified, card associated with card token will be used
- 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 Customer object.
96 97 98 99 100 101 102 103 104 |
# File 'lib/simplify/customer.rb', line 96 def self.create(parms, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("customer", 'create', parms, auth_obj) obj = Customer.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
.find(id, *auth) ⇒ Object
Retrieve a Customer 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 Customer object.
138 139 140 141 142 143 144 145 146 |
# File 'lib/simplify/customer.rb', line 138 def self.find(id, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("customer", 'show', {"id" => id}, auth_obj) obj = Customer.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
.list(criteria = nil, *auth) ⇒ Object
Retrieve Customer objects.
- criteria
-
a hash of parameters; valid keys are:
-
filter
<table class=“filter_list”><tr><td>filter.id</td><td>Filter by the customer Id</td></tr><tr><td>filter.text</td><td>Can use this to filter by the name, email or reference for the customer</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></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 name email reference
.
- 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 Customer objects and the total
property contains the total number of Customer objects available for the given criteria.
122 123 124 125 126 127 128 129 130 131 |
# File 'lib/simplify/customer.rb', line 122 def self.list(criteria = nil, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("customer", 'list', criteria, auth_obj) obj = Customer.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
Instance Method Details
#delete ⇒ Object
Delete this object
107 108 109 110 111 |
# File 'lib/simplify/customer.rb', line 107 def delete() h = Simplify::PaymentsApi.execute("customer", '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/customer.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/customer.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/customer.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/customer.rb', line 45 def public_key=(k) return self.authentication.public_key = k end |
#update ⇒ Object
-
card => addressCountry
Country code (ISO-3166-1-alpha-2 code) of residence of the cardholder. (required) -
card => addressLine1
Address of the cardholder. (required) -
card => addressLine2
Address of the cardholder if needed. (required) -
card => addressState
State of residence of the cardholder. State abbreviations should be used. (required) -
card => addressZip
Postal code of the cardholder. The postal code size is between 5 and 9 in length and only contain numbers or letters. (required) -
card => cvc
CVC security code of the card. This is the code on the back of the card. Example: 123 (required) -
card => expMonth
Expiration month of the card. Format is MM. Example: January = 01 (required) -
card => expYear
Expiration year of the card. Format is YY. Example: 2013 = 13 (required) -
card => id
ID of card. If present, card details for the customer will not be updated. If not present, the customer will be updated with the supplied card details. -
card => name
Name as appears on the card. (required) -
card => number
Card number as it appears on the card. [max length: 19, min length: 13] -
email
Email address of the customer (required) -
name
Customer name [max length: 50, min length: 2] (required) -
reference
Reference field for external applications use. -
token
If specified, card associated with card token will be added to the customer
167 168 169 170 171 |
# File 'lib/simplify/customer.rb', line 167 def update() h = Simplify::PaymentsApi.execute("customer", 'update', self, self.authentication) self.merge!(h) self end |