xendit 0.0.2

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

#[derive(Serialize, Deserialize, Clone)]
pub struct ChannelProperties {
    success_return_url: Option<String>,
    failure_return_url: Option<String>,
    cancel_return_url: Option<String>,
    redeem_points: Option<String>,
    require_auth: Option<bool>,
    merchant_id_tag: Option<String>,
    cardonfile_type: Option<String>,
    cvv: Option<String>,
}

impl ChannelProperties {
    pub fn new() -> Self {
        ChannelProperties {
            success_return_url: None,
            failure_return_url: None,
            cancel_return_url: None,
            redeem_points: None,
            require_auth: None,
            merchant_id_tag: None,
            cardonfile_type: None,
            cvv: None,
        }
    }
    pub fn set_success_return_url(&mut self, url: String) -> &mut Self {
        self.success_return_url = Some(url);
        self
    }
    pub fn get_success_return_url(&self) -> Option<&String> {
        self.success_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_failure_return_url(&self) -> Option<&String> {
        self.failure_return_url.as_ref()
    }
    pub fn set_cancel_return_url(&mut self, url: String) -> &mut Self {
        self.cancel_return_url = Some(url);
        self
    }
    pub fn get_cancel_return_url(&self) -> Option<&String> {
        self.cancel_return_url.as_ref()
    }
    pub fn set_redeem_points(&mut self, points: String) -> &mut Self {
        self.redeem_points = Some(points);
        self
    }
    pub fn get_redeem_points(&self) -> Option<&String> {
        self.redeem_points.as_ref()
    }
    pub fn set_require_auth(&mut self, require_auth: bool) -> &mut Self {
        self.require_auth = Some(require_auth);
        self
    }
    pub fn get_require_auth(&self) -> Option<bool> {
        self.require_auth
    }
    pub fn set_merchant_id_tag(&mut self, tag: String) -> &mut Self {
        self.merchant_id_tag = Some(tag);
        self
    }
    pub fn get_merchant_id_tag(&self) -> Option<&String> {
        self.merchant_id_tag.as_ref()
    }
    pub fn set_cardonfile_type(&mut self, cardonfile_type: String) -> &mut Self {
        self.cardonfile_type = Some(cardonfile_type);
        self
    }
    pub fn get_cardonfile_type(&self) -> Option<&String> {
        self.cardonfile_type.as_ref()
    }
    pub fn set_cvv(&mut self, cvv: String) -> &mut Self {
        self.cvv = Some(cvv);
        self
    }
    pub fn get_cvv(&self) -> Option<&String> {
        self.cvv.as_ref()
    }
    pub fn build(&self) -> ChannelProperties {
        self.clone()
    }
}