Class: Simplify::Payment

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

Overview

A Payment 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/payment.rb', line 37

def authentication
  @authentication
end

Class Method Details

.create(parms, *auth) ⇒ Object

Creates an Payment object

parms

a hash of parameters; valid keys are:

  • amount Amount of the payment (in the smallest unit of your currency). Example: 100 = $1.00USD

  • authorization The ID of the authorization being used to capture the payment.

  • card => addressCity City of the cardholder. [max length: 50, min length: 2]

  • card => addressCountry Country code (ISO-3166-1-alpha-2 code) of residence of the cardholder. [max length: 2, min length: 2]

  • card => addressLine1 Address of the cardholder. [max length: 255]

  • card => addressLine2 Address of the cardholder if needed. [max length: 255]

  • card => addressState State of residence of the cardholder. For the US, this is a 2-digit USPS code. [max length: 255, min length: 2]

  • card => addressZip Postal code of the cardholder. The postal code size is between 5 and 9 in length and only contain numbers or letters. [max length: 9, min length: 3]

  • card => cvc CVC security code of the card. This is the code on the back of the card. Example: 123

  • card => expMonth Expiration month of the card. Format is MM. Example: January = 01 [min value: 1, max value: 12] required

  • card => expYear Expiration year of the card. Format is YY. Example: 2013 = 13 [min value: 0, max value: 99] required

  • card => name Name as it appears on the card. [max length: 50, min length: 2]

  • card => number Card number as it appears on the card. [max length: 19, min length: 13] required

  • currency Currency code (ISO-4217) for the transaction. Must match the currency associated with your account. [default: USD] required

  • customer ID of customer. If specified, card on file of customer will be used.

  • description Free form text field to be used as a description of the payment. This field is echoed back with the payment on any find or list operations. [max length: 1024]

  • invoice ID of invoice for which this payment is being made.

  • reference Custom reference field to be used with outside systems.

  • replayId An identifier that can be sent to uniquely identify a payment request to facilitate retries due to I/O related issues. This identifier must be unique for your account (sandbox or live) across all of your payments. If supplied, we will check for a payment on your account that matches this identifier. If found will attempt to return an identical response of the original request. [max length: 50, min length: 1]

  • statementDescription => name Merchant name. required

  • statementDescription => phoneNumber Merchant contact phone number.

  • token If specified, card associated with card token will be used. [max length: 255]

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 Payment object.



87
88
89
90
91
92
93
94
95
# File 'lib/simplify/payment.rb', line 87

def self.create(parms, *auth)

    auth_obj = Simplify::PaymentsApi.create_auth_object(auth)
    h = Simplify::PaymentsApi.execute("payment", 'create', parms, auth_obj)
    obj = Payment.new()
    obj.authentication = auth_obj
    obj = obj.merge!(h)
    obj
end

.find(id, *auth) ⇒ Object

Retrieve a Payment 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 Payment object.



122
123
124
125
126
127
128
129
130
# File 'lib/simplify/payment.rb', line 122

def self.find(id, *auth)

    auth_obj = Simplify::PaymentsApi.create_auth_object(auth)
    h = Simplify::PaymentsApi.execute("payment", 'show', {"id" => id}, auth_obj)
    obj = Payment.new()
    obj.authentication = auth_obj
    obj = obj.merge!(h)
    obj
end

.list(criteria = nil, *auth) ⇒ Object

Retrieve Payment 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 (either asc for ascending or desc for descending). Sortable properties are: dateCreated createdBy amount id description paymentDate.

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 Payment objects and the total property contains the total number of Payment objects available for the given criteria.



106
107
108
109
110
111
112
113
114
115
# File 'lib/simplify/payment.rb', line 106

def self.list(criteria = nil, *auth)

    auth_obj = Simplify::PaymentsApi.create_auth_object(auth)
    h = Simplify::PaymentsApi.execute("payment", 'list', criteria, auth_obj)
    obj = Payment.new()
    obj.authentication = auth_obj
    obj = obj.merge!(h)
    obj

end

Instance Method Details

#private_keyObject

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



50
51
52
# File 'lib/simplify/payment.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/payment.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/payment.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/payment.rb', line 45

def public_key=(k)
    return self.authentication.public_key = k
end

#updateObject

Updates this object

The properties that can be updated:



135
136
137
138
139
# File 'lib/simplify/payment.rb', line 135

def update()
      h = Simplify::PaymentsApi.execute("payment", 'update', self, self.authentication)
      self.merge!(h)
      self
end