use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WelcomePayload {
pub user_name: String,
pub plan_name: String,
pub dashboard_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PaymentSucceededPayload {
pub user_name: String,
pub plan_name: String,
pub amount_formatted: String,
pub paid_date: String,
pub dashboard_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PaymentFailedPayload {
pub user_name: String,
pub plan_name: String,
pub amount_formatted: String,
pub attempt_date: String,
pub update_payment_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BillingPaymentFailedPayload {
pub user_name: String,
pub invoice_date: String,
pub amount_due_formatted: String,
pub payment_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OverageInvoiceCreatedPayload {
pub user_name: String,
pub period: String,
pub overage_disputes: String,
pub overage_amount_formatted: String,
pub payment_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpcomingInvoicePayload {
pub user_name: String,
pub plan_name: String,
pub amount_formatted: String,
pub invoice_date: String,
pub dashboard_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TrialExpiredPayload {
pub user_name: String,
pub plan_name: String,
pub upgrade_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TrialEndingPayload {
pub user_name: String,
pub plan_name: String,
pub trial_end_date: String,
pub days_remaining: String,
pub upgrade_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TrialStartedPayload {
pub user_name: String,
pub plan_name: String,
pub trial_period_days: String,
pub trial_end_date: String,
pub dashboard_url: String,
pub upgrade_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanDowngradedPayload {
pub user_name: String,
pub old_tier: String,
pub new_tier: String,
pub effective_date: String,
pub plan_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanUpgradedPayload {
pub user_name: String,
pub new_tier: String,
pub effective_date: String,
pub plan_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanRenewedPayload {
pub user_name: String,
pub plan_name: String,
pub amount_formatted: String,
pub next_billing_date: String,
pub dashboard_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanCancelledPayload {
pub user_name: String,
pub plan_name: String,
pub cancel_at: String,
pub plans_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BillingPlanCancelledPayload {
pub user_name: String,
pub cancellation_date: String,
pub dashboard_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanPurchasedPayload {
pub user_name: String,
pub plan_name: String,
pub billing_interval: String,
pub amount_formatted: String,
pub next_billing_date: String,
pub dashboard_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SuccessFeeInvoicePayload {
pub recovered_amount_formatted: String,
pub period: String,
pub success_fee_amount_formatted: String,
pub user_name: String,
pub disputes_won_count: String,
pub payment_url: String,
pub support_url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SuccessFeeAddedPayload {
pub user_name: String,
pub order_number: String,
pub success_fee_recorded_formatted: String,
pub dispute_id: String,
pub billing_url: String,
pub dashboard_url: String,
pub support_url: String,
}