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
-
billingAddress => countryBilling address country of the location where the goods or services were supplied.
-
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:
-
billingAddress => cityBilling address city of the location where the goods or services were supplied. [max length: 255, min length: 2] -
billingAddress => countryBilling address country of the location where the goods or services were supplied. [max length: 2, min length: 2] -
billingAddress => line1Billing address line 1 of the location where the goods or services were supplied. [max length: 255] -
billingAddress => line2Billing address line 2 of the location where the goods or services were supplied. [max length: 255] -
billingAddress => nameBilling address name of the location where the goods or services were supplied. Will use the customer name if not provided. [max length: 255] -
billingAddress => stateBilling address state of the location where the goods or services were supplied. [max length: 255] -
billingAddress => zipBilling address zip of the location where the goods or services were supplied. [max length: 32] -
businessAddress => cityAddress city of the business that is sending the invoice. [max length: 255, min length: 2] -
businessAddress => countryAddress country of the business that is sending the invoice. [max length: 2, min length: 2] -
businessAddress => line1Address line 1 of the business that is sending the invoice. [max length: 255] -
businessAddress => line2Address line 2 of the business that is sending the invoice. [max length: 255] -
businessAddress => nameThe name of the business that is sending the invoice. [max length: 255] -
businessAddress => stateAddress state of the business that is sending the invoice. [max length: 255] -
businessAddress => zipAddress zip of the business that is sending the invoice. [max length: 32] -
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 if invoiceToCopy or a name and email are provided -
customerTaxNoThe tax number or VAT id of the person to whom the goods or services were supplied. [max length: 255] -
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 customer or invoiceToCopy 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] -
invoiceToCopyThe id of an existing invoice to be copied. This is optional if customer or a name and email are provided -
items => amountAmount of the invoice item (the smallest unit of your currency). Example: 100 = $1.00USD required -
items => descriptionThe description of the invoice item. [max length: 1024] -
items => invoiceThe ID of the invoice this item belongs to. -
items => productThe product this invoice item refers 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 the smallest unit of your currency. Example: 100 = $1.00USD -
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 customer or invoiceToCopy 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] -
shippingAddress => cityAddress city of the location where the goods or services were supplied. [max length: 255, min length: 2] -
shippingAddress => countryAddress country of the location where the goods or services were supplied. [max length: 2, min length: 2] -
shippingAddress => line1Address line 1 of the location where the goods or services were supplied. [max length: 255] -
shippingAddress => line2Address line 2 of the location where the goods or services were supplied. [max length: 255] -
shippingAddress => nameAddress name of the location where the goods or services were supplied. [max length: 255] -
shippingAddress => stateAddress state of the location where the goods or services were supplied. [max length: 255] -
shippingAddress => zipAddress zip of the location where the goods or services were supplied. [max length: 32] -
suppliedDateThe date on which the goods or services were supplied. -
taxNoThe tax number or VAT id of the person who supplied the goods or services. [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.
109 110 111 112 113 114 115 116 117 |
# File 'lib/simplify/invoice.rb', line 109 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.
151 152 153 154 155 156 157 158 159 |
# File 'lib/simplify/invoice.rb', line 151 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:
-
filter<table class=“filter_list”><tr><td>filter.id</td><td>Filter by the invoice Id</td></tr><tr><td>filter.amount</td><td>Filter by the invoice amount (in the smallest unit of your currency)</td></tr><tr><td>filter.text</td><td>Filter by the name of the invoice</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><tr><td>filter.datePaidMin<sup>*</sup></td><td>Filter by the minimum invoice paid date you are searching for - Date in UTC millis</td></tr><tr><td>filter.datePaidMax<sup>*</sup></td><td>Filter by the maximum invoice paid date you are searching for - Date in UTC millis</td></tr><tr><td>filter.status</td><td>Filter by the status of the invoice</td></tr><tr><td>filter.statuses</td><td>Filter by multiple statuses of different invoices</td></tr><tr><td>filter.customer</td><td>Filter using the Id of the customer linked to the invoice</td></tr><tr><td>filter.type</td><td>Filter by the invoice type</td></tr><tr><td>filter.types</td><td>Filter by multiple invoice types</td></tr><tr><td>filter.invoiceId</td><td>Filter by the user defined invoice id</td></tr><tr><td>filter.reference</td><td>Filter by the invoice reference text</td></tr></table>
<sup>*</sup>The filters datePaidMin and datePaidMax can be used in the same filter if you want to search between the two dates. The same is for dateCreatedMin/dateCreatedMax. -
maxAllows up to a max of 50 list items to return. [min value: 0, max value: 50, default: 20] -
offsetUsed in paging of the list. This is the start offset of the page. [min value: 0, 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 dateCreated.
- 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.
135 136 137 138 139 140 141 142 143 144 |
# File 'lib/simplify/invoice.rb', line 135 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
120 121 122 123 124 |
# File 'lib/simplify/invoice.rb', line 120 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
-
billingAddress => countryBilling address country of the location where the goods or services were supplied. [max length: 2, min length: 2] -
billingAddress => line1Billing address line 1 of the location where the goods or services were supplied. [max length: 255] -
billingAddress => line2Billing address line 2 of the location where the goods or services were supplied. [max length: 255] -
billingAddress => nameBilling address name of the location where the goods or services were supplied. [max length: 255] -
billingAddress => stateBilling address state of the location where the goods or services were supplied. [max length: 255] -
billingAddress => zipBilling address zip of the location where the goods or services were supplied. [max length: 32] -
businessAddress => cityBusiness address city of the business that is sending the invoice. [max length: 255, min length: 2] -
businessAddress => countryBusiness address country of the business that is sending the invoice. [max length: 2, min length: 2] -
businessAddress => line1Business address line 1 of the business that is sending the invoice. [max length: 255] -
businessAddress => line2Business address line 2 of the business that is sending the invoice. [max length: 255] -
businessAddress => nameBusiness address name of the business that is sending the invoice. [max length: 255] -
businessAddress => stateBusiness address state of the business that is sending the invoice. [max length: 255] -
businessAddress => zipBusiness address zip of the business that is sending the invoice. [max length: 32] -
currencyCurrency code (ISO-4217). Must match the currency associated with your account. [max length: 3, min length: 3] -
customerTaxNoThe tax number or VAT id of the person to whom the goods or services were supplied. [max length: 255] -
datePaidThis is the date the invoice was PAID in UTC millis. -
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 customer or invoiceToCopy 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 in the smallest unit of your currency. Example: 100 = $1.00USD (required) -
items => descriptionThe description of the invoice item. [max length: 1024] -
items => invoiceThe ID of the invoice this item belongs to. -
items => productThe Id of the product this item refers 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 the smallest unit of your currency. Example: 100 = $1.00USD -
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 customer or invoiceToCopy 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] -
paymentThe ID of the payment. Use this ID to query the /payment API. [max length: 255] -
referenceUser defined reference field. [max length: 255] -
shippingAddress => cityAddress city of the location where the goods or services were supplied. [max length: 255, min length: 2] -
shippingAddress => countryAddress country of the location where the goods or services were supplied. [max length: 2, min length: 2] -
shippingAddress => line1Address line 1 of the location where the goods or services were supplied. [max length: 255] -
shippingAddress => line2Address line 2 of the location where the goods or services were supplied. [max length: 255] -
shippingAddress => nameAddress name of the location where the goods or services were supplied. [max length: 255] -
shippingAddress => stateAddress state of the location where the goods or services were supplied. [max length: 255] -
shippingAddress => zipAddress zip of the location where the goods or services were supplied. [max length: 32] -
statusNew status of the invoice. -
suppliedDateThe date on which the goods or services were supplied. -
taxNoThe tax number or VAT id of the person who supplied the goods or services. [max length: 255]
208 209 210 211 212 |
# File 'lib/simplify/invoice.rb', line 208 def update() h = Simplify::PaymentsApi.execute("invoice", 'update', self, self.authentication) self.merge!(h) self end |