dodo_payments 0.1.1

This is Unoffical SDK of dodopayments.com
Documentation
use super::super::common::structs::*;
use serde::{Deserialize, Serialize};
use serde_valid::Validate;
use serde_with::skip_serializing_none;
use std::collections::HashMap;

use crate::operations::common::structs::BillingAddress;

#[skip_serializing_none]
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct RequestMetadata(pub HashMap<String, String>);

#[skip_serializing_none]
#[derive(Debug, Serialize, Deserialize, Validate, Clone)]
pub struct CreateSubscriptionConfig {
    pub product_id: String,
    #[validate(minimum = 0)]
    pub quantity: i32,
    pub customer: CustomerRequest,
    pub billing: BillingAddress,
    pub addons: Option<Vec<Addon>>,
    pub allowed_payment_method_types: Option<Vec<PaymentMethodTypes>>,
    pub billing_currency: Option<Currency>,
    pub discount_code: Option<String>,
    pub metadata: Option<RequestMetadata>,
    pub on_demand: Option<OnDemandSubscriptionReq>,
    pub payment_link: Option<bool>,
    pub return_url: Option<String>,
    pub show_saved_payment_methods: Option<bool>,
    pub tax_id: Option<String>,
    #[validate(minimum = 0)]
    pub trial_period_days: Option<i32>,
}