use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct PingRequest {
pub value: Option<String>,
}
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct PingResponse {
pub value: Option<String>,
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct InitSdkRequest {
pub affiliate_key: String,
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct LoginRequest {
pub token: String,
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct CheckoutRequest {
pub total: f64,
pub currency: String,
pub title: Option<String>,
pub receipt_email: Option<String>,
pub receipt_sms: Option<String>,
pub additional_info: Option<std::collections::HashMap<String, String>>,
pub foreign_transaction_id: Option<String>,
pub skip_success_screen: Option<bool>,
pub skip_failed_screen: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct CheckoutResult {
pub transaction_code: Option<String>,
pub card_type: Option<String>,
pub merchant_code: Option<String>,
pub amount: Option<f64>,
pub currency: Option<String>,
pub status: String,
pub payment_type: Option<String>,
pub entry_mode: Option<String>,
pub installments: Option<i32>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MerchantInfo {
pub merchant_code: String,
pub currency_code: String,
}
#[derive(Debug, Clone, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct EmptyResponse {}