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: CreateParams, DiscountAmount, ListParams, ListPreviewLineItemsParams, PretaxCreditAmount, PreviewParams, Refund, ShippingCost, TotalTax, UpdateParams, VoidCreditNoteParams
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.
-
#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`.
-
#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.
-
#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.
-
#total_taxes ⇒ Object
readonly
The aggregate tax information for all line items.
-
#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(params = {}, 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.
595 596 597 |
# File 'lib/stripe/resources/credit_note.rb', line 595 def amount @amount end |
#amount_shipping ⇒ Object (readonly)
This is the sum of all the shipping amounts.
597 598 599 |
# File 'lib/stripe/resources/credit_note.rb', line 597 def amount_shipping @amount_shipping end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
599 600 601 |
# File 'lib/stripe/resources/credit_note.rb', line 599 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).
601 602 603 |
# File 'lib/stripe/resources/credit_note.rb', line 601 def currency @currency end |
#customer ⇒ Object (readonly)
ID of the customer.
603 604 605 |
# File 'lib/stripe/resources/credit_note.rb', line 603 def customer @customer end |
#customer_balance_transaction ⇒ Object (readonly)
Customer balance transaction related to this credit note.
605 606 607 |
# File 'lib/stripe/resources/credit_note.rb', line 605 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.
607 608 609 |
# File 'lib/stripe/resources/credit_note.rb', line 607 def discount_amount @discount_amount end |
#discount_amounts ⇒ Object (readonly)
The aggregate amounts calculated per discount for all line items.
609 610 611 |
# File 'lib/stripe/resources/credit_note.rb', line 609 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.
611 612 613 |
# File 'lib/stripe/resources/credit_note.rb', line 611 def effective_at @effective_at end |
#id ⇒ Object (readonly)
Unique identifier for the object.
613 614 615 |
# File 'lib/stripe/resources/credit_note.rb', line 613 def id @id end |
#invoice ⇒ Object (readonly)
ID of the invoice.
615 616 617 |
# File 'lib/stripe/resources/credit_note.rb', line 615 def invoice @invoice end |
#lines ⇒ Object (readonly)
Line items that make up the credit note
617 618 619 |
# File 'lib/stripe/resources/credit_note.rb', line 617 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.
619 620 621 |
# File 'lib/stripe/resources/credit_note.rb', line 619 def livemode @livemode end |
#memo ⇒ Object (readonly)
Customer-facing text that appears on the credit note PDF.
621 622 623 |
# File 'lib/stripe/resources/credit_note.rb', line 621 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.
623 624 625 |
# File 'lib/stripe/resources/credit_note.rb', line 623 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.
625 626 627 |
# File 'lib/stripe/resources/credit_note.rb', line 625 def number @number end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
627 628 629 |
# File 'lib/stripe/resources/credit_note.rb', line 627 def object @object end |
#out_of_band_amount ⇒ Object (readonly)
Amount that was credited outside of Stripe.
629 630 631 |
# File 'lib/stripe/resources/credit_note.rb', line 629 def out_of_band_amount @out_of_band_amount end |
#pdf ⇒ Object (readonly)
The link to download the PDF of the credit note.
631 632 633 |
# File 'lib/stripe/resources/credit_note.rb', line 631 def pdf @pdf end |
#pretax_credit_amounts ⇒ Object (readonly)
The pretax credit amounts (ex: discount, credit grants, etc) for all line items.
633 634 635 |
# File 'lib/stripe/resources/credit_note.rb', line 633 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`
635 636 637 |
# File 'lib/stripe/resources/credit_note.rb', line 635 def reason @reason end |
#refunds ⇒ Object (readonly)
Refunds related to this credit note.
637 638 639 |
# File 'lib/stripe/resources/credit_note.rb', line 637 def refunds @refunds end |
#shipping_cost ⇒ Object (readonly)
The details of the cost of shipping, including the ShippingRate applied to the invoice.
639 640 641 |
# File 'lib/stripe/resources/credit_note.rb', line 639 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).
641 642 643 |
# File 'lib/stripe/resources/credit_note.rb', line 641 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.
643 644 645 |
# File 'lib/stripe/resources/credit_note.rb', line 643 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.
645 646 647 |
# File 'lib/stripe/resources/credit_note.rb', line 645 def subtotal_excluding_tax @subtotal_excluding_tax 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.
647 648 649 |
# File 'lib/stripe/resources/credit_note.rb', line 647 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.
649 650 651 |
# File 'lib/stripe/resources/credit_note.rb', line 649 def total_excluding_tax @total_excluding_tax end |
#total_taxes ⇒ Object (readonly)
The aggregate tax information for all line items.
651 652 653 |
# File 'lib/stripe/resources/credit_note.rb', line 651 def total_taxes @total_taxes 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.
653 654 655 |
# File 'lib/stripe/resources/credit_note.rb', line 653 def type @type end |
#voided_at ⇒ Object (readonly)
The time that the credit note was voided.
655 656 657 |
# File 'lib/stripe/resources/credit_note.rb', line 655 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.
671 672 673 |
# File 'lib/stripe/resources/credit_note.rb', line 671 def self.create(params = {}, opts = {}) request_stripe_object(method: :post, path: "/v1/credit_notes", params: params, opts: opts) end |
.list(params = {}, opts = {}) ⇒ Object
Returns a list of credit notes.
676 677 678 |
# File 'lib/stripe/resources/credit_note.rb', line 676 def self.list(params = {}, opts = {}) request_stripe_object(method: :get, path: "/v1/credit_notes", params: params, 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.
681 682 683 684 685 686 687 688 |
# File 'lib/stripe/resources/credit_note.rb', line 681 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.
691 692 693 694 695 696 697 698 |
# File 'lib/stripe/resources/credit_note.rb', line 691 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.
701 702 703 704 705 706 707 708 |
# File 'lib/stripe/resources/credit_note.rb', line 701 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).
721 722 723 724 725 726 727 728 |
# File 'lib/stripe/resources/credit_note.rb', line 721 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).
711 712 713 714 715 716 717 718 |
# File 'lib/stripe/resources/credit_note.rb', line 711 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 |