plaid 9.0.1

Plaid client, generated from the OpenAPI spec.
Documentation
use serde::{Serialize, Deserialize};
use super::{
    IdentityVerificationStepStatus, RiskCheckBehavior, RiskCheckDevice, RiskCheckEmail,
    RiskCheckIdentityAbuseSignals, RiskCheckPhone,
};
///Additional information for the `risk_check` step.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RiskCheckDetails {
    ///Result summary object specifying values for `behavior` attributes of risk check, when available.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub behavior: Option<RiskCheckBehavior>,
    ///Array of result summary objects specifying values for `device` attributes of risk check.
    #[serde(default, skip_serializing_if = "Vec::is_empty")]
    pub devices: Vec<RiskCheckDevice>,
    ///Result summary object specifying values for `email` attributes of risk check.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub email: Option<RiskCheckEmail>,
    ///Result summary object capturing abuse signals related to `identity abuse`, e.g. stolen and synthetic identity fraud. These attributes are only available for US identities and some signals may not be available depending on what information was collected.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub identity_abuse_signals: Option<RiskCheckIdentityAbuseSignals>,
    ///Result summary object specifying values for `phone` attributes of risk check.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub phone: Option<RiskCheckPhone>,
    ///The status of a step in the Identity Verification process.
    pub status: IdentityVerificationStepStatus,
}
impl std::fmt::Display for RiskCheckDetails {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
        write!(f, "{}", serde_json::to_string(self).unwrap())
    }
}