874 lines
37 KiB
TypeScript
874 lines
37 KiB
TypeScript
import { StripeResource } from '../StripeResource.js';
|
|
import { CreditNoteLineItem } from './CreditNoteLineItems.js';
|
|
import { Customer, DeletedCustomer } from './Customers.js';
|
|
import { CustomerBalanceTransaction } from './CustomerBalanceTransactions.js';
|
|
import { Invoice } from './Invoices.js';
|
|
import { Discount, DeletedDiscount } from './Discounts.js';
|
|
import { ShippingRate } from './ShippingRates.js';
|
|
import { TaxRate } from './TaxRates.js';
|
|
import * as Billing from './Billing/index.js';
|
|
import { MetadataParam, Emptyable, Decimal, PaginationParams, RangeQueryParam, Metadata } from '../shared.js';
|
|
import { RequestOptions, ApiListPromise, Response, ApiList } from '../lib.js';
|
|
export declare class CreditNoteResource extends StripeResource {
|
|
/**
|
|
* Returns a list of credit notes.
|
|
*/
|
|
list(params?: CreditNoteListParams, options?: RequestOptions): ApiListPromise<CreditNote>;
|
|
/**
|
|
* 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.
|
|
*/
|
|
create(params: CreditNoteCreateParams, options?: RequestOptions): Promise<Response<CreditNote>>;
|
|
/**
|
|
* Retrieves the credit note object with the given identifier.
|
|
*/
|
|
retrieve(id: string, params?: CreditNoteRetrieveParams, options?: RequestOptions): Promise<Response<CreditNote>>;
|
|
/**
|
|
* Updates an existing credit note.
|
|
*/
|
|
update(id: string, params?: CreditNoteUpdateParams, options?: RequestOptions): Promise<Response<CreditNote>>;
|
|
/**
|
|
* Get a preview of a credit note without creating it.
|
|
*/
|
|
preview(params: CreditNotePreviewParams, options?: RequestOptions): Promise<Response<CreditNote>>;
|
|
/**
|
|
* Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding).
|
|
*/
|
|
voidCreditNote(id: string, params?: CreditNoteVoidCreditNoteParams, options?: RequestOptions): Promise<Response<CreditNote>>;
|
|
/**
|
|
* 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.
|
|
*/
|
|
listPreviewLineItems(params: CreditNoteListPreviewLineItemsParams, options?: RequestOptions): ApiListPromise<CreditNoteLineItem>;
|
|
/**
|
|
* When retrieving a credit note, you'll get a lines property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
|
|
*/
|
|
listLineItems(id: string, params?: CreditNoteListLineItemsParams, options?: RequestOptions): ApiListPromise<CreditNoteLineItem>;
|
|
}
|
|
export interface CreditNote {
|
|
/**
|
|
* Unique identifier for the object.
|
|
*/
|
|
id: string;
|
|
/**
|
|
* String representing the object's type. Objects of the same type share the same value.
|
|
*/
|
|
object: 'credit_note';
|
|
/**
|
|
* The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax.
|
|
*/
|
|
amount: number;
|
|
/**
|
|
* This is the sum of all the shipping amounts.
|
|
*/
|
|
amount_shipping: number;
|
|
/**
|
|
* Time at which the object was created. Measured in seconds since the Unix epoch.
|
|
*/
|
|
created: number;
|
|
/**
|
|
* Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
|
|
*/
|
|
currency: string;
|
|
/**
|
|
* ID of the customer.
|
|
*/
|
|
customer: string | Customer | DeletedCustomer;
|
|
/**
|
|
* ID of the account representing the customer.
|
|
*/
|
|
customer_account: string | null;
|
|
/**
|
|
* Customer balance transaction related to this credit note.
|
|
*/
|
|
customer_balance_transaction: string | CustomerBalanceTransaction | null;
|
|
/**
|
|
* The integer amount in cents (or local equivalent) representing the total amount of discount that was credited.
|
|
*/
|
|
discount_amount: number;
|
|
/**
|
|
* The aggregate amounts calculated per discount for all line items.
|
|
*/
|
|
discount_amounts: Array<CreditNote.DiscountAmount>;
|
|
/**
|
|
* 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.
|
|
*/
|
|
effective_at: number | null;
|
|
/**
|
|
* ID of the invoice.
|
|
*/
|
|
invoice: string | Invoice;
|
|
/**
|
|
* Line items that make up the credit note
|
|
*/
|
|
lines: ApiList<CreditNoteLineItem>;
|
|
/**
|
|
* If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
|
|
*/
|
|
livemode: boolean;
|
|
/**
|
|
* Customer-facing text that appears on the credit note PDF.
|
|
*/
|
|
memo: string | null;
|
|
/**
|
|
* Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
|
*/
|
|
metadata: Metadata | null;
|
|
/**
|
|
* A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.
|
|
*/
|
|
number: string;
|
|
/**
|
|
* Amount that was credited outside of Stripe.
|
|
*/
|
|
out_of_band_amount: number | null;
|
|
/**
|
|
* The link to download the PDF of the credit note.
|
|
*/
|
|
pdf: string;
|
|
/**
|
|
* The amount of the credit note that was refunded to the customer, credited to the customer's balance, credited outside of Stripe, or any combination thereof.
|
|
*/
|
|
post_payment_amount: number;
|
|
/**
|
|
* The amount of the credit note by which the invoice's `amount_remaining` and `amount_due` were reduced.
|
|
*/
|
|
pre_payment_amount: number;
|
|
/**
|
|
* The pretax credit amounts (ex: discount, credit grants, etc) for all line items.
|
|
*/
|
|
pretax_credit_amounts: Array<CreditNote.PretaxCreditAmount>;
|
|
/**
|
|
* Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
|
|
*/
|
|
reason: CreditNote.Reason | null;
|
|
/**
|
|
* Refunds related to this credit note.
|
|
*/
|
|
refunds: Array<CreditNote.Refund>;
|
|
/**
|
|
* The details of the cost of shipping, including the ShippingRate applied to the invoice.
|
|
*/
|
|
shipping_cost: CreditNote.ShippingCost | null;
|
|
/**
|
|
* Status of this credit note, one of `issued` or `void`. Learn more about [voiding credit notes](https://docs.stripe.com/billing/invoices/credit-notes#voiding).
|
|
*/
|
|
status: CreditNote.Status;
|
|
/**
|
|
* The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts.
|
|
*/
|
|
subtotal: number;
|
|
/**
|
|
* The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts.
|
|
*/
|
|
subtotal_excluding_tax: number | null;
|
|
/**
|
|
* The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount.
|
|
*/
|
|
total: number;
|
|
/**
|
|
* The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts.
|
|
*/
|
|
total_excluding_tax: number | null;
|
|
/**
|
|
* The aggregate tax information for all line items.
|
|
*/
|
|
total_taxes: Array<CreditNote.TotalTax> | null;
|
|
/**
|
|
* 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.
|
|
*/
|
|
type: CreditNote.Type;
|
|
/**
|
|
* The time that the credit note was voided.
|
|
*/
|
|
voided_at: number | null;
|
|
}
|
|
export declare namespace CreditNote {
|
|
interface DiscountAmount {
|
|
/**
|
|
* The amount, in cents (or local equivalent), of the discount.
|
|
*/
|
|
amount: number;
|
|
/**
|
|
* The discount that was applied to get this discount amount.
|
|
*/
|
|
discount: string | Discount | DeletedDiscount;
|
|
}
|
|
interface PretaxCreditAmount {
|
|
/**
|
|
* The amount, in cents (or local equivalent), of the pretax credit amount.
|
|
*/
|
|
amount: number;
|
|
/**
|
|
* The credit balance transaction that was applied to get this pretax credit amount.
|
|
*/
|
|
credit_balance_transaction?: string | Billing.CreditBalanceTransaction;
|
|
/**
|
|
* The discount that was applied to get this pretax credit amount.
|
|
*/
|
|
discount?: string | Discount | DeletedDiscount;
|
|
/**
|
|
* Type of the pretax credit amount referenced.
|
|
*/
|
|
type: PretaxCreditAmount.Type;
|
|
}
|
|
type Reason = 'duplicate' | 'fraudulent' | 'order_change' | 'product_unsatisfactory';
|
|
interface Refund {
|
|
/**
|
|
* Amount of the refund that applies to this credit note, in cents (or local equivalent).
|
|
*/
|
|
amount_refunded: number;
|
|
/**
|
|
* The PaymentRecord refund details associated with this credit note refund.
|
|
*/
|
|
payment_record_refund: Refund.PaymentRecordRefund | null;
|
|
/**
|
|
* ID of the refund.
|
|
*/
|
|
refund: string | Refund;
|
|
/**
|
|
* Type of the refund, one of `refund` or `payment_record_refund`.
|
|
*/
|
|
type: Refund.Type | null;
|
|
}
|
|
interface ShippingCost {
|
|
/**
|
|
* Total shipping cost before any taxes are applied.
|
|
*/
|
|
amount_subtotal: number;
|
|
/**
|
|
* Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0.
|
|
*/
|
|
amount_tax: number;
|
|
/**
|
|
* Total shipping cost after taxes are applied.
|
|
*/
|
|
amount_total: number;
|
|
/**
|
|
* The ID of the ShippingRate for this invoice.
|
|
*/
|
|
shipping_rate: string | ShippingRate | null;
|
|
/**
|
|
* The taxes applied to the shipping rate.
|
|
*/
|
|
taxes?: Array<ShippingCost.Tax>;
|
|
}
|
|
type Status = 'issued' | 'void';
|
|
interface TotalTax {
|
|
/**
|
|
* The amount of the tax, in cents (or local equivalent).
|
|
*/
|
|
amount: number;
|
|
/**
|
|
* Whether this tax is inclusive or exclusive.
|
|
*/
|
|
tax_behavior: TotalTax.TaxBehavior;
|
|
/**
|
|
* Additional details about the tax rate. Only present when `type` is `tax_rate_details`.
|
|
*/
|
|
tax_rate_details: TotalTax.TaxRateDetails | null;
|
|
/**
|
|
* The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
|
|
*/
|
|
taxability_reason: TotalTax.TaxabilityReason;
|
|
/**
|
|
* The amount on which tax is calculated, in cents (or local equivalent).
|
|
*/
|
|
taxable_amount: number | null;
|
|
/**
|
|
* The type of tax information.
|
|
*/
|
|
type: 'tax_rate_details';
|
|
}
|
|
type Type = 'mixed' | 'post_payment' | 'pre_payment';
|
|
namespace PretaxCreditAmount {
|
|
type Type = 'credit_balance_transaction' | 'discount';
|
|
}
|
|
namespace Refund {
|
|
interface PaymentRecordRefund {
|
|
/**
|
|
* ID of the payment record.
|
|
*/
|
|
payment_record: string;
|
|
/**
|
|
* ID of the refund group.
|
|
*/
|
|
refund_group: string;
|
|
}
|
|
type Type = 'payment_record_refund' | 'refund';
|
|
}
|
|
namespace ShippingCost {
|
|
interface Tax {
|
|
/**
|
|
* Amount of tax applied for this rate.
|
|
*/
|
|
amount: number;
|
|
/**
|
|
* Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.
|
|
*
|
|
* Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates)
|
|
*/
|
|
rate: TaxRate;
|
|
/**
|
|
* The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
|
|
*/
|
|
taxability_reason: Tax.TaxabilityReason | null;
|
|
/**
|
|
* The amount on which tax is calculated, in cents (or local equivalent).
|
|
*/
|
|
taxable_amount: number | null;
|
|
}
|
|
namespace Tax {
|
|
type TaxabilityReason = 'customer_exempt' | 'not_collecting' | 'not_subject_to_tax' | 'not_supported' | 'portion_product_exempt' | 'portion_reduced_rated' | 'portion_standard_rated' | 'product_exempt' | 'product_exempt_holiday' | 'proportionally_rated' | 'reduced_rated' | 'reverse_charge' | 'standard_rated' | 'taxable_basis_reduced' | 'zero_rated';
|
|
}
|
|
}
|
|
namespace TotalTax {
|
|
type TaxBehavior = 'exclusive' | 'inclusive';
|
|
interface TaxRateDetails {
|
|
/**
|
|
* ID of the tax rate
|
|
*/
|
|
tax_rate: string;
|
|
}
|
|
type TaxabilityReason = 'customer_exempt' | 'not_available' | 'not_collecting' | 'not_subject_to_tax' | 'not_supported' | 'portion_product_exempt' | 'portion_reduced_rated' | 'portion_standard_rated' | 'product_exempt' | 'product_exempt_holiday' | 'proportionally_rated' | 'reduced_rated' | 'reverse_charge' | 'standard_rated' | 'taxable_basis_reduced' | 'zero_rated';
|
|
}
|
|
}
|
|
export interface CreditNoteCreateParams {
|
|
/**
|
|
* ID of the invoice.
|
|
*/
|
|
invoice: string;
|
|
/**
|
|
* 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.
|
|
*/
|
|
amount?: number;
|
|
/**
|
|
* 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.
|
|
*/
|
|
credit_amount?: number;
|
|
/**
|
|
* 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.
|
|
*/
|
|
effective_at?: number;
|
|
/**
|
|
* Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.
|
|
*/
|
|
email_type?: CreditNoteCreateParams.EmailType;
|
|
/**
|
|
* Specifies which fields in the response should be expanded.
|
|
*/
|
|
expand?: Array<string>;
|
|
/**
|
|
* Line items that make up the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided.
|
|
*/
|
|
lines?: Array<CreditNoteCreateParams.Line>;
|
|
/**
|
|
* The credit note's memo appears on the credit note PDF.
|
|
*/
|
|
memo?: string;
|
|
/**
|
|
* Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`.
|
|
*/
|
|
metadata?: MetadataParam;
|
|
/**
|
|
* The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
|
|
*/
|
|
out_of_band_amount?: number;
|
|
/**
|
|
* Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
|
|
*/
|
|
reason?: CreditNoteCreateParams.Reason;
|
|
/**
|
|
* 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.
|
|
*/
|
|
refund_amount?: number;
|
|
/**
|
|
* Refunds to link to this credit note.
|
|
*/
|
|
refunds?: Array<CreditNoteCreateParams.Refund>;
|
|
/**
|
|
* 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?: CreditNoteCreateParams.ShippingCost;
|
|
}
|
|
export declare namespace CreditNoteCreateParams {
|
|
type EmailType = 'credit_note' | 'none';
|
|
interface Line {
|
|
/**
|
|
* The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive
|
|
*/
|
|
amount?: number;
|
|
/**
|
|
* The description of the credit note line item. Only valid when the `type` is `custom_line_item`.
|
|
*/
|
|
description?: string;
|
|
/**
|
|
* The invoice line item to credit. Only valid when the `type` is `invoice_line_item`.
|
|
*/
|
|
invoice_line_item?: string;
|
|
/**
|
|
* Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`.
|
|
*/
|
|
metadata?: MetadataParam;
|
|
/**
|
|
* The line item quantity to credit.
|
|
*/
|
|
quantity?: number;
|
|
/**
|
|
* A list of up to 10 tax amounts for the credit note line item. Not valid when `tax_rates` is used or if invoice is set up with `automatic_tax[enabled]=true`.
|
|
*/
|
|
tax_amounts?: Emptyable<Array<Line.TaxAmount>>;
|
|
/**
|
|
* The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and `tax_amounts` is not used.
|
|
*/
|
|
tax_rates?: Emptyable<Array<string>>;
|
|
/**
|
|
* Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. `custom_line_item` is not valid when the invoice is set up with `automatic_tax[enabled]=true`.
|
|
*/
|
|
type: Line.Type;
|
|
/**
|
|
* The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`.
|
|
*/
|
|
unit_amount?: number;
|
|
/**
|
|
* Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
|
|
*/
|
|
unit_amount_decimal?: Decimal;
|
|
}
|
|
type Reason = 'duplicate' | 'fraudulent' | 'order_change' | 'product_unsatisfactory';
|
|
interface Refund {
|
|
/**
|
|
* Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount.
|
|
*/
|
|
amount_refunded?: number;
|
|
/**
|
|
* The PaymentRecord refund details to link to this credit note. Required when `type` is `payment_record_refund`.
|
|
*/
|
|
payment_record_refund?: Refund.PaymentRecordRefund;
|
|
/**
|
|
* ID of an existing refund to link this credit note to. Required when `type` is `refund`.
|
|
*/
|
|
refund?: string;
|
|
/**
|
|
* Type of the refund, one of `refund` or `payment_record_refund`. Defaults to `refund`.
|
|
*/
|
|
type?: Refund.Type;
|
|
}
|
|
interface ShippingCost {
|
|
/**
|
|
* The ID of the shipping rate to use for this order.
|
|
*/
|
|
shipping_rate?: string;
|
|
}
|
|
namespace Line {
|
|
interface TaxAmount {
|
|
/**
|
|
* The amount, in cents (or local equivalent), of the tax.
|
|
*/
|
|
amount: number;
|
|
/**
|
|
* The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe.
|
|
*/
|
|
tax_rate: string;
|
|
/**
|
|
* The amount on which tax is calculated, in cents (or local equivalent).
|
|
*/
|
|
taxable_amount: number;
|
|
}
|
|
type Type = 'custom_line_item' | 'invoice_line_item';
|
|
}
|
|
namespace Refund {
|
|
interface PaymentRecordRefund {
|
|
/**
|
|
* The ID of the PaymentRecord with the refund to link to this credit note.
|
|
*/
|
|
payment_record: string;
|
|
/**
|
|
* The PaymentRecord refund group to link to this credit note. For refunds processed off-Stripe, this will correspond to the `processor_details.custom.refund_reference` field provided when reporting the refund on the PaymentRecord.
|
|
*/
|
|
refund_group: string;
|
|
}
|
|
type Type = 'payment_record_refund' | 'refund';
|
|
}
|
|
}
|
|
export interface CreditNoteRetrieveParams {
|
|
/**
|
|
* Specifies which fields in the response should be expanded.
|
|
*/
|
|
expand?: Array<string>;
|
|
}
|
|
export interface CreditNoteUpdateParams {
|
|
/**
|
|
* Specifies which fields in the response should be expanded.
|
|
*/
|
|
expand?: Array<string>;
|
|
/**
|
|
* Credit note memo.
|
|
*/
|
|
memo?: string;
|
|
/**
|
|
* Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`.
|
|
*/
|
|
metadata?: MetadataParam;
|
|
}
|
|
export interface CreditNoteListParams extends PaginationParams {
|
|
/**
|
|
* Only return credit notes that were created during the given date interval.
|
|
*/
|
|
created?: RangeQueryParam | number;
|
|
/**
|
|
* Only return credit notes for the customer specified by this customer ID.
|
|
*/
|
|
customer?: string;
|
|
/**
|
|
* Only return credit notes for the account representing the customer specified by this account ID.
|
|
*/
|
|
customer_account?: string;
|
|
/**
|
|
* Specifies which fields in the response should be expanded.
|
|
*/
|
|
expand?: Array<string>;
|
|
/**
|
|
* Only return credit notes for the invoice specified by this invoice ID.
|
|
*/
|
|
invoice?: string;
|
|
}
|
|
export interface CreditNoteListLineItemsParams extends PaginationParams {
|
|
/**
|
|
* Specifies which fields in the response should be expanded.
|
|
*/
|
|
expand?: Array<string>;
|
|
}
|
|
export interface CreditNoteListPreviewLineItemsParams extends PaginationParams {
|
|
/**
|
|
* ID of the invoice.
|
|
*/
|
|
invoice: string;
|
|
/**
|
|
* 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.
|
|
*/
|
|
amount?: number;
|
|
/**
|
|
* 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.
|
|
*/
|
|
credit_amount?: number;
|
|
/**
|
|
* 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.
|
|
*/
|
|
effective_at?: number;
|
|
/**
|
|
* Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.
|
|
*/
|
|
email_type?: CreditNoteListPreviewLineItemsParams.EmailType;
|
|
/**
|
|
* Specifies which fields in the response should be expanded.
|
|
*/
|
|
expand?: Array<string>;
|
|
/**
|
|
* Line items that make up the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided.
|
|
*/
|
|
lines?: Array<CreditNoteListPreviewLineItemsParams.Line>;
|
|
/**
|
|
* The credit note's memo appears on the credit note PDF.
|
|
*/
|
|
memo?: string;
|
|
/**
|
|
* Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`.
|
|
*/
|
|
metadata?: MetadataParam;
|
|
/**
|
|
* The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
|
|
*/
|
|
out_of_band_amount?: number;
|
|
/**
|
|
* Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
|
|
*/
|
|
reason?: CreditNoteListPreviewLineItemsParams.Reason;
|
|
/**
|
|
* 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.
|
|
*/
|
|
refund_amount?: number;
|
|
/**
|
|
* Refunds to link to this credit note.
|
|
*/
|
|
refunds?: Array<CreditNoteListPreviewLineItemsParams.Refund>;
|
|
/**
|
|
* 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?: CreditNoteListPreviewLineItemsParams.ShippingCost;
|
|
}
|
|
export declare namespace CreditNoteListPreviewLineItemsParams {
|
|
type EmailType = 'credit_note' | 'none';
|
|
interface Line {
|
|
/**
|
|
* The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive
|
|
*/
|
|
amount?: number;
|
|
/**
|
|
* The description of the credit note line item. Only valid when the `type` is `custom_line_item`.
|
|
*/
|
|
description?: string;
|
|
/**
|
|
* The invoice line item to credit. Only valid when the `type` is `invoice_line_item`.
|
|
*/
|
|
invoice_line_item?: string;
|
|
/**
|
|
* Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`.
|
|
*/
|
|
metadata?: MetadataParam;
|
|
/**
|
|
* The line item quantity to credit.
|
|
*/
|
|
quantity?: number;
|
|
/**
|
|
* A list of up to 10 tax amounts for the credit note line item. Not valid when `tax_rates` is used or if invoice is set up with `automatic_tax[enabled]=true`.
|
|
*/
|
|
tax_amounts?: Emptyable<Array<Line.TaxAmount>>;
|
|
/**
|
|
* The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and `tax_amounts` is not used.
|
|
*/
|
|
tax_rates?: Emptyable<Array<string>>;
|
|
/**
|
|
* Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. `custom_line_item` is not valid when the invoice is set up with `automatic_tax[enabled]=true`.
|
|
*/
|
|
type: Line.Type;
|
|
/**
|
|
* The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`.
|
|
*/
|
|
unit_amount?: number;
|
|
/**
|
|
* Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
|
|
*/
|
|
unit_amount_decimal?: Decimal;
|
|
}
|
|
type Reason = 'duplicate' | 'fraudulent' | 'order_change' | 'product_unsatisfactory';
|
|
interface Refund {
|
|
/**
|
|
* Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount.
|
|
*/
|
|
amount_refunded?: number;
|
|
/**
|
|
* The PaymentRecord refund details to link to this credit note. Required when `type` is `payment_record_refund`.
|
|
*/
|
|
payment_record_refund?: Refund.PaymentRecordRefund;
|
|
/**
|
|
* ID of an existing refund to link this credit note to. Required when `type` is `refund`.
|
|
*/
|
|
refund?: string;
|
|
/**
|
|
* Type of the refund, one of `refund` or `payment_record_refund`. Defaults to `refund`.
|
|
*/
|
|
type?: Refund.Type;
|
|
}
|
|
interface ShippingCost {
|
|
/**
|
|
* The ID of the shipping rate to use for this order.
|
|
*/
|
|
shipping_rate?: string;
|
|
}
|
|
namespace Line {
|
|
interface TaxAmount {
|
|
/**
|
|
* The amount, in cents (or local equivalent), of the tax.
|
|
*/
|
|
amount: number;
|
|
/**
|
|
* The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe.
|
|
*/
|
|
tax_rate: string;
|
|
/**
|
|
* The amount on which tax is calculated, in cents (or local equivalent).
|
|
*/
|
|
taxable_amount: number;
|
|
}
|
|
type Type = 'custom_line_item' | 'invoice_line_item';
|
|
}
|
|
namespace Refund {
|
|
interface PaymentRecordRefund {
|
|
/**
|
|
* The ID of the PaymentRecord with the refund to link to this credit note.
|
|
*/
|
|
payment_record: string;
|
|
/**
|
|
* The PaymentRecord refund group to link to this credit note. For refunds processed off-Stripe, this will correspond to the `processor_details.custom.refund_reference` field provided when reporting the refund on the PaymentRecord.
|
|
*/
|
|
refund_group: string;
|
|
}
|
|
type Type = 'payment_record_refund' | 'refund';
|
|
}
|
|
}
|
|
export interface CreditNotePreviewParams {
|
|
/**
|
|
* ID of the invoice.
|
|
*/
|
|
invoice: string;
|
|
/**
|
|
* 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.
|
|
*/
|
|
amount?: number;
|
|
/**
|
|
* 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.
|
|
*/
|
|
credit_amount?: number;
|
|
/**
|
|
* 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.
|
|
*/
|
|
effective_at?: number;
|
|
/**
|
|
* Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.
|
|
*/
|
|
email_type?: CreditNotePreviewParams.EmailType;
|
|
/**
|
|
* Specifies which fields in the response should be expanded.
|
|
*/
|
|
expand?: Array<string>;
|
|
/**
|
|
* Line items that make up the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided.
|
|
*/
|
|
lines?: Array<CreditNotePreviewParams.Line>;
|
|
/**
|
|
* The credit note's memo appears on the credit note PDF.
|
|
*/
|
|
memo?: string;
|
|
/**
|
|
* Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`.
|
|
*/
|
|
metadata?: MetadataParam;
|
|
/**
|
|
* The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
|
|
*/
|
|
out_of_band_amount?: number;
|
|
/**
|
|
* Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
|
|
*/
|
|
reason?: CreditNotePreviewParams.Reason;
|
|
/**
|
|
* 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.
|
|
*/
|
|
refund_amount?: number;
|
|
/**
|
|
* Refunds to link to this credit note.
|
|
*/
|
|
refunds?: Array<CreditNotePreviewParams.Refund>;
|
|
/**
|
|
* 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?: CreditNotePreviewParams.ShippingCost;
|
|
}
|
|
export declare namespace CreditNotePreviewParams {
|
|
type EmailType = 'credit_note' | 'none';
|
|
interface Line {
|
|
/**
|
|
* The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive
|
|
*/
|
|
amount?: number;
|
|
/**
|
|
* The description of the credit note line item. Only valid when the `type` is `custom_line_item`.
|
|
*/
|
|
description?: string;
|
|
/**
|
|
* The invoice line item to credit. Only valid when the `type` is `invoice_line_item`.
|
|
*/
|
|
invoice_line_item?: string;
|
|
/**
|
|
* Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`.
|
|
*/
|
|
metadata?: MetadataParam;
|
|
/**
|
|
* The line item quantity to credit.
|
|
*/
|
|
quantity?: number;
|
|
/**
|
|
* A list of up to 10 tax amounts for the credit note line item. Not valid when `tax_rates` is used or if invoice is set up with `automatic_tax[enabled]=true`.
|
|
*/
|
|
tax_amounts?: Emptyable<Array<Line.TaxAmount>>;
|
|
/**
|
|
* The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and `tax_amounts` is not used.
|
|
*/
|
|
tax_rates?: Emptyable<Array<string>>;
|
|
/**
|
|
* Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. `custom_line_item` is not valid when the invoice is set up with `automatic_tax[enabled]=true`.
|
|
*/
|
|
type: Line.Type;
|
|
/**
|
|
* The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`.
|
|
*/
|
|
unit_amount?: number;
|
|
/**
|
|
* Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
|
|
*/
|
|
unit_amount_decimal?: Decimal;
|
|
}
|
|
type Reason = 'duplicate' | 'fraudulent' | 'order_change' | 'product_unsatisfactory';
|
|
interface Refund {
|
|
/**
|
|
* Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount.
|
|
*/
|
|
amount_refunded?: number;
|
|
/**
|
|
* The PaymentRecord refund details to link to this credit note. Required when `type` is `payment_record_refund`.
|
|
*/
|
|
payment_record_refund?: Refund.PaymentRecordRefund;
|
|
/**
|
|
* ID of an existing refund to link this credit note to. Required when `type` is `refund`.
|
|
*/
|
|
refund?: string;
|
|
/**
|
|
* Type of the refund, one of `refund` or `payment_record_refund`. Defaults to `refund`.
|
|
*/
|
|
type?: Refund.Type;
|
|
}
|
|
interface ShippingCost {
|
|
/**
|
|
* The ID of the shipping rate to use for this order.
|
|
*/
|
|
shipping_rate?: string;
|
|
}
|
|
namespace Line {
|
|
interface TaxAmount {
|
|
/**
|
|
* The amount, in cents (or local equivalent), of the tax.
|
|
*/
|
|
amount: number;
|
|
/**
|
|
* The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe.
|
|
*/
|
|
tax_rate: string;
|
|
/**
|
|
* The amount on which tax is calculated, in cents (or local equivalent).
|
|
*/
|
|
taxable_amount: number;
|
|
}
|
|
type Type = 'custom_line_item' | 'invoice_line_item';
|
|
}
|
|
namespace Refund {
|
|
interface PaymentRecordRefund {
|
|
/**
|
|
* The ID of the PaymentRecord with the refund to link to this credit note.
|
|
*/
|
|
payment_record: string;
|
|
/**
|
|
* The PaymentRecord refund group to link to this credit note. For refunds processed off-Stripe, this will correspond to the `processor_details.custom.refund_reference` field provided when reporting the refund on the PaymentRecord.
|
|
*/
|
|
refund_group: string;
|
|
}
|
|
type Type = 'payment_record_refund' | 'refund';
|
|
}
|
|
}
|
|
export interface CreditNoteVoidCreditNoteParams {
|
|
/**
|
|
* Specifies which fields in the response should be expanded.
|
|
*/
|
|
expand?: Array<string>;
|
|
}
|