mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 04:04:55 +08:00
refactor(connectors): remove specific imports from connectors (#161)
This commit is contained in:
committed by
GitHub
parent
bf322c9535
commit
f3d3abf060
@ -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<String, errors::ConnectorError> {
|
||||
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<Option<services::Request>, 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<types::PaymentsSyncRouterData, errors::ConnectorError>
|
||||
where
|
||||
types::PaymentsSyncData: Clone,
|
||||
@ -169,11 +167,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
Ok(format!("{}{}", self.base_url(connectors), "v1/payments"))
|
||||
}
|
||||
@ -241,7 +239,7 @@ impl
|
||||
types::PaymentsAuthorizeData,
|
||||
types::PaymentsResponseData,
|
||||
>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsAuthorizeRouterData, errors::ConnectorError> {
|
||||
let response: aci::AciPaymentsResponse =
|
||||
res.response
|
||||
@ -276,11 +274,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
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<Option<services::Request>, 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<types::PaymentsCancelRouterData, errors::ConnectorError> {
|
||||
let response: aci::AciPaymentsResponse =
|
||||
res.response
|
||||
@ -375,11 +373,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_url(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
let connector_payment_id = req.request.connector_transaction_id.clone();
|
||||
Ok(format!(
|
||||
@ -446,7 +444,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
Ok(Some(
|
||||
services::RequestBuilder::new()
|
||||
@ -461,7 +459,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RefundsRouterData<api::Execute>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<types::RefundsRouterData<api::Execute>, errors::ConnectorError> {
|
||||
logger::debug!(response=?res);
|
||||
|
||||
@ -479,11 +477,11 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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| {
|
||||
|
||||
@ -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<api::PSync, types::PaymentsSyncData, types::PaymentsResponseData>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
Ok(format!(
|
||||
"{}{}",
|
||||
@ -168,7 +166,7 @@ impl
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RouterData<api::PSync, types::PaymentsSyncData, types::PaymentsResponseData>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
Ok(Some(
|
||||
services::RequestBuilder::new()
|
||||
@ -184,7 +182,7 @@ impl
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RouterData<api::PSync, types::PaymentsSyncData, types::PaymentsResponseData>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<types::PaymentsSyncRouterData, errors::ConnectorError> {
|
||||
logger::debug!(payment_sync_response=?res);
|
||||
let response: adyen::AdyenPaymentResponse = res
|
||||
@ -203,11 +201,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
Ok(format!("{}{}", self.base_url(connectors), "v68/payments"))
|
||||
}
|
||||
@ -269,7 +267,7 @@ impl
|
||||
types::PaymentsAuthorizeData,
|
||||
types::PaymentsResponseData,
|
||||
>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsAuthorizeRouterData, errors::ConnectorError> {
|
||||
let response: adyen::AdyenPaymentResponse = res
|
||||
.response
|
||||
@ -305,11 +303,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
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<Option<services::Request>, 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<types::PaymentsCancelRouterData, errors::ConnectorError> {
|
||||
let response: adyen::AdyenCancelResponse = res
|
||||
.response
|
||||
@ -393,12 +391,12 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_url(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
let connector_payment_id = req.request.connector_transaction_id.clone();
|
||||
Ok(format!(
|
||||
@ -454,7 +452,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
Ok(Some(
|
||||
services::RequestBuilder::new()
|
||||
@ -470,7 +468,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RefundsRouterData<api::Execute>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<types::RefundsRouterData<api::Execute>, errors::ConnectorError> {
|
||||
let response: adyen::AdyenRefundResponse = res
|
||||
.response
|
||||
@ -488,12 +486,12 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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,
|
||||
|
||||
@ -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<Secret<String>>,
|
||||
expiry_month: Option<Secret<String>>,
|
||||
expiry_year: Option<Secret<String>>,
|
||||
number: Option<pii::Secret<String>>,
|
||||
expiry_month: Option<pii::Secret<String>>,
|
||||
expiry_year: Option<pii::Secret<String>>,
|
||||
cvc: Option<String>,
|
||||
}
|
||||
|
||||
|
||||
@ -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<String, errors::ConnectorError> {
|
||||
Ok(self.base_url(connectors))
|
||||
}
|
||||
@ -122,7 +121,7 @@ impl
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::PaymentsSyncRouterData,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsSyncRouterData, errors::ConnectorError> {
|
||||
use bytes::Buf;
|
||||
|
||||
@ -161,7 +160,7 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
get_error_response(res)
|
||||
}
|
||||
}
|
||||
@ -194,7 +193,7 @@ impl
|
||||
fn get_url(
|
||||
&self,
|
||||
_req: &types::PaymentsAuthorizeRouterData,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
Ok(self.base_url(connectors))
|
||||
}
|
||||
@ -217,7 +216,7 @@ impl
|
||||
types::PaymentsAuthorizeData,
|
||||
types::PaymentsResponseData,
|
||||
>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsAuthorizeRouterData, errors::ConnectorError> {
|
||||
use bytes::Buf;
|
||||
|
||||
@ -261,7 +260,7 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
get_error_response(res)
|
||||
}
|
||||
}
|
||||
@ -293,7 +292,7 @@ impl
|
||||
fn get_url(
|
||||
&self,
|
||||
_req: &types::PaymentsCancelRouterData,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
Ok(self.base_url(connectors))
|
||||
}
|
||||
@ -310,7 +309,7 @@ impl
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::PaymentsCancelRouterData,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsCancelRouterData, errors::ConnectorError> {
|
||||
use bytes::Buf;
|
||||
|
||||
@ -352,7 +351,7 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
get_error_response(res)
|
||||
}
|
||||
}
|
||||
@ -385,7 +384,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_url(
|
||||
&self,
|
||||
_req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
Ok(self.base_url(connectors))
|
||||
}
|
||||
@ -404,7 +403,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
let request = services::RequestBuilder::new()
|
||||
.method(services::Method::Post)
|
||||
@ -418,7 +417,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RefundsRouterData<api::Execute>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<types::RefundsRouterData<api::Execute>, errors::ConnectorError> {
|
||||
use bytes::Buf;
|
||||
logger::debug!(response=?res);
|
||||
@ -445,7 +444,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
get_error_response(res)
|
||||
}
|
||||
}
|
||||
@ -474,7 +473,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn get_url(
|
||||
&self,
|
||||
_req: &types::RefundsRouterData<api::RSync>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
Ok(self.base_url(connectors))
|
||||
}
|
||||
@ -494,7 +493,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::RSync>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
let request = services::RequestBuilder::new()
|
||||
.method(services::Method::Post)
|
||||
@ -508,7 +507,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RefundsRouterData<api::RSync>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<types::RefundsRouterData<api::RSync>, errors::ConnectorError> {
|
||||
use bytes::Buf;
|
||||
|
||||
@ -533,7 +532,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<ErrorResponse, errors::ConnectorError> {
|
||||
fn get_error_response(bytes: Bytes) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
let response: authorizedotnet::AuthorizedotnetPaymentsResponse = bytes
|
||||
.parse_struct("AuthorizedotnetPaymentsResponse")
|
||||
.change_context(errors::ConnectorError::ResponseDeserializationFailed)?;
|
||||
|
||||
@ -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<String, errors::ConnectorError> {
|
||||
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<Option<services::Request>, errors::ConnectorError> {
|
||||
let request = Some(
|
||||
services::RequestBuilder::new()
|
||||
@ -118,12 +117,12 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<types::PaymentsSessionRouterData, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
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<Option<services::Request>, errors::ConnectorError> {
|
||||
Ok(Some(
|
||||
services::RequestBuilder::new()
|
||||
@ -249,12 +248,12 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<types::PaymentsSyncRouterData, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
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<Option<services::Request>, 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<types::PaymentsAuthorizeRouterData, errors::ConnectorError> {
|
||||
let response: braintree::BraintreePaymentsResponse = res
|
||||
.response
|
||||
@ -376,13 +375,13 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
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<Option<services::Request>, errors::ConnectorError> {
|
||||
Ok(Some(
|
||||
services::RequestBuilder::new()
|
||||
@ -452,12 +451,12 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<types::PaymentsCancelRouterData, errors::ConnectorError> {
|
||||
logger::debug!(payment_sync_response=?res);
|
||||
let response: braintree::BraintreePaymentsResponse = res
|
||||
@ -522,9 +521,9 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_url(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
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<api::Execute, types::RefundsData, types::Ref
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
let request = services::RequestBuilder::new()
|
||||
.method(services::Method::Post)
|
||||
@ -562,7 +561,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RefundsRouterData<api::Execute>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<types::RefundsRouterData<api::Execute>, errors::ConnectorError> {
|
||||
logger::debug!(target: "router::connector::braintree", response=?res);
|
||||
let response: braintree::RefundResponse = res
|
||||
@ -581,7 +580,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_error_response(
|
||||
&self,
|
||||
_res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
Err(errors::ConnectorError::NotImplemented("braintree".to_string()).into())
|
||||
}
|
||||
}
|
||||
@ -604,7 +603,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn get_url(
|
||||
&self,
|
||||
_req: &types::RouterData<api::RSync, types::RefundsData, types::RefundsResponseData>,
|
||||
_connectors: Connectors,
|
||||
_connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
Err(errors::ConnectorError::NotImplemented("braintree".to_string()).into())
|
||||
}
|
||||
@ -612,7 +611,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn get_error_response(
|
||||
&self,
|
||||
_res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
Err(errors::ConnectorError::NotImplemented("braintree".to_string()).into())
|
||||
}
|
||||
|
||||
@ -626,7 +625,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn build_request(
|
||||
&self,
|
||||
_req: &types::RouterData<api::RSync, types::RefundsData, types::RefundsResponseData>,
|
||||
_connectors: Connectors,
|
||||
_connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
Ok(None)
|
||||
}
|
||||
@ -634,7 +633,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RouterData<api::RSync, types::RefundsData, types::RefundsResponseData>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<
|
||||
types::RouterData<api::RSync, types::RefundsData, types::RefundsResponseData>,
|
||||
errors::ConnectorError,
|
||||
|
||||
@ -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<String, errors::ConnectorError> {
|
||||
Ok(format!(
|
||||
"{}{}{}",
|
||||
@ -129,7 +128,7 @@ impl
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::PaymentsSyncRouterData,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsSyncRouterData, errors::ConnectorError>
|
||||
where
|
||||
api::PSync: Clone,
|
||||
@ -169,11 +168,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
Ok(format!("{}{}", self.base_url(connectors), "payments"))
|
||||
}
|
||||
@ -232,7 +231,7 @@ impl
|
||||
types::PaymentsAuthorizeData,
|
||||
types::PaymentsResponseData,
|
||||
>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsAuthorizeRouterData, errors::ConnectorError> {
|
||||
//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<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
Ok(format!(
|
||||
"{}payments/{}/voids",
|
||||
@ -334,7 +333,7 @@ impl
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::PaymentsCancelRouterData,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsCancelRouterData, errors::ConnectorError> {
|
||||
let mut response: checkout::PaymentVoidResponse = res
|
||||
.response
|
||||
@ -368,11 +367,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_url(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
let id = req.request.connector_transaction_id.clone();
|
||||
Ok(format!(
|
||||
@ -438,7 +437,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
let request = services::RequestBuilder::new()
|
||||
.method(services::Method::Post)
|
||||
@ -452,7 +451,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RefundsRouterData<api::Execute>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<types::RefundsRouterData<api::Execute>, errors::ConnectorError> {
|
||||
logger::debug!(response=?res);
|
||||
let response: checkout::RefundResponse = res
|
||||
@ -475,11 +474,11 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<api::RSync, types::RefundsData, types::Refun
|
||||
fn get_url(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::RSync>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
let id = req.request.connector_transaction_id.clone();
|
||||
Ok(format!(
|
||||
@ -529,7 +528,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::RSync>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
Ok(Some(
|
||||
services::RequestBuilder::new()
|
||||
@ -544,7 +543,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RefundsRouterData<api::RSync>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<types::RefundsRouterData<api::RSync>, errors::ConnectorError> {
|
||||
let refund_action_id = data
|
||||
.response
|
||||
@ -575,11 +574,11 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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()])
|
||||
|
||||
@ -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<String>,
|
||||
pub number: Option<Secret<String, pii::CardNumber>>,
|
||||
pub expiry_month: Option<Secret<String>>,
|
||||
pub expiry_year: Option<Secret<String>>,
|
||||
pub number: Option<pii::Secret<String, pii::CardNumber>>,
|
||||
pub expiry_month: Option<pii::Secret<String>>,
|
||||
pub expiry_year: Option<pii::Secret<String>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
@ -142,10 +141,12 @@ pub enum CheckoutPaymentStatus {
|
||||
Captured,
|
||||
}
|
||||
|
||||
impl From<Foreign<(CheckoutPaymentStatus, Option<enums::CaptureMethod>)>>
|
||||
for Foreign<enums::AttemptStatus>
|
||||
impl From<transformers::Foreign<(CheckoutPaymentStatus, Option<enums::CaptureMethod>)>>
|
||||
for transformers::Foreign<enums::AttemptStatus>
|
||||
{
|
||||
fn from(item: Foreign<(CheckoutPaymentStatus, Option<enums::CaptureMethod>)>) -> Self {
|
||||
fn from(
|
||||
item: transformers::Foreign<(CheckoutPaymentStatus, Option<enums::CaptureMethod>)>,
|
||||
) -> Self {
|
||||
let item = item.0;
|
||||
let status = item.0;
|
||||
let capture_method = item.1;
|
||||
|
||||
@ -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<String, errors::ConnectorError> {
|
||||
Ok(format!(
|
||||
"{}{}",
|
||||
@ -107,7 +106,7 @@ impl
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::PaymentsSessionRouterData,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsSessionRouterData, errors::ConnectorError> {
|
||||
let response: klarna::KlarnaSessionResponse = res
|
||||
.response
|
||||
@ -140,11 +139,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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,
|
||||
|
||||
@ -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<String, errors::ConnectorError> {
|
||||
let id = req.request.connector_transaction_id.as_str();
|
||||
|
||||
@ -125,7 +124,7 @@ impl
|
||||
&self,
|
||||
req: &types::PaymentsCaptureRouterData,
|
||||
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsCaptureRouterData, errors::ConnectorError>
|
||||
where
|
||||
types::PaymentsCaptureData: Clone,
|
||||
@ -161,12 +160,12 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
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<Option<services::Request>, 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<types::PaymentsSyncRouterData, errors::ConnectorError>
|
||||
where
|
||||
types::PaymentsAuthorizeData: Clone,
|
||||
@ -259,12 +258,12 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
Ok(format!(
|
||||
"{}{}",
|
||||
@ -329,7 +328,7 @@ impl
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::PaymentsAuthorizeRouterData,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, 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<types::PaymentsAuthorizeRouterData, errors::ConnectorError> {
|
||||
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<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
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<Option<services::Request>, 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<types::PaymentsCancelRouterData, errors::ConnectorError> {
|
||||
let response: stripe::PaymentIntentResponse = res
|
||||
.response
|
||||
@ -467,11 +466,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<String, errors::ConnectorError> {
|
||||
Ok(format!(
|
||||
"{}{}",
|
||||
@ -545,7 +544,7 @@ impl
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RouterData<api::Verify, types::VerifyRequestData, types::PaymentsResponseData>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
Ok(Some(
|
||||
services::RequestBuilder::new()
|
||||
@ -565,7 +564,7 @@ impl
|
||||
types::VerifyRequestData,
|
||||
types::PaymentsResponseData,
|
||||
>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<
|
||||
types::RouterData<api::Verify, types::VerifyRequestData, types::PaymentsResponseData>,
|
||||
errors::ConnectorError,
|
||||
@ -591,11 +590,11 @@ impl
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_url(
|
||||
&self,
|
||||
_req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
Ok(format!("{}{}", self.base_url(connectors), "v1/refunds"))
|
||||
}
|
||||
@ -657,7 +656,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::Execute>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
let request = services::RequestBuilder::new()
|
||||
.method(services::Method::Post)
|
||||
@ -672,7 +671,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RefundsRouterData<api::Execute>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<types::RefundsRouterData<api::Execute>, errors::ConnectorError> {
|
||||
logger::debug!(response=?res);
|
||||
|
||||
@ -691,11 +690,11 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
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<api::RSync, types::RefundsData, types::Refun
|
||||
fn get_url(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::RSync>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<String, errors::ConnectorError> {
|
||||
let id = req
|
||||
.response
|
||||
@ -751,7 +750,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn build_request(
|
||||
&self,
|
||||
req: &types::RefundsRouterData<api::RSync>,
|
||||
connectors: Connectors,
|
||||
connectors: settings::Connectors,
|
||||
) -> CustomResult<Option<services::Request>, errors::ConnectorError> {
|
||||
Ok(Some(
|
||||
services::RequestBuilder::new()
|
||||
@ -769,7 +768,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn handle_response(
|
||||
&self,
|
||||
data: &types::RefundsRouterData<api::RSync>,
|
||||
res: Response,
|
||||
res: types::Response,
|
||||
) -> CustomResult<
|
||||
types::RouterData<api::RSync, types::RefundsData, types::RefundsResponseData>,
|
||||
errors::ConnectorError,
|
||||
@ -791,11 +790,11 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun
|
||||
fn get_error_response(
|
||||
&self,
|
||||
res: Bytes,
|
||||
) -> CustomResult<ErrorResponse, errors::ConnectorError> {
|
||||
) -> CustomResult<types::ErrorResponse, errors::ConnectorError> {
|
||||
let response: stripe::ErrorResponse = res
|
||||
.parse_struct("ErrorResponse")
|
||||
.change_context(errors::ConnectorError::ResponseDeserializationFailed)?;
|
||||
Ok(ErrorResponse {
|
||||
Ok(types::ErrorResponse {
|
||||
code: response
|
||||
.error
|
||||
.code
|
||||
|
||||
Reference in New Issue
Block a user