POST /v1/credit_notes

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:

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.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/x-www-form-urlencoded"

Request body fields

Name Type Required Description
refunds[] Array No

Refunds to link to this credit note.

refunds[].amount_refunded Integer No
refunds[].refund String No
credit_amount Integer No

The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.

expand[] Array No

Specifies which fields in the response should be expanded.

shipping_cost Object No

When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. One of amount, lines, or shipping_cost must be provided.

shipping_cost.shipping_rate String No
metadata Object No

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

email_type String No

Type of email to send to the customer, one of credit_note or none and the default is credit_note.

Possible values:

  • "none"
  • "credit_note"
refund_amount Integer No

The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.

invoice String Yes

ID of the invoice.

amount Integer No

The integer amount in cents (or local equivalent) representing the total amount of the credit note. One of amount, lines, or shipping_cost must be provided.

lines[] Array No

Line items that make up the credit note. One of amount, lines, or shipping_cost must be provided.

lines[].unit_amount Integer No
lines[].invoice_line_item String No
lines[].description String No
lines[].tax_amounts No
lines[].tax_rates No
lines[].unit_amount_decimal String No
lines[].amount Integer No
lines[].quantity Integer No
lines[].type String Yes

Possible values:

  • "invoice_line_item"
  • "custom_line_item"
effective_at Integer No

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.

out_of_band_amount Integer No

The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.

memo String No

The credit note's memo appears on the credit note PDF.

reason String No

Reason for issuing this credit note, one of duplicate, fraudulent, order_change, or product_unsatisfactory

Possible values:

  • "duplicate"
  • "product_unsatisfactory"
  • "fraudulent"
  • "order_change"

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.