noah_sdk/models/
channels.rs1use crate::models::common::*;
4use crate::models::payment_methods::PaymentMethodDisplay;
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct ChannelLimits {
10 #[serde(rename = "MinLimit")]
12 pub min_limit: PositiveDecimal,
13 #[serde(rename = "MaxLimit")]
15 pub max_limit: Option<PositiveDecimal>,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20pub struct ChannelCalculated {
21 #[serde(rename = "TotalFee")]
23 pub total_fee: PositiveDecimal,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28pub struct Channel {
29 #[serde(rename = "ID")]
31 pub id: ChannelID,
32 #[serde(rename = "PaymentMethodCategory")]
34 pub payment_method_category: PaymentMethodCategory,
35 #[serde(rename = "PaymentMethodType")]
37 pub payment_method_type: PaymentMethodType,
38 #[serde(rename = "FiatCurrency")]
40 pub fiat_currency: FiatCurrencyCode,
41 #[serde(rename = "Country")]
43 pub country: CountryCode,
44 #[serde(rename = "Calculated")]
46 pub calculated: Option<ChannelCalculated>,
47 #[serde(rename = "Limits")]
49 pub limits: ChannelLimits,
50 #[serde(rename = "Rate")]
52 pub rate: PositiveDecimal,
53 #[serde(rename = "PaymentMethods")]
55 pub payment_methods: Option<Vec<PaymentMethodDisplay>>,
56 #[serde(rename = "ProcessingSeconds")]
58 pub processing_seconds: u64,
59 #[serde(rename = "ProcessingTier")]
61 pub processing_tier: Option<ProcessingTier>,
62 #[serde(rename = "FormSchema")]
64 pub form_schema: Option<serde_json::Value>,
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize)]
69pub struct GetChannelsResponse {
70 #[serde(rename = "Items")]
72 pub items: Vec<Channel>,
73 #[serde(rename = "PageToken")]
75 pub page_token: Option<String>,
76}
77
78#[derive(Debug, Clone, Serialize, Deserialize)]
80pub struct ChannelsCountriesResponse {
81 #[serde(flatten)]
82 pub countries: std::collections::HashMap<CountryCode, Vec<FiatCurrencyCode>>,
83}