Struct stripe::CreditNote

source ·
pub struct CreditNote {
Show 29 fields pub id: CreditNoteId, pub amount: i64, pub amount_shipping: i64, pub created: Timestamp, pub currency: Currency, pub customer: Expandable<Customer>, pub customer_balance_transaction: Option<Expandable<CustomerBalanceTransaction>>, pub discount_amount: i64, pub discount_amounts: Vec<DiscountsResourceDiscountAmount>, pub effective_at: Option<Timestamp>, pub invoice: Expandable<Invoice>, pub lines: List<CreditNoteLineItem>, pub livemode: bool, pub memo: Option<String>, pub metadata: Option<Metadata>, pub number: String, pub out_of_band_amount: Option<i64>, pub pdf: String, pub reason: Option<CreditNoteReason>, pub refund: Option<Expandable<Refund>>, pub shipping_cost: Option<InvoicesShippingCost>, pub status: CreditNoteStatus, pub subtotal: i64, pub subtotal_excluding_tax: Option<i64>, pub tax_amounts: Vec<CreditNoteTaxAmount>, pub total: i64, pub total_excluding_tax: Option<i64>, pub type_: CreditNoteType, pub voided_at: Option<Timestamp>,
}
Expand description

The resource representing a Stripe “CreditNote”.

For more details see https://stripe.com/docs/api/credit_notes/object

Fields§

§id: CreditNoteId

Unique identifier for the object.

§amount: i64

The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax.

§amount_shipping: i64

This is the sum of all the shipping amounts.

§created: Timestamp

Time at which the object was created.

Measured in seconds since the Unix epoch.

§currency: Currency

Three-letter ISO currency code, in lowercase.

Must be a supported currency.

§customer: Expandable<Customer>

ID of the customer.

§customer_balance_transaction: Option<Expandable<CustomerBalanceTransaction>>

Customer balance transaction related to this credit note.

§discount_amount: i64

The integer amount in cents (or local equivalent) representing the total amount of discount that was credited.

§discount_amounts: Vec<DiscountsResourceDiscountAmount>

The aggregate amounts calculated per discount for all line items.

§effective_at: Option<Timestamp>

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.

§invoice: Expandable<Invoice>

ID of the invoice.

§lines: List<CreditNoteLineItem>

Line items that make up the credit note.

§livemode: bool

Has the value true if the object exists in live mode or the value false if the object exists in test mode.

§memo: Option<String>

Customer-facing text that appears on the credit note PDF.

§metadata: Option<Metadata>

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.

§number: String

A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.

§out_of_band_amount: Option<i64>

Amount that was credited outside of Stripe.

§pdf: String

The link to download the PDF of the credit note.

§reason: Option<CreditNoteReason>

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

§refund: Option<Expandable<Refund>>

Refund related to this credit note.

§shipping_cost: Option<InvoicesShippingCost>

The details of the cost of shipping, including the ShippingRate applied to the invoice.

§status: CreditNoteStatus

Status of this credit note, one of issued or void.

Learn more about voiding credit notes.

§subtotal: i64

The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts.

§subtotal_excluding_tax: Option<i64>

The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts.

§tax_amounts: Vec<CreditNoteTaxAmount>

The aggregate amounts calculated per tax rate for all line items.

§total: i64

The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount.

§total_excluding_tax: Option<i64>

The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts.

§type_: CreditNoteType

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.

§voided_at: Option<Timestamp>

The time that the credit note was voided.

Implementations§

source§

impl CreditNote

source

pub fn list( client: &Client, params: &ListCreditNotes<'_> ) -> Response<List<CreditNote>>

Returns a list of credit notes.

source

pub fn create( client: &Client, params: CreateCreditNote<'_> ) -> Response<CreditNote>

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.

source

pub fn retrieve( client: &Client, id: &CreditNoteId, expand: &[&str] ) -> Response<CreditNote>

Retrieves the credit note object with the given identifier.

source

pub fn update( client: &Client, id: &CreditNoteId, params: UpdateCreditNote<'_> ) -> Response<CreditNote>

Updates an existing credit note.

source§

impl CreditNote

source

pub fn void(client: &Client, id: &CreditNoteId) -> Response<CreditNote>

Marks a credit note as void.

You can only void a credit note if the associated invoice is open.

Trait Implementations§

source§

impl Clone for CreditNote

source§

fn clone(&self) -> CreditNote

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CreditNote

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CreditNote

source§

fn default() -> CreditNote

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for CreditNote

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Object for CreditNote

§

type Id = CreditNoteId

The canonical id type for this object.
source§

fn id(&self) -> Self::Id

The id of the object.
source§

fn object(&self) -> &'static str

The object’s type, typically represented in wire format as the object property.
source§

impl Serialize for CreditNote

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,