Class: Stripe::CreditNoteService
- Inherits:
-
StripeService
- Object
- StripeService
- Stripe::CreditNoteService
- Defined in:
- lib/stripe/services/credit_note_service.rb
Instance Attribute Summary collapse
-
#line_items ⇒ Object
readonly
Returns the value of attribute line_items.
-
#preview_lines ⇒ Object
readonly
Returns the value of attribute preview_lines.
Instance Method Summary collapse
-
#create(params = {}, opts = {}) ⇒ Object
Issue a credit note to adjust the amount of a finalized invoice.
-
#initialize(requestor) ⇒ CreditNoteService
constructor
A new instance of CreditNoteService.
-
#list(params = {}, opts = {}) ⇒ Object
Returns a list of credit notes.
-
#preview(params = {}, opts = {}) ⇒ Object
Get a preview of a credit note without creating it.
-
#retrieve(id, params = {}, opts = {}) ⇒ Object
Retrieves the credit note object with the given identifier.
-
#update(id, params = {}, opts = {}) ⇒ Object
Updates an existing credit note.
-
#void_credit_note(id, params = {}, opts = {}) ⇒ Object
Marks a credit note as void.
Methods inherited from StripeService
Constructor Details
#initialize(requestor) ⇒ CreditNoteService
Returns a new instance of CreditNoteService.
8 9 10 11 12 |
# File 'lib/stripe/services/credit_note_service.rb', line 8 def initialize(requestor) super @line_items = Stripe::CreditNoteLineItemService.new(@requestor) @preview_lines = Stripe::CreditNotePreviewLinesService.new(@requestor) end |
Instance Attribute Details
#line_items ⇒ Object (readonly)
Returns the value of attribute line_items.
6 7 8 |
# File 'lib/stripe/services/credit_note_service.rb', line 6 def line_items @line_items end |
#preview_lines ⇒ Object (readonly)
Returns the value of attribute preview_lines.
6 7 8 |
# File 'lib/stripe/services/credit_note_service.rb', line 6 def preview_lines @preview_lines end |
Instance Method Details
#create(params = {}, opts = {}) ⇒ Object
Issue a credit note to adjust the amount of a finalized invoice. A credit note will first reduce the invoice’s amount_remaining (and amount_due), but not below zero. This amount is indicated by the credit note’s pre_payment_amount. The excess amount is indicated by post_payment_amount, and it can result in any combination of the following:
Refunds: create a new refund (using refund_amount) or link existing refunds (using refunds). 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).
The sum of refunds, customer balance credits, and outside of Stripe credits must equal the post_payment_amount.
You may issue multiple credit notes for an invoice. Each credit note may increment the invoice’s pre_payment_credit_notes_amount, post_payment_credit_notes_amount, or both, depending on the invoice’s amount_remaining at the time of credit note creation.
27 28 29 30 31 32 33 34 35 |
# File 'lib/stripe/services/credit_note_service.rb', line 27 def create(params = {}, opts = {}) request( method: :post, path: "/v1/credit_notes", params: params, opts: opts, base_address: :api ) end |
#list(params = {}, opts = {}) ⇒ Object
Returns a list of credit notes.
38 39 40 41 42 43 44 45 46 |
# File 'lib/stripe/services/credit_note_service.rb', line 38 def list(params = {}, opts = {}) request( method: :get, path: "/v1/credit_notes", params: params, opts: opts, base_address: :api ) end |
#preview(params = {}, opts = {}) ⇒ Object
Get a preview of a credit note without creating it.
49 50 51 52 53 54 55 56 57 |
# File 'lib/stripe/services/credit_note_service.rb', line 49 def preview(params = {}, opts = {}) request( method: :get, path: "/v1/credit_notes/preview", params: params, opts: opts, base_address: :api ) end |
#retrieve(id, params = {}, opts = {}) ⇒ Object
Retrieves the credit note object with the given identifier.
60 61 62 63 64 65 66 67 68 |
# File 'lib/stripe/services/credit_note_service.rb', line 60 def retrieve(id, params = {}, opts = {}) request( method: :get, path: format("/v1/credit_notes/%<id>s", { id: CGI.escape(id) }), params: params, opts: opts, base_address: :api ) end |
#update(id, params = {}, opts = {}) ⇒ Object
Updates an existing credit note.
71 72 73 74 75 76 77 78 79 |
# File 'lib/stripe/services/credit_note_service.rb', line 71 def update(id, params = {}, opts = {}) request( method: :post, path: format("/v1/credit_notes/%<id>s", { id: CGI.escape(id) }), params: params, opts: opts, base_address: :api ) end |
#void_credit_note(id, params = {}, opts = {}) ⇒ Object
Marks a credit note as void. Learn more about [voiding credit notes](docs.stripe.com/docs/billing/invoices/credit-notes#voiding).
82 83 84 85 86 87 88 89 90 |
# File 'lib/stripe/services/credit_note_service.rb', line 82 def void_credit_note(id, params = {}, opts = {}) request( method: :post, path: format("/v1/credit_notes/%<id>s/void", { id: CGI.escape(id) }), params: params, opts: opts, base_address: :api ) end |