xendit 0.0.2

Xendit Rust SDK
Documentation
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Clone)]
pub struct CardChannelProperties {
    skip_three_d_secure: Option<bool>,
    success_return_url: Option<String>,
    failure_return_url: Option<String>,
    cardonfile_type: Option<String>,
    expires_at: Option<DateTime<Utc>>
}
impl CardChannelProperties {
    pub fn new() -> CardChannelProperties {
        CardChannelProperties {
            skip_three_d_secure: None,
            success_return_url: None,
            failure_return_url: None,
            cardonfile_type: None,
            expires_at: None
        }
    }
    pub fn is_skip_three_d_secure(&self) -> bool {
        self.skip_three_d_secure.unwrap_or(false)
    }
    pub fn set_skip_three_d_secure(&mut self, skip: bool) -> &mut Self {
        self.skip_three_d_secure = Some(skip);
        self
    }
    pub fn get_success_return_url(&self) -> Option<&String> {
        self.success_return_url.as_ref()
    }
    pub fn set_success_return_url(&mut self, url: String) -> &mut Self {
        self.success_return_url = Some(url);
        self
    }
    pub fn get_failure_return_url(&self) -> Option<&String> {
        self.failure_return_url.as_ref()
    }
    pub fn set_failure_return_url(&mut self, url: String) -> &mut Self {
        self.failure_return_url = Some(url);
        self
    }
    pub fn get_cardonfile_type(&self) -> Option<&String> {
        self.cardonfile_type.as_ref()
    }
    pub fn set_cardonfile_type(&mut self, cardonfile_type: String) -> &mut Self {
        self.cardonfile_type = Some(cardonfile_type);
        self
    }
    pub fn get_expires_at(&self) -> Option<&DateTime<Utc>> {
        self.expires_at.as_ref()
    }
    pub fn set_expires_at(&mut self, expires_at: DateTime<Utc>) -> &mut Self {
        self.expires_at = Some(expires_at);
        self
    }
    pub fn build(&self) -> Self {
        self.clone()
    }
}