use builder_pattern::Builder;
use serde::{Deserialize, Serialize};
use crate::orders::*;
use crate::serde_help::*;
#[derive(Debug, Clone, Serialize, Deserialize, Builder)]
#[serde(rename_all = "camelCase")]
pub struct CreateRecurrentChargeRequest {
#[into]
#[serde(with = "string_as_float")]
pub amount: f64,
pub cart: RenderedCart,
#[default(CurrencyCode::default())]
pub currency_code: CurrencyCode,
#[into]
pub order_id: String,
#[into]
pub parent_order_id: String,
#[default(None)]
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
#[default(None)]
#[serde(skip_serializing_if = "Option::is_none")]
pub purpose: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RecurSubscriptionResponseData {
pub operation_id: String,
}