tauri-plugin-sumup 0.1.1

Tauri plugin for SumUp payment processing integration on iOS and Android
Documentation
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>,
}

// SumUp SDK Models
#[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 {}