Struct DiscountUpdate

Source
pub struct DiscountUpdate<'a> { /* private fields */ }
Expand description

Request builder for updating discounts in Paddle API.

Implementations§

Source§

impl<'a> DiscountUpdate<'a>

Source

pub fn new(client: &'a Paddle, discount_id: impl Into<DiscountID>) -> Self

Source

pub fn status(&mut self, status: Status) -> &mut Self

Whether this entity can be used in Paddle.

Source

pub fn description(&mut self, description: impl Into<String>) -> &mut Self

Short description for this discount for your reference. Not shown to customers.

Source

pub fn enabled_for_checkout(&mut self, enabled: bool) -> &mut Self

Whether this discount can be redeemed by customers at checkout (true) or not (false).

Source

pub fn code(&mut self, code: impl Into<String>) -> &mut Self

Unique code that customers can use to redeem this discount at checkout. Not case-sensitive.

Source

pub fn discount_type(&mut self, discount_type: DiscountType) -> &mut Self

Type of discount. Determines how this discount impacts the checkout or transaction total.

Source

pub fn amount(&mut self, amount: impl Into<String>) -> &mut Self

Amount to discount by. For percentage discounts, must be an amount between 0.01 and 100. For flat and flat_per_seat discounts, amount in the lowest denomination for a currency.

Source

pub fn currency_code(&mut self, currency_code: CurrencyCode) -> &mut Self

Supported three-letter ISO 4217 currency code. Required where discount type is DiscountType::Flat or DiscountType::FlatPerSeat.

Source

pub fn recur(&mut self, recur: bool) -> &mut Self

Whether this discount applies for multiple subscription billing periods (true) or not (false). If omitted, defaults to false.

Source

pub fn maximum_recurring_intervals( &mut self, maximum_recurring_intervals: u64, ) -> &mut Self

Number of subscription billing periods that this discount recurs for. Requires recur. null if this discount recurs forever.

Subscription renewals, midcycle changes, and one-time charges billed to a subscription aren’t considered a redemption. times_used is not incremented in these cases.

Source

pub fn usage_limit(&mut self, usage_limit: u64) -> &mut Self

Maximum number of times this discount can be redeemed. This is an overall limit for this discount, rather than a per-customer limit. null if this discount can be redeemed an unlimited amount of times.

Source

pub fn restrict_to( &mut self, restrict_to: impl IntoIterator<Item = impl AsRef<str>>, ) -> &mut Self

Product or price IDs that this discount is for. When including a product ID, all prices for that product can be discounted. null if this discount applies to all products and prices.

Source

pub fn expires_at(&mut self, expires_at: DateTime<Utc>) -> &mut Self

Datetime when this discount expires. Discount can no longer be redeemed after this date has elapsed. null if this discount can be redeemed forever.

Expired discounts can’t be redeemed against transactions or checkouts, but can be applied when updating subscriptions.

Source

pub fn custom_data(&mut self, custom_data: HashMap<String, String>) -> &mut Self

Set custom data for this discount.

Source

pub async fn send(&self) -> Result<SuccessResponse<Discount>, Error>

Send the request to Paddle and return the response.

Trait Implementations§

Source§

impl<'a> Serialize for DiscountUpdate<'a>

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§

§

impl<'a> Freeze for DiscountUpdate<'a>

§

impl<'a> RefUnwindSafe for DiscountUpdate<'a>

§

impl<'a> Send for DiscountUpdate<'a>

§

impl<'a> Sync for DiscountUpdate<'a>

§

impl<'a> Unpin for DiscountUpdate<'a>

§

impl<'a> UnwindSafe for DiscountUpdate<'a>

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

Source§

type Output = T

Should always be Self
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.
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> ErasedDestructor for T
where T: 'static,