Class: Simplify::Invoice
- Inherits:
-
Hash
- Object
- Hash
- Simplify::Invoice
- Defined in:
- lib/simplify/invoice.rb
Overview
A Invoice 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 Invoice object.
-
.find(id, *auth) ⇒ Object
Retrieve a Invoice object from the API.
-
.list(criteria = nil, *auth) ⇒ Object
Retrieve Invoice 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
-
discountRateThe discount percent as a decimal e.g.
-
Instance Attribute Details
#authentication ⇒ Object
Authentication object used to access the API (See Simplify::Authentication for details)
37 38 39 |
# File 'lib/simplify/invoice.rb', line 37 def authentication @authentication end |
Class Method Details
.create(parms, *auth) ⇒ Object
Creates an Invoice object
- parms
-
a hash of parameters; valid keys are:
-
currencyCurrency code (ISO-4217). Must match the currency associated with your account. [max length: 3, min length: 3, default: USD] -
customerThe customer ID of the customer we are invoicing. This is optional is a name and email are provided -
discountRateThe discount percent as a decimal e.g. 12.5. This is used to calculate the discount amount which is subtracted from the total amount due before any tax is applied. [max length: 6] -
dueDateThe date invoice payment is due. If a late fee is provided this will be added to the invoice total is the due date has past. -
emailThe email of the customer we are invoicing. This is optional if a customer id is provided. A new customer will be created using the the name and email. -
invoiceIdUser defined invoice id. If not provided the system will generate a numeric id. [max length: 255] -
items => amountAmount of the invoice item (minor units). Example: 1000 = 10.00. [min value: 1, max value: 9999900] required -
items => descriptionThe description of the invoice item. [max length: 1024] -
items => invoiceThe ID of the invoice this item belongs to. -
items => quantityQuantity of the item. This total amount of the invoice item is the amount * quantity. [min value: 1, max value: 999999, default: 1] -
items => referenceUser defined reference field. [max length: 255] -
items => taxThe tax ID of the tax charge in the invoice item. -
lateFeeThe late fee amount that will be added to the invoice total is the due date is past due. Value provided must be in minor units. Example: 1000 = 10.00 [max value: 9999900] -
memoA memo that is displayed to the customer on the invoice payment screen. [max length: 4000] -
nameThe name of the customer we are invoicing. This is optional if a customer id is provided. A new customer will be created using the the name and email. [max length: 50, min length: 2] -
noteThis field can be used to store a note that is not displayed to the customer. [max length: 4000] -
referenceUser defined reference field. [max length: 255] -
typeThe type of invoice. One of WEB or MOBILE. [valid values: WEB, MOBILE, default: WEB]
- 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 Invoice object.
83 84 85 86 87 88 89 90 91 |
# File 'lib/simplify/invoice.rb', line 83 def self.create(parms, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("invoice", 'create', parms, auth_obj) obj = Invoice.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
.find(id, *auth) ⇒ Object
Retrieve a Invoice 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 Invoice object.
125 126 127 128 129 130 131 132 133 |
# File 'lib/simplify/invoice.rb', line 125 def self.find(id, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("invoice", 'show', {"id" => id}, auth_obj) obj = Invoice.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
.list(criteria = nil, *auth) ⇒ Object
Retrieve Invoice 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:id invoiceDate dueDate datePaid customer status.
- 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 Invoice objects and the total property contains the total number of Invoice objects available for the given criteria.
109 110 111 112 113 114 115 116 117 118 |
# File 'lib/simplify/invoice.rb', line 109 def self.list(criteria = nil, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("invoice", 'list', criteria, auth_obj) obj = Invoice.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end |
Instance Method Details
#delete ⇒ Object
Delete this object
94 95 96 97 98 |
# File 'lib/simplify/invoice.rb', line 94 def delete() h = Simplify::PaymentsApi.execute("invoice", '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/invoice.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/invoice.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/invoice.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/invoice.rb', line 45 def public_key=(k) return self.authentication.public_key = k end |
#update ⇒ Object
-
discountRateThe discount percent as a decimal e.g. 12.5. This is used to calculate the discount amount which is subtracted from the total amount due before any tax is applied. [max length: 6] -
dueDateThe date invoice payment is due. If a late fee is provided this will be added to the invoice total is the due date has past. -
items => amountAmount of the invoice item (minor units). Example: 1000 = 10.00 [min value: 1, max value: 9999900] (required) -
items => descriptionThe description of the invoice item. [max length: 1024] -
items => invoiceThe ID of the invoice this item belongs to. -
items => quantityQuantity of the item. This total amount of the invoice item is the amount * quantity. [min value: 1, max value: 999999, default: 1] -
items => referenceUser defined reference field. [max length: 255] -
items => taxThe tax ID of the tax charge in the invoice item. -
lateFeeThe late fee amount that will be added to the invoice total is the due date is past due. Value provided must be in minor units. Example: 1000 = 10.00. -
memoA memo that is displayed to the customer on the invoice payment screen. [max length: 4000] -
noteThis field can be used to store a note that is not displayed to the customer. [max length: 4000] -
paymentThe ID of the payment. Use this ID to query the /payment API. [max length: 255] -
referenceUser defined reference field. [max length: 255] -
statusNew status of the invoice.
153 154 155 156 157 |
# File 'lib/simplify/invoice.rb', line 153 def update() h = Simplify::PaymentsApi.execute("invoice", 'update', self, self.authentication) self.merge!(h) self end |