Struct Coupon

Source
pub struct Coupon {
Show 16 fields pub amount_off: Option<i64>, pub applies_to: Option<CouponAppliesTo>, pub created: Timestamp, pub currency: Option<Currency>, pub currency_options: Option<HashMap<Currency, CouponCurrencyOption>>, pub duration: CouponDuration, pub duration_in_months: Option<i64>, pub id: CouponId, pub livemode: bool, pub max_redemptions: Option<i64>, pub metadata: Option<HashMap<String, String>>, pub name: Option<String>, pub percent_off: Option<f64>, pub redeem_by: Option<Timestamp>, pub times_redeemed: i64, pub valid: bool,
}
Expand description

A coupon contains information about a percent-off or amount-off discount you might want to apply to a customer. Coupons may be applied to subscriptions, invoices,. checkout sessions, quotes, and more. Coupons do not work with conventional one-off charges or payment intents.

For more details see <https://stripe.com/docs/api/coupons/object>.

Fields§

§amount_off: Option<i64>

Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.

§applies_to: Option<CouponAppliesTo>§created: Timestamp

Time at which the object was created. Measured in seconds since the Unix epoch.

§currency: Option<Currency>

If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.

§currency_options: Option<HashMap<Currency, CouponCurrencyOption>>

Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.

§duration: CouponDuration

One of forever, once, or repeating. Describes how long a customer who applies this coupon will get the discount.

§duration_in_months: Option<i64>

If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.

§id: CouponId

Unique identifier for the object.

§livemode: bool

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

§max_redemptions: Option<i64>

Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.

§metadata: Option<HashMap<String, String>>

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.

§name: Option<String>

Name of the coupon displayed to customers on for instance invoices or receipts.

§percent_off: Option<f64>

Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $ (or local equivalent)100 invoice $ (or local equivalent)50 instead.

§redeem_by: Option<Timestamp>

Date after which the coupon can no longer be redeemed.

§times_redeemed: i64

Number of times this coupon has been applied to a customer.

§valid: bool

Taking account of the above properties, whether this coupon can still be applied to a customer.

Trait Implementations§

Source§

impl Clone for Coupon

Source§

fn clone(&self) -> Coupon

Returns a duplicate 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 Coupon

Source§

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

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

impl Deserialize for Coupon

Source§

fn begin(out: &mut Option<Self>) -> &mut dyn Visitor

The only correct implementation of this method is: Read more
Source§

impl FromValueOpt for Coupon

Source§

impl Object for Coupon

Source§

type Id = CouponId

The canonical id type for this object.
Source§

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

The id of the object.
Source§

fn into_id(self) -> Self::Id

The owned id of the object.
Source§

impl ObjectDeser for Coupon

Auto Trait Implementations§

§

impl Freeze for Coupon

§

impl RefUnwindSafe for Coupon

§

impl Send for Coupon

§

impl Sync for Coupon

§

impl Unpin for Coupon

§

impl UnwindSafe for Coupon

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

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>,

Source§

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>,

Source§

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.