mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-02 21:07:58 +08:00
refactor(connectors): [BOA] PII data masking (#3702)
Co-authored-by: Arjun Karthik <m.arjunkarthik@gmail.com> Co-authored-by: likhinbopanna <131246334+likhinbopanna@users.noreply.github.com>
This commit is contained in:
@ -1079,8 +1079,10 @@ impl ConnectorIntegration<api::Execute, types::RefundsData, types::RefundsRespon
|
|||||||
.response
|
.response
|
||||||
.parse_struct("bankofamerica RefundResponse")
|
.parse_struct("bankofamerica RefundResponse")
|
||||||
.change_context(errors::ConnectorError::ResponseDeserializationFailed)?;
|
.change_context(errors::ConnectorError::ResponseDeserializationFailed)?;
|
||||||
|
|
||||||
event_builder.map(|i| i.set_response_body(&response));
|
event_builder.map(|i| i.set_response_body(&response));
|
||||||
router_env::logger::info!(connector_response=?response);
|
router_env::logger::info!(connector_response=?response);
|
||||||
|
|
||||||
types::RouterData::try_from(types::ResponseRouterData {
|
types::RouterData::try_from(types::ResponseRouterData {
|
||||||
response,
|
response,
|
||||||
data: data.clone(),
|
data: data.clone(),
|
||||||
|
|||||||
@ -2,7 +2,7 @@ use api_models::payments;
|
|||||||
use base64::Engine;
|
use base64::Engine;
|
||||||
use common_utils::{ext_traits::ValueExt, pii};
|
use common_utils::{ext_traits::ValueExt, pii};
|
||||||
use error_stack::{IntoReport, ResultExt};
|
use error_stack::{IntoReport, ResultExt};
|
||||||
use masking::{PeekInterface, Secret};
|
use masking::{ExposeInterface, PeekInterface, Secret};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
@ -113,9 +113,9 @@ pub struct MerchantDefinedInformation {
|
|||||||
pub struct BankOfAmericaConsumerAuthInformation {
|
pub struct BankOfAmericaConsumerAuthInformation {
|
||||||
ucaf_collection_indicator: Option<String>,
|
ucaf_collection_indicator: Option<String>,
|
||||||
cavv: Option<String>,
|
cavv: Option<String>,
|
||||||
ucaf_authentication_data: Option<String>,
|
ucaf_authentication_data: Option<Secret<String>>,
|
||||||
xid: Option<String>,
|
xid: Option<String>,
|
||||||
directory_server_transaction_id: Option<String>,
|
directory_server_transaction_id: Option<Secret<String>>,
|
||||||
specification_version: Option<String>,
|
specification_version: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ pub struct BillTo {
|
|||||||
first_name: Secret<String>,
|
first_name: Secret<String>,
|
||||||
last_name: Secret<String>,
|
last_name: Secret<String>,
|
||||||
address1: Secret<String>,
|
address1: Secret<String>,
|
||||||
locality: String,
|
locality: Secret<String>,
|
||||||
administrative_area: Secret<String>,
|
administrative_area: Secret<String>,
|
||||||
postal_code: Secret<String>,
|
postal_code: Secret<String>,
|
||||||
country: api_enums::CountryAlpha2,
|
country: api_enums::CountryAlpha2,
|
||||||
@ -235,7 +235,7 @@ fn build_bill_to(
|
|||||||
first_name: address.get_first_name()?.to_owned(),
|
first_name: address.get_first_name()?.to_owned(),
|
||||||
last_name: address.get_last_name()?.to_owned(),
|
last_name: address.get_last_name()?.to_owned(),
|
||||||
address1: address.get_line1()?.to_owned(),
|
address1: address.get_line1()?.to_owned(),
|
||||||
locality: address.get_city()?.to_owned(),
|
locality: Secret::new(address.get_city()?.to_owned()),
|
||||||
administrative_area: Secret::from(state),
|
administrative_area: Secret::from(state),
|
||||||
postal_code: address.get_zip()?.to_owned(),
|
postal_code: address.get_zip()?.to_owned(),
|
||||||
country: address.get_country()?.to_owned(),
|
country: address.get_country()?.to_owned(),
|
||||||
@ -435,7 +435,7 @@ pub struct ClientRiskInformation {
|
|||||||
|
|
||||||
#[derive(Debug, Clone, Deserialize, Serialize)]
|
#[derive(Debug, Clone, Deserialize, Serialize)]
|
||||||
pub struct ClientRiskInformationRules {
|
pub struct ClientRiskInformationRules {
|
||||||
name: String,
|
name: Secret<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
@ -889,8 +889,8 @@ impl ForeignFrom<(BankofamericaPaymentStatus, bool)> for enums::AttemptStatus {
|
|||||||
#[derive(Debug, Deserialize, Serialize)]
|
#[derive(Debug, Deserialize, Serialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub struct BankOfAmericaConsumerAuthInformationResponse {
|
pub struct BankOfAmericaConsumerAuthInformationResponse {
|
||||||
access_token: String,
|
access_token: Secret<String>,
|
||||||
device_data_collection_url: String,
|
device_data_collection_url: Secret<String>,
|
||||||
reference_id: String,
|
reference_id: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1066,10 +1066,12 @@ impl<F>
|
|||||||
redirection_data: Some(services::RedirectForm::CybersourceAuthSetup {
|
redirection_data: Some(services::RedirectForm::CybersourceAuthSetup {
|
||||||
access_token: info_response
|
access_token: info_response
|
||||||
.consumer_authentication_information
|
.consumer_authentication_information
|
||||||
.access_token,
|
.access_token
|
||||||
|
.expose(),
|
||||||
ddc_url: info_response
|
ddc_url: info_response
|
||||||
.consumer_authentication_information
|
.consumer_authentication_information
|
||||||
.device_data_collection_url,
|
.device_data_collection_url
|
||||||
|
.expose(),
|
||||||
reference_id: info_response
|
reference_id: info_response
|
||||||
.consumer_authentication_information
|
.consumer_authentication_information
|
||||||
.reference_id,
|
.reference_id,
|
||||||
@ -1322,10 +1324,10 @@ pub enum BankOfAmericaAuthEnrollmentStatus {
|
|||||||
pub struct BankOfAmericaConsumerAuthValidateResponse {
|
pub struct BankOfAmericaConsumerAuthValidateResponse {
|
||||||
ucaf_collection_indicator: Option<String>,
|
ucaf_collection_indicator: Option<String>,
|
||||||
cavv: Option<String>,
|
cavv: Option<String>,
|
||||||
ucaf_authentication_data: Option<String>,
|
ucaf_authentication_data: Option<Secret<String>>,
|
||||||
xid: Option<String>,
|
xid: Option<String>,
|
||||||
specification_version: Option<String>,
|
specification_version: Option<String>,
|
||||||
directory_server_transaction_id: Option<String>,
|
directory_server_transaction_id: Option<Secret<String>>,
|
||||||
indicator: Option<String>,
|
indicator: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1337,7 +1339,7 @@ pub struct BankOfAmericaThreeDSMetadata {
|
|||||||
#[derive(Debug, Deserialize, Serialize)]
|
#[derive(Debug, Deserialize, Serialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub struct BankOfAmericaConsumerAuthInformationEnrollmentResponse {
|
pub struct BankOfAmericaConsumerAuthInformationEnrollmentResponse {
|
||||||
access_token: Option<String>,
|
access_token: Option<Secret<String>>,
|
||||||
step_up_url: Option<String>,
|
step_up_url: Option<String>,
|
||||||
//Added to segregate the three_ds_data in a separate struct
|
//Added to segregate the three_ds_data in a separate struct
|
||||||
#[serde(flatten)]
|
#[serde(flatten)]
|
||||||
@ -1420,7 +1422,8 @@ impl<F>
|
|||||||
let redirection_data = match (
|
let redirection_data = match (
|
||||||
info_response
|
info_response
|
||||||
.consumer_authentication_information
|
.consumer_authentication_information
|
||||||
.access_token,
|
.access_token
|
||||||
|
.map(|access_token| access_token.expose()),
|
||||||
info_response
|
info_response
|
||||||
.consumer_authentication_information
|
.consumer_authentication_information
|
||||||
.step_up_url,
|
.step_up_url,
|
||||||
@ -2023,7 +2026,7 @@ impl
|
|||||||
client_risk_information.rules.map(|rules| {
|
client_risk_information.rules.map(|rules| {
|
||||||
rules
|
rules
|
||||||
.iter()
|
.iter()
|
||||||
.map(|risk_info| format!(" , {}", risk_info.name))
|
.map(|risk_info| format!(" , {}", risk_info.name.clone().expose()))
|
||||||
.collect::<Vec<String>>()
|
.collect::<Vec<String>>()
|
||||||
.join("")
|
.join("")
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user