xendit 0.0.2

Xendit Rust SDK
Documentation
use serde::Serialize;
use serde_with::skip_serializing_none;

use crate::payment_method::{
    OverTheCounterParameterUpdate, PaymentStatus, VirtualAccountParameterUpdate,
};

use super::reusability::Reusability;

#[skip_serializing_none]
#[derive(Serialize, Clone)]
pub struct PaymentMethodUpdateBody {
    description: Option<String>,
    reference_id: Option<String>,
    reusability: Option<Reusability>,
    status: Option<PaymentStatus>,
    over_the_counter: Option<OverTheCounterParameterUpdate>,
    virtual_account: Option<VirtualAccountParameterUpdate>,
}
impl PaymentMethodUpdateBody {
    pub fn new() -> Self {
        Self {
            description: None,
            reference_id: None,
            reusability: None,
            status: None,
            over_the_counter: None,
            virtual_account: None,
        }
    }
    pub fn get_description(&self) -> Option<&String> {
        self.description.as_ref()
    }
    pub fn set_description(&mut self, description: String) -> &mut Self {
        self.description = Some(description);
        self
    }
    pub fn get_reference_id(&self) -> Option<&String> {
        self.reference_id.as_ref()
    }
    pub fn set_reference_id(&mut self, reference_id: String) -> &mut Self {
        self.reference_id = Some(reference_id);
        self
    }
    pub fn get_reusability(&self) -> Option<&Reusability> {
        self.reusability.as_ref()
    }
    pub fn set_reusability(&mut self, reusability: Reusability) -> &mut Self {
        self.reusability = Some(reusability);
        self
    }
    pub fn get_status(&self) -> Option<&PaymentStatus> {
        self.status.as_ref()
    }
    pub fn set_status(&mut self, status: PaymentStatus) -> &mut Self {
        self.status = Some(status);
        self
    }
    pub fn get_over_the_counter(&self) -> Option<&OverTheCounterParameterUpdate> {
        self.over_the_counter.as_ref()
    }
    pub fn set_over_the_counter(
        &mut self,
        over_the_counter: OverTheCounterParameterUpdate,
    ) -> &mut Self {
        self.over_the_counter = Some(over_the_counter);
        self
    }
    pub fn get_virtual_account(&self) -> Option<&VirtualAccountParameterUpdate> {
        self.virtual_account.as_ref()
    }
    pub fn set_virtual_account(
        &mut self,
        virtual_account: VirtualAccountParameterUpdate,
    ) -> &mut Self {
        self.virtual_account = Some(virtual_account);
        self
    }
    pub fn build(&self) -> Self {
        self.clone()
    }
}