1use crate::types::MessageVersion;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
9#[serde(rename_all = "camelCase")]
10pub struct PreparationRequest {
11 pub message_type: MessageType,
12 pub message_version: MessageVersion,
13 #[serde(rename = "threeDSServerTransID")]
14 pub three_ds_server_trans_id: String,
15 #[serde(rename = "dsTransID", skip_serializing_if = "Option::is_none")]
16 pub ds_trans_id: Option<String>,
17 #[serde(skip_serializing_if = "Option::is_none")]
19 pub serial_num: Option<String>,
20 #[serde(skip_serializing_if = "Option::is_none")]
21 pub three_ds_server_ref_number: Option<String>,
22}
23
24#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
25pub enum MessageType {
26 PReq,
27}