/*
* Zernio API
*
* API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema). Request ids: responses carry an X-Request-Id header with the id we log the request under. Quote it when reporting a problem. A valid x-request-id you send is reused as that id.
*
* The version of the OpenAPI document: 1.456.0
* Contact: support@zernio.com
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateTopup201Response {
#[serde(rename = "topupId")]
pub topup_id: String,
/// Credited to your balance once paid: exactly this when feeIsExact, else at least this.
#[serde(rename = "amountCents")]
pub amount_cents: i32,
/// Card fee, charged on top of amountCents.
#[serde(rename = "feeCents")]
pub fee_cents: i32,
/// What the card is charged: amountCents plus feeCents.
#[serde(rename = "chargedCents")]
pub charged_cents: i32,
/// True when feeCents is exactly Stripe's fee for this card. False when it is the region's highest rate, so Stripe may take less and the difference is added to your balance.
#[serde(rename = "feeIsExact")]
pub fee_is_exact: bool,
#[serde(rename = "status")]
pub status: Status,
/// PaymentIntent client secret for Stripe.js handleNextAction; set only when status is requires_action
#[serde(rename = "clientSecret", deserialize_with = "Option::deserialize")]
pub client_secret: Option<String>,
}
impl CreateTopup201Response {
pub fn new(
topup_id: String,
amount_cents: i32,
fee_cents: i32,
charged_cents: i32,
fee_is_exact: bool,
status: Status,
client_secret: Option<String>,
) -> CreateTopup201Response {
CreateTopup201Response {
topup_id,
amount_cents,
fee_cents,
charged_cents,
fee_is_exact,
status,
client_secret,
}
}
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "succeeded")]
Succeeded,
#[serde(rename = "processing")]
Processing,
#[serde(rename = "requires_action")]
RequiresAction,
}
impl Default for Status {
fn default() -> Status {
Self::Succeeded
}
}