Parent

Simplify::Customer

A Customer object.

Attributes

authentication[RW]

Authentication object used to access the API (See Simplify::Authentication for details)

Public Class Methods

create(parms, *auth) click to toggle source

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.

# 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) click to toggle source

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.

# 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) click to toggle source

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><br><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 (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.

# 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

Public Instance Methods

delete() click to toggle source

Delete this object

# 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() click to toggle source

Returns the private key used when accessing this object. Deprecated: please use ‘authentication’ instead.

# File lib/simplify/customer.rb, line 50
def private_key
    return self.authentication.private_key
end
private_key=(k) click to toggle source

Sets the private key used when accessing this object. Deprecated: please use ‘authentication’ instead.

# File lib/simplify/customer.rb, line 55
def private_key=(k)
    return self.authentication.private_key = k
end
public_key() click to toggle source

Returns the public key used when accessing this object. Deprecated: please use ‘authentication’ instead.

# File lib/simplify/customer.rb, line 40
def public_key
    return self.authentication.public_key
end
public_key=(k) click to toggle source

Sets the public key used when accessing this object. Deprecated: please use ‘authentication’ instead.

# File lib/simplify/customer.rb, line 45
def public_key=(k)
    return self.authentication.public_key = k
end
update() click to toggle source

Updates this object

The properties that can be updated:

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

# File lib/simplify/customer.rb, line 167
def update()
      h = Simplify::PaymentsApi.execute("customer", 'update', self, self.authentication)
      self.merge!(h)
      self
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.