Class: Stripe::CreditNote
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::CreditNote
- Extended by:
- APIOperations::Create, APIOperations::List
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/credit_note.rb
Overview
Issue a credit note to adjust an invoice’s amount after the invoice is finalized.
Related guide: [Credit notes](stripe.com/docs/billing/invoices/credit-notes)
Defined Under Namespace
Classes: DiscountAmount, PretaxCreditAmount, Refund, ShippingCost, TaxAmount
Constant Summary collapse
- OBJECT_NAME =
"credit_note"
Constants inherited from StripeObject
StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#amount ⇒ Object
readonly
The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax.
-
#amount_shipping ⇒ Object
readonly
This is the sum of all the shipping amounts.
-
#created ⇒ Object
readonly
Time at which the object was created.
-
#currency ⇒ Object
readonly
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase.
-
#customer ⇒ Object
readonly
ID of the customer.
-
#customer_balance_transaction ⇒ Object
readonly
Customer balance transaction related to this credit note.
-
#discount_amount ⇒ Object
readonly
The integer amount in cents (or local equivalent) representing the total amount of discount that was credited.
-
#discount_amounts ⇒ Object
readonly
The aggregate amounts calculated per discount for all line items.
-
#effective_at ⇒ Object
readonly
The date when this credit note is in effect.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#invoice ⇒ Object
readonly
ID of the invoice.
-
#lines ⇒ Object
readonly
Line items that make up the credit note.
-
#livemode ⇒ Object
readonly
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
-
#memo ⇒ Object
readonly
Customer-facing text that appears on the credit note PDF.
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object.
-
#number ⇒ Object
readonly
A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.
-
#object ⇒ Object
readonly
String representing the object’s type.
-
#out_of_band_amount ⇒ Object
readonly
Amount that was credited outside of Stripe.
-
#pdf ⇒ Object
readonly
The link to download the PDF of the credit note.
-
#post_payment_amount ⇒ Object
readonly
Attribute for field post_payment_amount.
-
#pre_payment_amount ⇒ Object
readonly
Attribute for field pre_payment_amount.
-
#pretax_credit_amounts ⇒ Object
readonly
The pretax credit amounts (ex: discount, credit grants, etc) for all line items.
-
#reason ⇒ Object
readonly
Reason for issuing this credit note, one of ‘duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`.
-
#refund ⇒ Object
readonly
Refund related to this credit note.
-
#refunds ⇒ Object
readonly
Refunds related to this credit note.
-
#shipping_cost ⇒ Object
readonly
The details of the cost of shipping, including the ShippingRate applied to the invoice.
-
#status ⇒ Object
readonly
Status of this credit note, one of ‘issued` or `void`.
-
#subtotal ⇒ Object
readonly
The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts.
-
#subtotal_excluding_tax ⇒ Object
readonly
The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts.
-
#tax_amounts ⇒ Object
readonly
The aggregate amounts calculated per tax rate for all line items.
-
#total ⇒ Object
readonly
The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount.
-
#total_excluding_tax ⇒ Object
readonly
The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts.
-
#type ⇒ Object
readonly
Type of this credit note, one of ‘pre_payment` or `post_payment`.
-
#voided_at ⇒ Object
readonly
The time that the credit note was voided.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
-
.create(params = {}, opts = {}) ⇒ Object
Issue a credit note to adjust the amount of a finalized invoice.
-
.list(filters = {}, opts = {}) ⇒ Object
Returns a list of credit notes.
-
.list_preview_line_items(params = {}, opts = {}) ⇒ Object
When retrieving a credit note preview, you’ll get a lines property containing the first handful of those items.
- .object_name ⇒ Object
-
.preview(params = {}, opts = {}) ⇒ Object
Get a preview of a credit note without creating it.
-
.update(id, params = {}, opts = {}) ⇒ Object
Updates an existing credit note.
-
.void_credit_note(id, params = {}, opts = {}) ⇒ Object
Marks a credit note as void.
Instance Method Summary collapse
-
#void_credit_note(params = {}, opts = {}) ⇒ Object
Marks a credit note as void.
Methods included from APIOperations::Create
Methods included from APIOperations::List
Methods included from APIOperations::Save
Methods inherited from APIResource
class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource
Methods included from APIOperations::Request
Methods inherited from StripeObject
#==, #[], #[]=, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values
Constructor Details
This class inherits a constructor from Stripe::StripeObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject
Instance Attribute Details
#amount ⇒ Object (readonly)
The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax.
41 42 43 |
# File 'lib/stripe/resources/credit_note.rb', line 41 def amount @amount end |
#amount_shipping ⇒ Object (readonly)
This is the sum of all the shipping amounts.
43 44 45 |
# File 'lib/stripe/resources/credit_note.rb', line 43 def amount_shipping @amount_shipping end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
45 46 47 |
# File 'lib/stripe/resources/credit_note.rb', line 45 def created @created end |
#currency ⇒ Object (readonly)
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](stripe.com/docs/currencies).
47 48 49 |
# File 'lib/stripe/resources/credit_note.rb', line 47 def currency @currency end |
#customer ⇒ Object (readonly)
ID of the customer.
49 50 51 |
# File 'lib/stripe/resources/credit_note.rb', line 49 def customer @customer end |
#customer_balance_transaction ⇒ Object (readonly)
Customer balance transaction related to this credit note.
51 52 53 |
# File 'lib/stripe/resources/credit_note.rb', line 51 def customer_balance_transaction @customer_balance_transaction end |
#discount_amount ⇒ Object (readonly)
The integer amount in cents (or local equivalent) representing the total amount of discount that was credited.
53 54 55 |
# File 'lib/stripe/resources/credit_note.rb', line 53 def discount_amount @discount_amount end |
#discount_amounts ⇒ Object (readonly)
The aggregate amounts calculated per discount for all line items.
55 56 57 |
# File 'lib/stripe/resources/credit_note.rb', line 55 def discount_amounts @discount_amounts end |
#effective_at ⇒ Object (readonly)
The date when this credit note is in effect. Same as ‘created` unless overwritten. When defined, this value replaces the system-generated ’Date of issue’ printed on the credit note PDF.
57 58 59 |
# File 'lib/stripe/resources/credit_note.rb', line 57 def effective_at @effective_at end |
#id ⇒ Object (readonly)
Unique identifier for the object.
59 60 61 |
# File 'lib/stripe/resources/credit_note.rb', line 59 def id @id end |
#invoice ⇒ Object (readonly)
ID of the invoice.
61 62 63 |
# File 'lib/stripe/resources/credit_note.rb', line 61 def invoice @invoice end |
#lines ⇒ Object (readonly)
Line items that make up the credit note
63 64 65 |
# File 'lib/stripe/resources/credit_note.rb', line 63 def lines @lines end |
#livemode ⇒ Object (readonly)
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
65 66 67 |
# File 'lib/stripe/resources/credit_note.rb', line 65 def livemode @livemode end |
#memo ⇒ Object (readonly)
Customer-facing text that appears on the credit note PDF.
67 68 69 |
# File 'lib/stripe/resources/credit_note.rb', line 67 def memo @memo end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
69 70 71 |
# File 'lib/stripe/resources/credit_note.rb', line 69 def @metadata end |
#number ⇒ Object (readonly)
A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.
71 72 73 |
# File 'lib/stripe/resources/credit_note.rb', line 71 def number @number end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
73 74 75 |
# File 'lib/stripe/resources/credit_note.rb', line 73 def object @object end |
#out_of_band_amount ⇒ Object (readonly)
Amount that was credited outside of Stripe.
75 76 77 |
# File 'lib/stripe/resources/credit_note.rb', line 75 def out_of_band_amount @out_of_band_amount end |
#pdf ⇒ Object (readonly)
The link to download the PDF of the credit note.
77 78 79 |
# File 'lib/stripe/resources/credit_note.rb', line 77 def pdf @pdf end |
#post_payment_amount ⇒ Object (readonly)
Attribute for field post_payment_amount
79 80 81 |
# File 'lib/stripe/resources/credit_note.rb', line 79 def post_payment_amount @post_payment_amount end |
#pre_payment_amount ⇒ Object (readonly)
Attribute for field pre_payment_amount
81 82 83 |
# File 'lib/stripe/resources/credit_note.rb', line 81 def pre_payment_amount @pre_payment_amount end |
#pretax_credit_amounts ⇒ Object (readonly)
The pretax credit amounts (ex: discount, credit grants, etc) for all line items.
83 84 85 |
# File 'lib/stripe/resources/credit_note.rb', line 83 def pretax_credit_amounts @pretax_credit_amounts end |
#reason ⇒ Object (readonly)
Reason for issuing this credit note, one of ‘duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
85 86 87 |
# File 'lib/stripe/resources/credit_note.rb', line 85 def reason @reason end |
#refund ⇒ Object (readonly)
Refund related to this credit note.
87 88 89 |
# File 'lib/stripe/resources/credit_note.rb', line 87 def refund @refund end |
#refunds ⇒ Object (readonly)
Refunds related to this credit note.
89 90 91 |
# File 'lib/stripe/resources/credit_note.rb', line 89 def refunds @refunds end |
#shipping_cost ⇒ Object (readonly)
The details of the cost of shipping, including the ShippingRate applied to the invoice.
91 92 93 |
# File 'lib/stripe/resources/credit_note.rb', line 91 def shipping_cost @shipping_cost end |
#status ⇒ Object (readonly)
Status of this credit note, one of ‘issued` or `void`. Learn more about [voiding credit notes](stripe.com/docs/billing/invoices/credit-notes#voiding).
93 94 95 |
# File 'lib/stripe/resources/credit_note.rb', line 93 def status @status end |
#subtotal ⇒ Object (readonly)
The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts.
95 96 97 |
# File 'lib/stripe/resources/credit_note.rb', line 95 def subtotal @subtotal end |
#subtotal_excluding_tax ⇒ Object (readonly)
The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts.
97 98 99 |
# File 'lib/stripe/resources/credit_note.rb', line 97 def subtotal_excluding_tax @subtotal_excluding_tax end |
#tax_amounts ⇒ Object (readonly)
The aggregate amounts calculated per tax rate for all line items.
99 100 101 |
# File 'lib/stripe/resources/credit_note.rb', line 99 def tax_amounts @tax_amounts end |
#total ⇒ Object (readonly)
The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount.
101 102 103 |
# File 'lib/stripe/resources/credit_note.rb', line 101 def total @total end |
#total_excluding_tax ⇒ Object (readonly)
The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts.
103 104 105 |
# File 'lib/stripe/resources/credit_note.rb', line 103 def total_excluding_tax @total_excluding_tax end |
#type ⇒ Object (readonly)
Type of this credit note, one of ‘pre_payment` or `post_payment`. A `pre_payment` credit note means it was issued when the invoice was open. A `post_payment` credit note means it was issued when the invoice was paid.
105 106 107 |
# File 'lib/stripe/resources/credit_note.rb', line 105 def type @type end |
#voided_at ⇒ Object (readonly)
The time that the credit note was voided.
107 108 109 |
# File 'lib/stripe/resources/credit_note.rb', line 107 def voided_at @voided_at end |
Class Method Details
.create(params = {}, opts = {}) ⇒ Object
Issue a credit note to adjust the amount of a finalized invoice. For a status=open invoice, a credit note reduces its amount_due. For a status=paid invoice, a credit note does not affect its amount_due. Instead, it can result in any combination of the following:
Refund: create a new refund (using refund_amount) or link an existing refund (using refund). Customer balance credit: credit the customer’s balance (using credit_amount) which will be automatically applied to their next invoice when it’s finalized. Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount).
For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.
You may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s pre_payment_credit_notes_amount or post_payment_credit_notes_amount depending on its status at the time of credit note creation.
123 124 125 |
# File 'lib/stripe/resources/credit_note.rb', line 123 def self.create(params = {}, opts = {}) request_stripe_object(method: :post, path: "/v1/credit_notes", params: params, opts: opts) end |
.list(filters = {}, opts = {}) ⇒ Object
Returns a list of credit notes.
128 129 130 |
# File 'lib/stripe/resources/credit_note.rb', line 128 def self.list(filters = {}, opts = {}) request_stripe_object(method: :get, path: "/v1/credit_notes", params: filters, opts: opts) end |
.list_preview_line_items(params = {}, opts = {}) ⇒ Object
When retrieving a credit note preview, you’ll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.
133 134 135 136 137 138 139 140 |
# File 'lib/stripe/resources/credit_note.rb', line 133 def self.list_preview_line_items(params = {}, opts = {}) request_stripe_object( method: :get, path: "/v1/credit_notes/preview/lines", params: params, opts: opts ) end |
.object_name ⇒ Object
14 15 16 |
# File 'lib/stripe/resources/credit_note.rb', line 14 def self.object_name "credit_note" end |
.preview(params = {}, opts = {}) ⇒ Object
Get a preview of a credit note without creating it.
143 144 145 146 147 148 149 150 |
# File 'lib/stripe/resources/credit_note.rb', line 143 def self.preview(params = {}, opts = {}) request_stripe_object( method: :get, path: "/v1/credit_notes/preview", params: params, opts: opts ) end |
.update(id, params = {}, opts = {}) ⇒ Object
Updates an existing credit note.
153 154 155 156 157 158 159 160 |
# File 'lib/stripe/resources/credit_note.rb', line 153 def self.update(id, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/credit_notes/%<id>s", { id: CGI.escape(id) }), params: params, opts: opts ) end |
.void_credit_note(id, params = {}, opts = {}) ⇒ Object
Marks a credit note as void. Learn more about [voiding credit notes](stripe.com/docs/billing/invoices/credit-notes#voiding).
173 174 175 176 177 178 179 180 |
# File 'lib/stripe/resources/credit_note.rb', line 173 def self.void_credit_note(id, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/credit_notes/%<id>s/void", { id: CGI.escape(id) }), params: params, opts: opts ) end |
Instance Method Details
#void_credit_note(params = {}, opts = {}) ⇒ Object
Marks a credit note as void. Learn more about [voiding credit notes](stripe.com/docs/billing/invoices/credit-notes#voiding).
163 164 165 166 167 168 169 170 |
# File 'lib/stripe/resources/credit_note.rb', line 163 def void_credit_note(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/credit_notes/%<id>s/void", { id: CGI.escape(self["id"]) }), params: params, opts: opts ) end |