feat(FRM): add missing fields in Signifyd payment request (#4554)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
chikke srujan
2024-05-07 11:28:04 +05:30
committed by GitHub
parent 76b76eccc6
commit df2c2ca22d
12 changed files with 168 additions and 17 deletions

View File

@ -86,11 +86,17 @@ impl ConstructFlowSpecificData<frm_api::Checkout, FraudCheckCheckoutData, FraudC
})
.transpose()
.unwrap_or_default(),
email: customer.clone().and_then(|customer_data| {
customer_data
.email
.and_then(|email| Email::try_from(email.into_inner().expose()).ok())
}),
email: customer
.clone()
.and_then(|customer_data| {
customer_data
.email
.map(|email| Email::try_from(email.into_inner().expose()))
})
.transpose()
.change_context(errors::ApiErrorResponse::InvalidDataValue {
field_name: "customer.customer_data.email",
})?,
gateway: self.payment_attempt.connector.clone(),
}, // self.order_details
response: Ok(FraudCheckResponseData::TransactionResponse {

View File

@ -1,6 +1,7 @@
use async_trait::async_trait;
use common_utils::ext_traits::ValueExt;
use common_utils::{ext_traits::ValueExt, pii::Email};
use error_stack::ResultExt;
use masking::ExposeInterface;
use crate::{
core::{
@ -65,6 +66,18 @@ impl ConstructFlowSpecificData<frm_api::Sale, FraudCheckSaleData, FraudCheckResp
request: FraudCheckSaleData {
amount: self.payment_attempt.amount,
order_details: self.order_details.clone(),
currency: self.payment_attempt.currency,
email: customer
.clone()
.and_then(|customer_data| {
customer_data
.email
.map(|email| Email::try_from(email.into_inner().expose()))
})
.transpose()
.change_context(errors::ApiErrorResponse::InvalidDataValue {
field_name: "customer.customer_data.email",
})?,
},
response: Ok(FraudCheckResponseData::TransactionResponse {
resource_id: ResponseId::ConnectorTransactionId("".to_string()),
@ -92,7 +105,7 @@ impl ConstructFlowSpecificData<frm_api::Sale, FraudCheckSaleData, FraudCheckResp
external_latency: None,
connector_api_version: None,
apple_pay_flow: None,
frm_metadata: None,
frm_metadata: self.frm_metadata.clone(),
refund_id: None,
dispute_id: None,
connector_response: None,

View File

@ -109,7 +109,7 @@ impl
connector_api_version: None,
payment_method_status: None,
apple_pay_flow: None,
frm_metadata: None,
frm_metadata: self.frm_metadata.clone(),
refund_id: None,
dispute_id: None,
connector_response: None,

View File

@ -173,6 +173,8 @@ impl<F: Send + Clone> Domain<F> for FraudCheckPost {
request: FrmRequest::Sale(FraudCheckSaleData {
amount: router_data.request.amount,
order_details: router_data.request.order_details,
currency: router_data.request.currency,
email: router_data.request.email,
}),
response: FrmResponse::Sale(router_data.response),
}))
@ -318,6 +320,8 @@ impl<F: Send + Clone> Domain<F> for FraudCheckPost {
request: FrmRequest::Sale(FraudCheckSaleData {
amount: router_data.request.amount,
order_details: router_data.request.order_details,
currency: router_data.request.currency,
email: router_data.request.email,
}),
response: FrmResponse::Sale(router_data.response),
})