Class: Stripe::CreditNoteService
- Inherits:
-
StripeService
- Object
- StripeService
- Stripe::CreditNoteService
- Defined in:
- lib/stripe/services/credit_note_service.rb
Defined Under Namespace
Classes: CreateParams, ListParams, PreviewParams, RetrieveParams, UpdateParams, VoidCreditNoteParams
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(requestor) @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. 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.
393 394 395 396 397 398 399 400 401 |
# File 'lib/stripe/services/credit_note_service.rb', line 393 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.
404 405 406 407 408 409 410 411 412 |
# File 'lib/stripe/services/credit_note_service.rb', line 404 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.
415 416 417 418 419 420 421 422 423 |
# File 'lib/stripe/services/credit_note_service.rb', line 415 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.
426 427 428 429 430 431 432 433 434 |
# File 'lib/stripe/services/credit_note_service.rb', line 426 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.
437 438 439 440 441 442 443 444 445 |
# File 'lib/stripe/services/credit_note_service.rb', line 437 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](stripe.com/docs/billing/invoices/credit-notes#voiding).
448 449 450 451 452 453 454 455 456 |
# File 'lib/stripe/services/credit_note_service.rb', line 448 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 |