dodopayments_rust 2.2.2

Rust SDK for Dodo Payments API
Documentation
/*
 * public
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.87.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CheckoutSessionFlags {
    /// if customer is allowed to change currency, set it to true  Default is true
    #[serde(rename = "allow_currency_selection", skip_serializing_if = "Option::is_none")]
    pub allow_currency_selection: Option<bool>,
    #[serde(rename = "allow_customer_editing_city", skip_serializing_if = "Option::is_none")]
    pub allow_customer_editing_city: Option<bool>,
    #[serde(rename = "allow_customer_editing_country", skip_serializing_if = "Option::is_none")]
    pub allow_customer_editing_country: Option<bool>,
    #[serde(rename = "allow_customer_editing_email", skip_serializing_if = "Option::is_none")]
    pub allow_customer_editing_email: Option<bool>,
    #[serde(rename = "allow_customer_editing_name", skip_serializing_if = "Option::is_none")]
    pub allow_customer_editing_name: Option<bool>,
    #[serde(rename = "allow_customer_editing_state", skip_serializing_if = "Option::is_none")]
    pub allow_customer_editing_state: Option<bool>,
    #[serde(rename = "allow_customer_editing_street", skip_serializing_if = "Option::is_none")]
    pub allow_customer_editing_street: Option<bool>,
    #[serde(rename = "allow_customer_editing_tax_id", skip_serializing_if = "Option::is_none")]
    pub allow_customer_editing_tax_id: Option<bool>,
    #[serde(rename = "allow_customer_editing_zipcode", skip_serializing_if = "Option::is_none")]
    pub allow_customer_editing_zipcode: Option<bool>,
    /// If the customer is allowed to apply discount code, set it to true.  Default is true
    #[serde(rename = "allow_discount_code", skip_serializing_if = "Option::is_none")]
    pub allow_discount_code: Option<bool>,
    /// If phone number is collected from customer, set it to rue  Default is true
    #[serde(rename = "allow_phone_number_collection", skip_serializing_if = "Option::is_none")]
    pub allow_phone_number_collection: Option<bool>,
    /// If the customer is allowed to add tax id, set it to true  Default is true
    #[serde(rename = "allow_tax_id", skip_serializing_if = "Option::is_none")]
    pub allow_tax_id: Option<bool>,
    /// Set to true if a new customer object should be created. By default email is used to find an existing customer to attach the session to  Default is false
    #[serde(rename = "always_create_new_customer", skip_serializing_if = "Option::is_none")]
    pub always_create_new_customer: Option<bool>,
    /// If true, redirects the customer immediately after payment completion  Default is false
    #[serde(rename = "redirect_immediately", skip_serializing_if = "Option::is_none")]
    pub redirect_immediately: Option<bool>,
}

impl CheckoutSessionFlags {
    pub fn new() -> CheckoutSessionFlags {
        CheckoutSessionFlags {
            allow_currency_selection: None,
            allow_customer_editing_city: None,
            allow_customer_editing_country: None,
            allow_customer_editing_email: None,
            allow_customer_editing_name: None,
            allow_customer_editing_state: None,
            allow_customer_editing_street: None,
            allow_customer_editing_tax_id: None,
            allow_customer_editing_zipcode: None,
            allow_discount_code: None,
            allow_phone_number_collection: None,
            allow_tax_id: None,
            always_create_new_customer: None,
            redirect_immediately: None,
        }
    }
}