mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 04:04:55 +08:00
refactor(Tokenization): remove ConnectorCallType from tokenization call (#862)
This commit is contained in:
committed by
GitHub
parent
acab7671b0
commit
0d047e08f9
@ -1302,7 +1302,7 @@ pub struct GpayMetaData {
|
||||
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct GpaySessionTokenData {
|
||||
#[serde(rename = "gpay")]
|
||||
#[serde(rename = "google_pay")]
|
||||
pub data: GpayMetaData,
|
||||
}
|
||||
|
||||
|
||||
@ -101,13 +101,8 @@ where
|
||||
)
|
||||
.await?;
|
||||
|
||||
let (payment_data, tokenization_action) = get_connector_tokenization_action(
|
||||
state,
|
||||
&operation,
|
||||
connector.as_ref(),
|
||||
payment_data,
|
||||
&validate_result,
|
||||
)
|
||||
let (payment_data, tokenization_action) =
|
||||
get_connector_tokenization_action(state, &operation, payment_data, &validate_result)
|
||||
.await?;
|
||||
|
||||
let (operation, mut payment_data) = operation
|
||||
@ -584,15 +579,6 @@ where
|
||||
Ok(payment_data)
|
||||
}
|
||||
|
||||
fn get_connector_from_connector_type(
|
||||
connector_details: Option<&api::ConnectorCallType>,
|
||||
) -> Option<String> {
|
||||
connector_details.and_then(|connector_call_type| match connector_call_type {
|
||||
api::ConnectorCallType::Single(data) => Some(data.connector_name.to_string()),
|
||||
_ => None,
|
||||
})
|
||||
}
|
||||
|
||||
fn is_payment_method_tokenization_enabled_for_connector(
|
||||
state: &AppState,
|
||||
connector_name: &str,
|
||||
@ -656,17 +642,16 @@ pub enum TokenizationAction {
|
||||
pub async fn get_connector_tokenization_action<F, Req>(
|
||||
state: &AppState,
|
||||
operation: &BoxedOperation<'_, F, Req>,
|
||||
connector_details: Option<&api::ConnectorCallType>,
|
||||
mut payment_data: PaymentData<F>,
|
||||
validate_result: &operations::ValidateResult<'_>,
|
||||
) -> RouterResult<(PaymentData<F>, TokenizationAction)>
|
||||
where
|
||||
F: Send + Clone,
|
||||
{
|
||||
let payment_data_and_tokenization_action =
|
||||
match get_connector_from_connector_type(connector_details) {
|
||||
Some(connector) => {
|
||||
if is_operation_confirm(&operation) {
|
||||
let connector = payment_data.payment_attempt.connector.to_owned();
|
||||
|
||||
let payment_data_and_tokenization_action = match connector {
|
||||
Some(connector) if is_operation_confirm(&operation) => {
|
||||
let payment_method = &payment_data
|
||||
.payment_attempt
|
||||
.payment_method
|
||||
@ -692,28 +677,18 @@ where
|
||||
TokenizationAction::TokenizeInRouter => {
|
||||
let (_operation, payment_method_data) = operation
|
||||
.to_domain()?
|
||||
.make_pm_data(
|
||||
state,
|
||||
&mut payment_data,
|
||||
validate_result.storage_scheme,
|
||||
)
|
||||
.make_pm_data(state, &mut payment_data, validate_result.storage_scheme)
|
||||
.await?;
|
||||
|
||||
payment_data.payment_method_data = payment_method_data;
|
||||
TokenizationAction::SkipConnectorTokenization
|
||||
}
|
||||
|
||||
TokenizationAction::TokenizeInConnector => {
|
||||
TokenizationAction::TokenizeInConnector
|
||||
}
|
||||
TokenizationAction::TokenizeInConnector => TokenizationAction::TokenizeInConnector,
|
||||
TokenizationAction::TokenizeInConnectorAndRouter => {
|
||||
let (_operation, payment_method_data) = operation
|
||||
.to_domain()?
|
||||
.make_pm_data(
|
||||
state,
|
||||
&mut payment_data,
|
||||
validate_result.storage_scheme,
|
||||
)
|
||||
.make_pm_data(state, &mut payment_data, validate_result.storage_scheme)
|
||||
.await?;
|
||||
|
||||
payment_data.payment_method_data = payment_method_data;
|
||||
@ -728,17 +703,8 @@ where
|
||||
}
|
||||
};
|
||||
(payment_data, connector_tokenization_action)
|
||||
} else {
|
||||
let (_operation, payment_method_data) = operation
|
||||
.to_domain()?
|
||||
.make_pm_data(state, &mut payment_data, validate_result.storage_scheme)
|
||||
.await?;
|
||||
|
||||
payment_data.payment_method_data = payment_method_data;
|
||||
(payment_data, TokenizationAction::SkipConnectorTokenization)
|
||||
}
|
||||
}
|
||||
None => {
|
||||
_ => {
|
||||
let (_operation, payment_method_data) = operation
|
||||
.to_domain()?
|
||||
.make_pm_data(state, &mut payment_data, validate_result.storage_scheme)
|
||||
|
||||
Reference in New Issue
Block a user