use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct PurchaseRequest {
pub product_id: String
}
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ConsumeRequest {
pub purchase_token: String
}
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct PurchaseResponse {
pub success: bool,
}
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Product {
pub description: String,
pub name: String,
pub product_id: String,
pub product_type: String,
pub title: String,
pub price: String,
}
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Purchase {
pub developer_payload: String,
pub order_id: Option<String>,
pub original_json: String,
pub package_name: String,
pub products: Vec<String>,
pub purchase_state: i32,
pub purchase_time: i128,
pub purchase_token: String,
pub quantity: i32,
pub signature: String,
pub is_acknowledged: bool,
pub is_auto_renewing: bool
}
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ProductsResponse {
pub products: Vec<Product>
}
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct PurchasesResponse {
pub purchases: Vec<Purchase>
}