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 => addressCountryCountry 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 => addressCityCity of the cardholder. required -
card => addressCountryCountry code (ISO-3166-1-alpha-2 code) of residence of the cardholder. required -
card => addressLine1Address of the cardholder required -
card => addressLine2Address of the cardholder if needed. required -
card => addressStateState code (USPS code) of residence of the cardholder. required -
card => addressZipPostal code of the cardholder. The postal code size is between 5 and 9 in length and only contain numbers. required -
card => cvcCVC security code of the card. This is the code on the back of the card. Example: 123 required -
card => expMonthExpiration month of the card. Format is MM. Example: January = 01 required -
card => expYearExpiration year of the card. Format is YY. Example: 2013 = 13 required -
card => idID of card. Unused during customer create. -
card => nameName as appears on the card. required -
card => numberCard number as it appears on the card. [max length: 19, min length: 13] -
emailEmail address of the customer required -
nameCustomer name [min length: 2] required -
referenceReference field for external applications use. -
subscriptions => amountAmount of payment in minor units. Example: 1000 = 10.00 [min value: 50, max value: 9999900] -
subscriptions => couponCoupon associated with the subscription for the customer. -
subscriptions => currencyCurrency code (ISO-4217). Must match the currency associated with your account. [default: USD] -
subscriptions => customerThe customer ID to create the subscription for. Do not supply this when creating a customer. -
subscriptions => frequencyFrequency of payment for the plan. Example: Monthly -
subscriptions => nameName describing subscription -
subscriptions => planThe plan ID that the subscription should be created from. -
subscriptions => quantityQuantity of the plan for the subscription. [min value: 1] -
tokenIf 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.
89 90 91 92 93 94 95 96 97 |
# File 'lib/simplify/customer.rb', line 89 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.
131 132 133 134 135 136 137 138 139 |
# File 'lib/simplify/customer.rb', line 131 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:
-
filterFilters to apply to the list. -
maxAllows up to a max of 50 list items to return. [max value: 50, default: 20] -
offsetUsed in paging of the list. This is the start offset of the page. [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: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.
115 116 117 118 119 120 121 122 123 124 |
# File 'lib/simplify/customer.rb', line 115 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
100 101 102 103 104 |
# File 'lib/simplify/customer.rb', line 100 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 => addressCountryCountry code (ISO-3166-1-alpha-2 code) of residence of the cardholder. (required) -
card => addressLine1Address of the cardholder. (required) -
card => addressLine2Address of the cardholder if needed. (required) -
card => addressStateState code (USPS code) of residence of the cardholder. (required) -
card => addressZipPostal code of the cardholder. The postal code size is between 5 and 9 in length and only contain numbers. (required) -
card => cvcCVC security code of the card. This is the code on the back of the card. Example: 123 (required) -
card => expMonthExpiration month of the card. Format is MM. Example: January = 01 (required) -
card => expYearExpiration year of the card. Format is YY. Example: 2013 = 13 (required) -
card => idID 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 => nameName as appears on the card. (required) -
card => numberCard number as it appears on the card. [max length: 19, min length: 13] -
emailEmail address of the customer (required) -
nameCustomer name [min length: 2] (required) -
referenceReference field for external applications use. -
tokenIf specified, card associated with card token will be added to the customer
160 161 162 163 164 |
# File 'lib/simplify/customer.rb', line 160 def update() h = Simplify::PaymentsApi.execute("customer", 'update', self, self.authentication) self.merge!(h) self end |