From f3d3abf06030ecd318eaa263a0ddde3c98a95f60 Mon Sep 17 00:00:00 2001 From: Sangamesh Kulkarni <59434228+Sangamesh26@users.noreply.github.com> Date: Tue, 20 Dec 2022 13:36:59 +0530 Subject: [PATCH] refactor(connectors): remove specific imports from connectors (#161) --- crates/router/src/connector/aci.rs | 46 ++++++------ crates/router/src/connector/adyen.rs | 46 ++++++------ .../src/connector/adyen/transformers.rs | 8 +- .../router/src/connector/authorizedotnet.rs | 47 ++++++------ crates/router/src/connector/braintree.rs | 67 ++++++++--------- crates/router/src/connector/checkout.rs | 55 +++++++------- .../src/connector/checkout/transformers.rs | 19 ++--- crates/router/src/connector/klarna.rs | 15 ++-- crates/router/src/connector/stripe.rs | 75 +++++++++---------- 9 files changed, 185 insertions(+), 193 deletions(-) diff --git a/crates/router/src/connector/aci.rs b/crates/router/src/connector/aci.rs index b3fb8b4589..1813bd7a1a 100644 --- a/crates/router/src/connector/aci.rs +++ b/crates/router/src/connector/aci.rs @@ -1,4 +1,3 @@ -#![allow(dead_code)] mod result_codes; mod transformers; use std::fmt::Debug; @@ -8,14 +7,13 @@ use error_stack::{IntoReport, ResultExt}; use transformers as aci; use crate::{ - configs::settings::Connectors, + configs::settings, core::errors::{self, CustomResult}, headers, services::{self, logger}, types::{ self, api::{self, ConnectorCommon}, - ErrorResponse, Response, }, utils::{self, BytesExt}, }; @@ -32,7 +30,7 @@ impl api::ConnectorCommon for Aci { "application/x-www-form-urlencoded" } - fn base_url(&self, connectors: Connectors) -> String { + fn base_url(&self, connectors: settings::Connectors) -> String { connectors.aci.base_url } @@ -114,7 +112,7 @@ impl fn get_url( &self, req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let auth = aci::AciAuthType::try_from(&req.connector_auth_type)?; Ok(format!( @@ -133,7 +131,7 @@ impl fn build_request( &self, req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -148,7 +146,7 @@ impl fn handle_response( &self, data: &types::PaymentsSyncRouterData, - res: Response, + res: types::Response, ) -> CustomResult where types::PaymentsSyncData: Clone, @@ -169,11 +167,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: aci::AciPaymentsResponse = res .parse_struct("AciPaymentsResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response.result.code, message: response.result.description, reason: response.result.parameter_errors.and_then(|errors| { @@ -218,7 +216,7 @@ impl fn get_url( &self, _req: &types::PaymentsAuthorizeRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!("{}{}", self.base_url(connectors), "v1/payments")) } @@ -241,7 +239,7 @@ impl types::PaymentsAuthorizeData, types::PaymentsResponseData, >, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -259,7 +257,7 @@ impl fn handle_response( &self, data: &types::PaymentsAuthorizeRouterData, - res: Response, + res: types::Response, ) -> CustomResult { let response: aci::AciPaymentsResponse = res.response @@ -276,11 +274,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: aci::AciPaymentsResponse = res .parse_struct("AciPaymentsResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response.result.code, message: response.result.description, reason: response.result.parameter_errors.and_then(|errors| { @@ -325,7 +323,7 @@ impl fn get_url( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let id = &req.request.connector_transaction_id; Ok(format!("{}v1/payments/{}", self.base_url(connectors), id)) @@ -342,7 +340,7 @@ impl fn build_request( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -358,7 +356,7 @@ impl fn handle_response( &self, data: &types::PaymentsCancelRouterData, - res: Response, + res: types::Response, ) -> CustomResult { let response: aci::AciPaymentsResponse = res.response @@ -375,11 +373,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: aci::AciPaymentsResponse = res .parse_struct("AciPaymentsResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response.result.code, message: response.result.description, reason: response.result.parameter_errors.and_then(|errors| { @@ -424,7 +422,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let connector_payment_id = req.request.connector_transaction_id.clone(); Ok(format!( @@ -446,7 +444,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -461,7 +459,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult, errors::ConnectorError> { logger::debug!(response=?res); @@ -479,11 +477,11 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { let response: aci::AciRefundResponse = res .parse_struct("AciRefundResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response.result.code, message: response.result.description, reason: response.result.parameter_errors.and_then(|errors| { diff --git a/crates/router/src/connector/adyen.rs b/crates/router/src/connector/adyen.rs index 8a30ee3e2e..67e2d6d315 100644 --- a/crates/router/src/connector/adyen.rs +++ b/crates/router/src/connector/adyen.rs @@ -1,4 +1,3 @@ -#![allow(dead_code)] mod transformers; use std::fmt::Debug; @@ -9,7 +8,7 @@ use router_env::{tracing, tracing::instrument}; use self::transformers as adyen; use crate::{ - configs::settings::Connectors, + configs::settings, core::{ errors::{self, CustomResult}, payments, @@ -19,7 +18,6 @@ use crate::{ types::{ self, api::{self, ConnectorCommon}, - ErrorResponse, Response, }, utils::{self, crypto, ByteSliceExt, BytesExt, OptionExt}, }; @@ -43,7 +41,7 @@ impl api::ConnectorCommon for Adyen { } //FIXME with enum - fn base_url(&self, connectors: Connectors) -> String { + fn base_url(&self, connectors: settings::Connectors) -> String { connectors.adyen.base_url } } @@ -156,7 +154,7 @@ impl fn get_url( &self, _req: &types::RouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!( "{}{}", @@ -168,7 +166,7 @@ impl fn build_request( &self, req: &types::RouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -184,7 +182,7 @@ impl fn handle_response( &self, data: &types::RouterData, - res: Response, + res: types::Response, ) -> CustomResult { logger::debug!(payment_sync_response=?res); let response: adyen::AdyenPaymentResponse = res @@ -203,11 +201,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: adyen::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response.error_code, message: response.message, reason: None, @@ -248,7 +246,7 @@ impl fn get_url( &self, _req: &types::PaymentsAuthorizeRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!("{}{}", self.base_url(connectors), "v68/payments")) } @@ -269,7 +267,7 @@ impl types::PaymentsAuthorizeData, types::PaymentsResponseData, >, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -287,7 +285,7 @@ impl fn handle_response( &self, data: &types::PaymentsAuthorizeRouterData, - res: Response, + res: types::Response, ) -> CustomResult { let response: adyen::AdyenPaymentResponse = res .response @@ -305,11 +303,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: adyen::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response.error_code, message: response.message, reason: None, @@ -343,7 +341,7 @@ impl fn get_url( &self, _req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!("{}{}", self.base_url(connectors), "v68/cancel")) } @@ -359,7 +357,7 @@ impl fn build_request( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -376,7 +374,7 @@ impl fn handle_response( &self, data: &types::PaymentsCancelRouterData, - res: Response, + res: types::Response, ) -> CustomResult { let response: adyen::AdyenCancelResponse = res .response @@ -393,12 +391,12 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: adyen::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; logger::info!(response=?res); - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response.error_code, message: response.message, reason: None, @@ -432,7 +430,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let connector_payment_id = req.request.connector_transaction_id.clone(); Ok(format!( @@ -454,7 +452,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -470,7 +468,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult, errors::ConnectorError> { let response: adyen::AdyenRefundResponse = res .response @@ -488,12 +486,12 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { let response: adyen::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; logger::info!(response=?res); - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response.error_code, message: response.message, reason: None, diff --git a/crates/router/src/connector/adyen/transformers.rs b/crates/router/src/connector/adyen/transformers.rs index 63df99ae8b..84caa7524e 100644 --- a/crates/router/src/connector/adyen/transformers.rs +++ b/crates/router/src/connector/adyen/transformers.rs @@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize}; use crate::{ consts, core::errors, - pii::{PeekInterface, Secret}, + pii::{self, PeekInterface}, services, types::{ self, @@ -153,9 +153,9 @@ pub enum AdyenPaymentMethod { pub struct AdyenCard { #[serde(rename = "type")] payment_type: String, - number: Option>, - expiry_month: Option>, - expiry_year: Option>, + number: Option>, + expiry_month: Option>, + expiry_year: Option>, cvc: Option, } diff --git a/crates/router/src/connector/authorizedotnet.rs b/crates/router/src/connector/authorizedotnet.rs index b5b7bc0b38..ef83202c83 100644 --- a/crates/router/src/connector/authorizedotnet.rs +++ b/crates/router/src/connector/authorizedotnet.rs @@ -8,7 +8,7 @@ use error_stack::{IntoReport, ResultExt}; use transformers as authorizedotnet; use crate::{ - configs::settings::Connectors, + configs::settings, consts, core::errors::{self, CustomResult}, headers, @@ -16,7 +16,6 @@ use crate::{ types::{ self, api::{self, ConnectorCommon}, - ErrorResponse, Response, }, utils::{self, BytesExt}, }; @@ -33,7 +32,7 @@ impl api::ConnectorCommon for Authorizedotnet { "application/json" } - fn base_url(&self, connectors: Connectors) -> String { + fn base_url(&self, connectors: settings::Connectors) -> String { connectors.authorizedotnet.base_url } } @@ -102,7 +101,7 @@ impl fn get_url( &self, _req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(self.base_url(connectors)) } @@ -122,7 +121,7 @@ impl fn build_request( &self, req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { let request = services::RequestBuilder::new() .method(services::Method::Post) @@ -136,7 +135,7 @@ impl fn handle_response( &self, data: &types::PaymentsSyncRouterData, - res: Response, + res: types::Response, ) -> CustomResult { use bytes::Buf; @@ -161,7 +160,7 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { get_error_response(res) } } @@ -194,7 +193,7 @@ impl fn get_url( &self, _req: &types::PaymentsAuthorizeRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(self.base_url(connectors)) } @@ -217,7 +216,7 @@ impl types::PaymentsAuthorizeData, types::PaymentsResponseData, >, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -235,7 +234,7 @@ impl fn handle_response( &self, data: &types::PaymentsAuthorizeRouterData, - res: Response, + res: types::Response, ) -> CustomResult { use bytes::Buf; @@ -261,7 +260,7 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { get_error_response(res) } } @@ -293,7 +292,7 @@ impl fn get_url( &self, _req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(self.base_url(connectors)) } @@ -310,7 +309,7 @@ impl fn build_request( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -326,7 +325,7 @@ impl fn handle_response( &self, data: &types::PaymentsCancelRouterData, - res: Response, + res: types::Response, ) -> CustomResult { use bytes::Buf; @@ -352,7 +351,7 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { get_error_response(res) } } @@ -385,7 +384,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(self.base_url(connectors)) } @@ -404,7 +403,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { let request = services::RequestBuilder::new() .method(services::Method::Post) @@ -418,7 +417,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult, errors::ConnectorError> { use bytes::Buf; logger::debug!(response=?res); @@ -445,7 +444,7 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { get_error_response(res) } } @@ -474,7 +473,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(self.base_url(connectors)) } @@ -494,7 +493,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { let request = services::RequestBuilder::new() .method(services::Method::Post) @@ -508,7 +507,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult, errors::ConnectorError> { use bytes::Buf; @@ -533,7 +532,7 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { get_error_response(res) } } @@ -565,7 +564,7 @@ impl api::IncomingWebhook for Authorizedotnet { impl services::ConnectorRedirectResponse for Authorizedotnet {} #[inline] -fn get_error_response(bytes: Bytes) -> CustomResult { +fn get_error_response(bytes: Bytes) -> CustomResult { let response: authorizedotnet::AuthorizedotnetPaymentsResponse = bytes .parse_struct("AuthorizedotnetPaymentsResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; diff --git a/crates/router/src/connector/braintree.rs b/crates/router/src/connector/braintree.rs index 8c8202521a..56d11ced20 100644 --- a/crates/router/src/connector/braintree.rs +++ b/crates/router/src/connector/braintree.rs @@ -5,9 +5,9 @@ use std::fmt::Debug; use bytes::Bytes; use error_stack::ResultExt; -use self::{braintree::BraintreeAuthType, transformers as braintree}; +use self::transformers as braintree; use crate::{ - configs::settings::Connectors, + configs::settings, consts, core::{ errors::{self, CustomResult}, @@ -17,7 +17,6 @@ use crate::{ types::{ self, api::{self, ConnectorCommon}, - ErrorResponse, Response, }, utils::{self, BytesExt}, }; @@ -30,7 +29,7 @@ impl api::ConnectorCommon for Braintree { "braintree" } - fn base_url(&self, connectors: Connectors) -> String { + fn base_url(&self, connectors: settings::Connectors) -> String { connectors.braintree.base_url } @@ -86,7 +85,7 @@ impl fn get_url( &self, req: &types::PaymentsSessionRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let auth_type = braintree::BraintreeAuthType::try_from(&req.connector_auth_type) .change_context(errors::ConnectorError::FailedToObtainAuthType)?; @@ -100,7 +99,7 @@ impl fn build_request( &self, req: &types::PaymentsSessionRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { let request = Some( services::RequestBuilder::new() @@ -118,12 +117,12 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: braintree::ErrorResponse = res .parse_struct("Error Response") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: consts::NO_ERROR_CODE.to_string(), message: response.api_error_response.message, reason: None, @@ -145,7 +144,7 @@ impl fn handle_response( &self, data: &types::PaymentsSessionRouterData, - res: Response, + res: types::Response, ) -> CustomResult { logger::debug!(payment_session_response_braintree=?res); let response: braintree::BraintreeSessionTokenResponse = res @@ -214,7 +213,7 @@ impl fn get_url( &self, req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let auth_type = braintree::BraintreeAuthType::try_from(&req.connector_auth_type) .change_context(errors::ConnectorError::FailedToObtainAuthType)?; @@ -234,7 +233,7 @@ impl fn build_request( &self, req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -249,12 +248,12 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: braintree::ErrorResponse = res .parse_struct("Braintree Error Response") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: consts::NO_ERROR_CODE.to_string(), message: response.api_error_response.message, reason: None, @@ -271,7 +270,7 @@ impl fn handle_response( &self, data: &types::PaymentsSyncRouterData, - res: Response, + res: types::Response, ) -> CustomResult { logger::debug!(payment_sync_response=?res); let response: braintree::BraintreePaymentsResponse = res @@ -315,9 +314,9 @@ impl fn get_url( &self, req: &types::PaymentsAuthorizeRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { - let auth_type = BraintreeAuthType::try_from(&req.connector_auth_type) + let auth_type = braintree::BraintreeAuthType::try_from(&req.connector_auth_type) .change_context(errors::ConnectorError::FailedToObtainAuthType)?; Ok(format!( @@ -330,7 +329,7 @@ impl fn build_request( &self, req: &types::PaymentsAuthorizeRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -357,7 +356,7 @@ impl fn handle_response( &self, data: &types::PaymentsAuthorizeRouterData, - res: Response, + res: types::Response, ) -> CustomResult { let response: braintree::BraintreePaymentsResponse = res .response @@ -376,13 +375,13 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { logger::debug!(braintreepayments_create_response=?res); let response: braintree::ErrorResponse = res .parse_struct("Braintree ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: consts::NO_ERROR_CODE.to_string(), message: response.api_error_response.message, reason: None, @@ -422,7 +421,7 @@ impl fn get_url( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let auth_type = braintree::BraintreeAuthType::try_from(&req.connector_auth_type) .change_context(errors::ConnectorError::FailedToObtainAuthType)?; @@ -437,7 +436,7 @@ impl fn build_request( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -452,12 +451,12 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: braintree::ErrorResponse = res .parse_struct("Braintree ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: consts::NO_ERROR_CODE.to_string(), message: response.api_error_response.message, reason: None, @@ -474,7 +473,7 @@ impl fn handle_response( &self, data: &types::PaymentsCancelRouterData, - res: Response, + res: types::Response, ) -> CustomResult { logger::debug!(payment_sync_response=?res); let response: braintree::BraintreePaymentsResponse = res @@ -522,9 +521,9 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { - let auth_type = BraintreeAuthType::try_from(&req.connector_auth_type) + let auth_type = braintree::BraintreeAuthType::try_from(&req.connector_auth_type) .change_context(errors::ConnectorError::FailedToObtainAuthType)?; let connector_payment_id = req.request.connector_transaction_id.clone(); Ok(format!( @@ -548,7 +547,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { let request = services::RequestBuilder::new() .method(services::Method::Post) @@ -562,7 +561,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult, errors::ConnectorError> { logger::debug!(target: "router::connector::braintree", response=?res); let response: braintree::RefundResponse = res @@ -581,7 +580,7 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { Err(errors::ConnectorError::NotImplemented("braintree".to_string()).into()) } } @@ -604,7 +603,7 @@ impl services::ConnectorIntegration, - _connectors: Connectors, + _connectors: settings::Connectors, ) -> CustomResult { Err(errors::ConnectorError::NotImplemented("braintree".to_string()).into()) } @@ -612,7 +611,7 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { Err(errors::ConnectorError::NotImplemented("braintree".to_string()).into()) } @@ -626,7 +625,7 @@ impl services::ConnectorIntegration, - _connectors: Connectors, + _connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(None) } @@ -634,7 +633,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult< types::RouterData, errors::ConnectorError, diff --git a/crates/router/src/connector/checkout.rs b/crates/router/src/connector/checkout.rs index 1e0cbd6df5..99c4739456 100644 --- a/crates/router/src/connector/checkout.rs +++ b/crates/router/src/connector/checkout.rs @@ -9,7 +9,7 @@ use error_stack::{IntoReport, ResultExt}; use self::transformers as checkout; use crate::{ - configs::settings::Connectors, + configs::settings, consts, core::{ errors::{self, CustomResult}, @@ -19,7 +19,6 @@ use crate::{ types::{ self, api::{self, ConnectorCommon}, - ErrorResponse, Response, }, utils::{self, BytesExt, OptionExt}, }; @@ -46,7 +45,7 @@ impl api::ConnectorCommon for Checkout { Ok(vec![(headers::AUTHORIZATION.to_string(), auth.api_key)]) } - fn base_url(&self, connectors: Connectors) -> String { + fn base_url(&self, connectors: settings::Connectors) -> String { connectors.checkout.base_url } } @@ -113,7 +112,7 @@ impl fn get_url( &self, req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!( "{}{}{}", @@ -129,7 +128,7 @@ impl fn build_request( &self, req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -145,7 +144,7 @@ impl fn handle_response( &self, data: &types::PaymentsSyncRouterData, - res: Response, + res: types::Response, ) -> CustomResult where api::PSync: Clone, @@ -169,11 +168,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: checkout::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error_codes .unwrap_or_else(|| vec![consts::NO_ERROR_CODE.to_string()]) @@ -212,7 +211,7 @@ impl fn get_url( &self, _req: &types::PaymentsAuthorizeRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!("{}{}", self.base_url(connectors), "payments")) } @@ -232,7 +231,7 @@ impl types::PaymentsAuthorizeData, types::PaymentsResponseData, >, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -250,7 +249,7 @@ impl fn handle_response( &self, data: &types::PaymentsAuthorizeRouterData, - res: Response, + res: types::Response, ) -> CustomResult { //TODO: [ORCA-618] If 3ds fails, the response should be a redirect response, to redirect client to success/failed page let response: checkout::PaymentsResponse = res @@ -269,11 +268,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: checkout::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error_codes .unwrap_or_else(|| vec![consts::NO_ERROR_CODE.to_string()]) @@ -314,7 +313,7 @@ impl fn get_url( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!( "{}payments/{}/voids", @@ -334,7 +333,7 @@ impl fn build_request( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -349,7 +348,7 @@ impl fn handle_response( &self, data: &types::PaymentsCancelRouterData, - res: Response, + res: types::Response, ) -> CustomResult { let mut response: checkout::PaymentVoidResponse = res .response @@ -368,11 +367,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: checkout::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error_codes .unwrap_or_else(|| vec![consts::NO_ERROR_CODE.to_string()]) @@ -416,7 +415,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let id = req.request.connector_transaction_id.clone(); Ok(format!( @@ -438,7 +437,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { let request = services::RequestBuilder::new() .method(services::Method::Post) @@ -452,7 +451,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult, errors::ConnectorError> { logger::debug!(response=?res); let response: checkout::RefundResponse = res @@ -475,11 +474,11 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { let response: checkout::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error_codes .unwrap_or_else(|| vec![consts::NO_ERROR_CODE.to_string()]) @@ -516,7 +515,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let id = req.request.connector_transaction_id.clone(); Ok(format!( @@ -529,7 +528,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -544,7 +543,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult, errors::ConnectorError> { let refund_action_id = data .response @@ -575,11 +574,11 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { let response: checkout::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error_codes .unwrap_or_else(|| vec![consts::NO_ERROR_CODE.to_string()]) diff --git a/crates/router/src/connector/checkout/transformers.rs b/crates/router/src/connector/checkout/transformers.rs index 75cc03d1b1..d9136e6d24 100644 --- a/crates/router/src/connector/checkout/transformers.rs +++ b/crates/router/src/connector/checkout/transformers.rs @@ -4,12 +4,11 @@ use url::Url; use crate::{ core::errors, - pii::{self, Secret}, - services, + pii, services, types::{ self, api, storage::enums, - transformers::{Foreign, ForeignFrom}, + transformers::{self, ForeignFrom}, }, }; @@ -17,9 +16,9 @@ use crate::{ pub struct CardSource { #[serde(rename = "type")] pub source_type: Option, - pub number: Option>, - pub expiry_month: Option>, - pub expiry_year: Option>, + pub number: Option>, + pub expiry_month: Option>, + pub expiry_year: Option>, } #[derive(Debug, Serialize)] @@ -142,10 +141,12 @@ pub enum CheckoutPaymentStatus { Captured, } -impl From)>> - for Foreign +impl From)>> + for transformers::Foreign { - fn from(item: Foreign<(CheckoutPaymentStatus, Option)>) -> Self { + fn from( + item: transformers::Foreign<(CheckoutPaymentStatus, Option)>, + ) -> Self { let item = item.0; let status = item.0; let capture_method = item.1; diff --git a/crates/router/src/connector/klarna.rs b/crates/router/src/connector/klarna.rs index 7b62997740..987cdfdbff 100644 --- a/crates/router/src/connector/klarna.rs +++ b/crates/router/src/connector/klarna.rs @@ -7,14 +7,13 @@ use error_stack::{IntoReport, ResultExt}; use transformers as klarna; use crate::{ - configs::settings::Connectors, + configs::settings, core::errors::{self, CustomResult}, headers, services::{self, logger}, types::{ self, api::{self, ConnectorCommon}, - ErrorResponse, Response, }, utils::{self, BytesExt}, }; @@ -31,7 +30,7 @@ impl api::ConnectorCommon for Klarna { "application/x-www-form-urlencoded" } - fn base_url(&self, connectors: Connectors) -> String { + fn base_url(&self, connectors: settings::Connectors) -> String { connectors.klarna.base_url } @@ -84,7 +83,7 @@ impl fn get_url( &self, _req: &types::PaymentsSessionRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!( "{}{}", @@ -107,7 +106,7 @@ impl fn build_request( &self, req: &types::PaymentsSessionRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -123,7 +122,7 @@ impl fn handle_response( &self, data: &types::PaymentsSessionRouterData, - res: Response, + res: types::Response, ) -> CustomResult { let response: klarna::KlarnaSessionResponse = res .response @@ -140,11 +139,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: klarna::KlarnaErrorResponse = res .parse_struct("KlarnaErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response.error_code, message: response.error_messages.join(" & "), reason: None, diff --git a/crates/router/src/connector/stripe.rs b/crates/router/src/connector/stripe.rs index 4722d7cdb1..977dddfd46 100644 --- a/crates/router/src/connector/stripe.rs +++ b/crates/router/src/connector/stripe.rs @@ -8,7 +8,7 @@ use router_env::{tracing, tracing::instrument}; use self::transformers as stripe; use crate::{ - configs::settings::Connectors, + configs::settings, consts, core::errors::{self, CustomResult}, db::StorageInterface, @@ -16,7 +16,6 @@ use crate::{ types::{ self, api::{self, ConnectorCommon}, - ErrorResponse, Response, }, utils::{self, crypto, ByteSliceExt, BytesExt, OptionExt}, }; @@ -33,7 +32,7 @@ impl api::ConnectorCommon for Stripe { "application/x-www-form-urlencoded" } - fn base_url(&self, connectors: Connectors) -> String { + fn base_url(&self, connectors: settings::Connectors) -> String { // &self.base_url connectors.stripe.base_url } @@ -100,7 +99,7 @@ impl &self, req: &types::PaymentsCaptureRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let id = req.request.connector_transaction_id.as_str(); @@ -125,7 +124,7 @@ impl &self, req: &types::PaymentsCaptureRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -140,7 +139,7 @@ impl fn handle_response( &self, data: &types::PaymentsCaptureRouterData, - res: Response, + res: types::Response, ) -> CustomResult where types::PaymentsCaptureData: Clone, @@ -161,12 +160,12 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: stripe::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error .code @@ -207,7 +206,7 @@ impl fn get_url( &self, req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let id = req.request.connector_transaction_id.clone(); Ok(format!( @@ -222,7 +221,7 @@ impl fn build_request( &self, req: &types::PaymentsSyncRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -237,7 +236,7 @@ impl fn handle_response( &self, data: &types::PaymentsSyncRouterData, - res: Response, + res: types::Response, ) -> CustomResult where types::PaymentsAuthorizeData: Clone, @@ -259,12 +258,12 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: stripe::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error .code @@ -308,7 +307,7 @@ impl fn get_url( &self, _req: &types::PaymentsAuthorizeRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!( "{}{}", @@ -329,7 +328,7 @@ impl fn build_request( &self, req: &types::PaymentsAuthorizeRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -347,7 +346,7 @@ impl fn handle_response( &self, data: &types::PaymentsAuthorizeRouterData, - res: Response, + res: types::Response, ) -> CustomResult { logger::debug!(stripe_payments_create_response=?res); let response: stripe::PaymentIntentResponse = res @@ -366,11 +365,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: stripe::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error .code @@ -414,7 +413,7 @@ impl fn get_url( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let payment_id = &req.request.connector_transaction_id; Ok(format!( @@ -435,7 +434,7 @@ impl fn build_request( &self, req: &types::PaymentsCancelRouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { let request = services::RequestBuilder::new() .method(services::Method::Post) @@ -449,7 +448,7 @@ impl fn handle_response( &self, data: &types::PaymentsCancelRouterData, - res: Response, + res: types::Response, ) -> CustomResult { let response: stripe::PaymentIntentResponse = res .response @@ -467,11 +466,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: stripe::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error .code @@ -524,7 +523,7 @@ impl types::VerifyRequestData, types::PaymentsResponseData, >, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!( "{}{}", @@ -545,7 +544,7 @@ impl fn build_request( &self, req: &types::RouterData, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -565,7 +564,7 @@ impl types::VerifyRequestData, types::PaymentsResponseData, >, - res: Response, + res: types::Response, ) -> CustomResult< types::RouterData, errors::ConnectorError, @@ -591,11 +590,11 @@ impl fn get_error_response( &self, res: Bytes, - ) -> CustomResult { + ) -> CustomResult { let response: stripe::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error .code @@ -640,7 +639,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { Ok(format!("{}{}", self.base_url(connectors), "v1/refunds")) } @@ -657,7 +656,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { let request = services::RequestBuilder::new() .method(services::Method::Post) @@ -672,7 +671,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult, errors::ConnectorError> { logger::debug!(response=?res); @@ -691,11 +690,11 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { let response: stripe::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error .code @@ -735,7 +734,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult { let id = req .response @@ -751,7 +750,7 @@ impl services::ConnectorIntegration, - connectors: Connectors, + connectors: settings::Connectors, ) -> CustomResult, errors::ConnectorError> { Ok(Some( services::RequestBuilder::new() @@ -769,7 +768,7 @@ impl services::ConnectorIntegration, - res: Response, + res: types::Response, ) -> CustomResult< types::RouterData, errors::ConnectorError, @@ -791,11 +790,11 @@ impl services::ConnectorIntegration CustomResult { + ) -> CustomResult { let response: stripe::ErrorResponse = res .parse_struct("ErrorResponse") .change_context(errors::ConnectorError::ResponseDeserializationFailed)?; - Ok(ErrorResponse { + Ok(types::ErrorResponse { code: response .error .code