Class: Simplify::Customer

Inherits:
Hash
  • Object
show all
Defined in:
lib/simplify/customer.rb

Overview

A Customer object.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#authenticationObject

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 code (USPS code) of residence of the cardholder. required

  • card => addressZip Postal code of the cardholder. The postal code size is between 5 and 9 in length and only contain numbers. 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 [min length: 2] required

  • reference Reference field for external applications use.

  • subscriptions => amount Amount of payment in minor units. Example: 1000 = 10.00 [min value: 50, max value: 9999900]

  • subscriptions => coupon Coupon associated with the subscription for the customer.

  • subscriptions => currency Currency code (ISO-4217). Must match the currency associated with your account. [default: USD]

  • 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. Example: Monthly

  • subscriptions => name Name describing subscription

  • subscriptions => plan The plan ID that the subscription should be created from.

  • subscriptions => quantity Quantity of the plan for the subscription. [min value: 1]

  • 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.



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:

  • filter Filters to apply to the list.

  • max Allows up to a max of 50 list items to return. [max value: 50, default: 20]

  • offset Used in paging of the list. This is the start offset of the page. [default: 0]

  • sorting Allows for ascending or descending sorting of the list. The value maps properties to the sort direction (either asc for ascending or desc 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.



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

#deleteObject

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_keyObject

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_keyObject

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

#updateObject

  • 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 code (USPS code) of residence of the cardholder. (required)

  • card => addressZip Postal code of the cardholder. The postal code size is between 5 and 9 in length and only contain numbers. (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 [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



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