CreditNote
Issue a credit note to adjust an invoice's amount after the invoice is finalized.
Related guide: Credit notes
Summary
Functions
Create a credit note
List all credit notes
Preview a credit note
Retrieve a credit note
Update a credit note
Void a credit note
Functions
@spec create(Stripe.Client.t(), map(), keyword()) :: {:ok, term()} | {:error, Stripe.Error.t()}
Create a credit note
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 (usingrefunds). - 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.
@spec list(Stripe.Client.t(), map(), keyword()) :: {:ok, term()} | {:error, Stripe.Error.t()}
List all credit notes
Returns a list of credit notes.
@spec preview(Stripe.Client.t(), map(), keyword()) :: {:ok, term()} | {:error, Stripe.Error.t()}
Preview a credit note
Get a preview of a credit note without creating it.
@spec retrieve(Stripe.Client.t(), String.t(), map(), keyword()) :: {:ok, term()} | {:error, Stripe.Error.t()}
Retrieve a credit note
Retrieves the credit note object with the given identifier.
@spec update(Stripe.Client.t(), String.t(), map(), keyword()) :: {:ok, term()} | {:error, Stripe.Error.t()}
Update a credit note
Updates an existing credit note.
@spec void_credit_note(Stripe.Client.t(), String.t(), map(), keyword()) :: {:ok, term()} | {:error, Stripe.Error.t()}
Void a credit note
Marks a credit note as void. Learn more about voiding credit notes.