use common_utils::pii; use time::PrimitiveDateTime; pub mod payment_attempt; pub mod payment_intent; use common_enums as storage_enums; use self::payment_attempt::PaymentAttempt; use crate::RemoteStorageObject; #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize)] pub struct PaymentIntent { pub id: i32, pub payment_id: String, pub merchant_id: String, pub status: storage_enums::IntentStatus, pub amount: i64, pub currency: Option, pub amount_captured: Option, pub customer_id: Option, pub description: Option, pub return_url: Option, pub metadata: Option, pub connector_id: Option, pub shipping_address_id: Option, pub billing_address_id: Option, pub statement_descriptor_name: Option, pub statement_descriptor_suffix: Option, #[serde(with = "common_utils::custom_serde::iso8601")] pub created_at: PrimitiveDateTime, #[serde(with = "common_utils::custom_serde::iso8601")] pub modified_at: PrimitiveDateTime, #[serde(with = "common_utils::custom_serde::iso8601::option")] pub last_synced: Option, pub setup_future_usage: Option, pub off_session: Option, pub client_secret: Option, pub active_attempt: RemoteStorageObject, pub business_country: Option, pub business_label: Option, pub order_details: Option>, pub allowed_payment_method_types: Option, pub connector_metadata: Option, pub feature_metadata: Option, pub attempt_count: i16, pub profile_id: Option, pub payment_link_id: Option, // Denotes the action(approve or reject) taken by merchant in case of manual review. // Manual review can occur when the transaction is marked as risky by the frm_processor, payment processor or when there is underpayment/over payment incase of crypto payment pub merchant_decision: Option, pub payment_confirm_source: Option, pub updated_by: String, pub surcharge_applicable: Option, pub request_incremental_authorization: Option, pub incremental_authorization_allowed: Option, pub authorization_count: Option, pub fingerprint_id: Option, #[serde(with = "common_utils::custom_serde::iso8601::option")] pub session_expiry: Option, pub request_external_three_ds_authentication: Option, }