Get Discount Detail

Validate a discount code to check if it is valid and can be applied.

Request

use dodopayments_rust::{to_pretty_json, DodoPaymentsClientBuilder};

#[tokio::main]

async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let api_key = std::env::var("DODO_API_KEY")?;

    let client = DodoPaymentsClientBuilder::new()
        .bearer_token(&api_key)
        .enviroment("test_mode")
        .build()?;

    let discount_id = "dis_xxxxxxxxxx";

    let resp = client.discounts().id(discount_id).validate().send().await?;

    println!("{}", to_pretty_json(&resp)?);

    Ok(())
}

Path Parameters

ParameterTypeDescription
discount_idstringDiscount Id

Responses

200 Status

FieldTypeDescription
amountintegerThe discount amount. - If discount_type is percentage, this is in basis points (e.g., 540 => 5.4%). - Otherwise, this is USD cents (e.g., 100 => $1.00).
business_idstringThe business this discount belongs to.
codestringThe discount code (up to 16 chars).
created_atstringTimestamp when the discount is created
discount_idstringThe unique discount ID
expires_atobjectOptional date/time after which discount is expired.
nameobjectName for the Discount
preserve_on_plan_changebooleanWhether this discount should be preserved when a subscription changes plans. Default: false (discount is removed on plan change)
restricted_toarray<string>List of product IDs to which this discount is restricted.
subscription_cyclesobjectNumber of subscription billing cycles this discount is valid for. If not provided, the discount will be applied indefinitely to all recurring payments related to the subscription.
times_usedintegerHow many times this discount has been used.
typeDiscountTypeThe type of discount, e.g. percentage, flat, or flat_per_unit.
usage_limitobjectUsage limit for this discount, if any.
  • If discount_type is percentage, this is in basis points (e.g., 540 => 5.4%). If not provided, the discount will be applied indefinitely to

  • If discount_type is percentage, this is in basis points (e.g., 540 => 5.4%). If not provided, the discount will be applied indefinitely to

  • If discount_type is percentage, this is in basis points (e.g., 540 => 5.4%). If not provided, the discount will be applied indefinitely to

  • If discount_type is percentage, this is in basis points (e.g., 540 => 5.4%). If not provided, the discount will be applied indefinitely to

Fetched discount by ID

  • If discount_type is percentage, this is in basis points (e.g., 540 => 5.4%). If not provided, the discount will be applied indefinitely to

404 Status

Not found / or soft-deleted

500 Status

Something went wrong :(