mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 19:42:27 +08:00
feat(connector): add integration status to feature matrix (#8351)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -51,18 +51,16 @@ pub async fn generate_feature_matrix(
|
||||
connector_list
|
||||
.into_iter()
|
||||
.filter_map(|connector_name| {
|
||||
api_types::ConnectorData::convert_connector(&connector_name.to_string())
|
||||
.inspect_err(|_| {
|
||||
router_env::logger::warn!("Failed to fetch {:?} details", connector_name)
|
||||
})
|
||||
.ok()
|
||||
.and_then(|connector| {
|
||||
build_connector_feature_details(
|
||||
&state,
|
||||
connector,
|
||||
connector_name.to_string(),
|
||||
)
|
||||
})
|
||||
api_types::feature_matrix::FeatureMatrixConnectorData::convert_connector(
|
||||
&connector_name.to_string(),
|
||||
)
|
||||
.inspect_err(|_| {
|
||||
router_env::logger::warn!("Failed to fetch {:?} details", connector_name)
|
||||
})
|
||||
.ok()
|
||||
.and_then(|connector| {
|
||||
build_connector_feature_details(&state, connector, connector_name.to_string())
|
||||
})
|
||||
})
|
||||
.collect();
|
||||
|
||||
@ -80,32 +78,36 @@ fn build_connector_feature_details(
|
||||
connector_name: String,
|
||||
) -> Option<feature_matrix::ConnectorFeatureMatrixResponse> {
|
||||
let connector_integration_features = connector.get_supported_payment_methods();
|
||||
connector_integration_features.map(|connector_integration_feature_data| {
|
||||
let supported_payment_methods = connector_integration_feature_data
|
||||
.iter()
|
||||
.flat_map(|(payment_method, supported_payment_method_types)| {
|
||||
build_payment_method_wise_feature_details(
|
||||
state,
|
||||
&connector_name,
|
||||
*payment_method,
|
||||
supported_payment_method_types,
|
||||
)
|
||||
})
|
||||
.collect::<Vec<feature_matrix::SupportedPaymentMethod>>();
|
||||
let supported_payment_methods =
|
||||
connector_integration_features.map(|connector_integration_feature_data| {
|
||||
connector_integration_feature_data
|
||||
.iter()
|
||||
.flat_map(|(payment_method, supported_payment_method_types)| {
|
||||
build_payment_method_wise_feature_details(
|
||||
state,
|
||||
&connector_name,
|
||||
*payment_method,
|
||||
supported_payment_method_types,
|
||||
)
|
||||
})
|
||||
.collect::<Vec<feature_matrix::SupportedPaymentMethod>>()
|
||||
});
|
||||
let supported_webhook_flows = connector
|
||||
.get_supported_webhook_flows()
|
||||
.map(|webhook_flows| webhook_flows.to_vec());
|
||||
let connector_about = connector.get_connector_about();
|
||||
|
||||
let connector_about = connector.get_connector_about();
|
||||
let supported_webhook_flows = connector
|
||||
.get_supported_webhook_flows()
|
||||
.map(|webhook_flows| webhook_flows.to_vec());
|
||||
feature_matrix::ConnectorFeatureMatrixResponse {
|
||||
connector_about.map(
|
||||
|connector_about| feature_matrix::ConnectorFeatureMatrixResponse {
|
||||
name: connector_name.to_uppercase(),
|
||||
display_name: connector_about.map(|about| about.display_name.to_string()),
|
||||
description: connector_about.map(|about| about.description.to_string()),
|
||||
category: connector_about.map(|about| about.connector_type),
|
||||
display_name: connector_about.display_name.to_string(),
|
||||
description: connector_about.description.to_string(),
|
||||
integration_status: connector_about.integration_status,
|
||||
category: connector_about.connector_type,
|
||||
supported_webhook_flows,
|
||||
supported_payment_methods,
|
||||
}
|
||||
})
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
fn build_payment_method_wise_feature_details(
|
||||
|
||||
@ -29,6 +29,7 @@ pub mod webhooks;
|
||||
pub mod authentication_v2;
|
||||
pub mod connector_mapping;
|
||||
pub mod disputes_v2;
|
||||
pub mod feature_matrix;
|
||||
pub mod files_v2;
|
||||
#[cfg(feature = "frm")]
|
||||
pub mod fraud_check_v2;
|
||||
|
||||
390
crates/router/src/types/api/feature_matrix.rs
Normal file
390
crates/router/src/types/api/feature_matrix.rs
Normal file
@ -0,0 +1,390 @@
|
||||
use std::str::FromStr;
|
||||
|
||||
use error_stack::{report, ResultExt};
|
||||
|
||||
use crate::{
|
||||
connector,
|
||||
core::errors::{self, CustomResult},
|
||||
services::connector_integration_interface::ConnectorEnum,
|
||||
types::api::enums,
|
||||
};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct FeatureMatrixConnectorData {}
|
||||
|
||||
impl FeatureMatrixConnectorData {
|
||||
pub fn convert_connector(
|
||||
connector_name: &str,
|
||||
) -> CustomResult<ConnectorEnum, errors::ApiErrorResponse> {
|
||||
match enums::Connector::from_str(connector_name) {
|
||||
Ok(name) => match name {
|
||||
enums::Connector::Aci => Ok(ConnectorEnum::Old(Box::new(connector::Aci::new()))),
|
||||
enums::Connector::Adyen => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Adyen::new())))
|
||||
}
|
||||
enums::Connector::Adyenplatform => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::Adyenplatform::new(),
|
||||
))),
|
||||
enums::Connector::Airwallex => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Airwallex::new())))
|
||||
}
|
||||
// enums::Connector::Amazonpay => {
|
||||
// Ok(ConnectorEnum::Old(Box::new(connector::Amazonpay)))
|
||||
// }
|
||||
enums::Connector::Archipel => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Archipel::new())))
|
||||
}
|
||||
enums::Connector::Authipay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Authipay::new())))
|
||||
}
|
||||
enums::Connector::Authorizedotnet => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::Authorizedotnet)))
|
||||
}
|
||||
enums::Connector::Bambora => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Bambora::new())))
|
||||
}
|
||||
enums::Connector::Bamboraapac => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Bamboraapac::new())))
|
||||
}
|
||||
enums::Connector::Bankofamerica => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::Bankofamerica)))
|
||||
}
|
||||
enums::Connector::Barclaycard => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Barclaycard::new())))
|
||||
}
|
||||
enums::Connector::Billwerk => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Billwerk::new())))
|
||||
}
|
||||
enums::Connector::Bitpay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Bitpay::new())))
|
||||
}
|
||||
enums::Connector::Bluesnap => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Bluesnap::new())))
|
||||
}
|
||||
enums::Connector::Bluecode => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Bluecode::new())))
|
||||
}
|
||||
// enums::Connector::Bluecode => {
|
||||
// Ok(ConnectorEnum::Old(Box::new(connector::Bluecode::new())))
|
||||
// }
|
||||
enums::Connector::Boku => Ok(ConnectorEnum::Old(Box::new(connector::Boku::new()))),
|
||||
enums::Connector::Braintree => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Braintree::new())))
|
||||
}
|
||||
enums::Connector::Breadpay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Breadpay::new())))
|
||||
}
|
||||
enums::Connector::Cashtocode => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Cashtocode::new())))
|
||||
}
|
||||
enums::Connector::Celero => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Celero::new())))
|
||||
}
|
||||
enums::Connector::Chargebee => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Chargebee::new())))
|
||||
}
|
||||
enums::Connector::Checkbook => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Checkbook::new())))
|
||||
}
|
||||
enums::Connector::Checkout => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Checkout::new())))
|
||||
}
|
||||
enums::Connector::Coinbase => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Coinbase::new())))
|
||||
}
|
||||
enums::Connector::Coingate => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Coingate::new())))
|
||||
}
|
||||
enums::Connector::Cryptopay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Cryptopay::new())))
|
||||
}
|
||||
enums::Connector::CtpMastercard => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::CtpMastercard)))
|
||||
}
|
||||
enums::Connector::Custombilling => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::Custombilling::new(),
|
||||
))),
|
||||
enums::Connector::CtpVisa => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::UnifiedAuthenticationService::new(),
|
||||
))),
|
||||
enums::Connector::Cybersource => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Cybersource::new())))
|
||||
}
|
||||
enums::Connector::Datatrans => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Datatrans::new())))
|
||||
}
|
||||
enums::Connector::Deutschebank => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Deutschebank::new())))
|
||||
}
|
||||
enums::Connector::Digitalvirgo => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Digitalvirgo::new())))
|
||||
}
|
||||
enums::Connector::Dlocal => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Dlocal::new())))
|
||||
}
|
||||
#[cfg(feature = "dummy_connector")]
|
||||
enums::Connector::DummyConnector1 => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::DummyConnector::<1>::new(),
|
||||
))),
|
||||
#[cfg(feature = "dummy_connector")]
|
||||
enums::Connector::DummyConnector2 => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::DummyConnector::<2>::new(),
|
||||
))),
|
||||
#[cfg(feature = "dummy_connector")]
|
||||
enums::Connector::DummyConnector3 => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::DummyConnector::<3>::new(),
|
||||
))),
|
||||
#[cfg(feature = "dummy_connector")]
|
||||
enums::Connector::DummyConnector4 => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::DummyConnector::<4>::new(),
|
||||
))),
|
||||
#[cfg(feature = "dummy_connector")]
|
||||
enums::Connector::DummyConnector5 => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::DummyConnector::<5>::new(),
|
||||
))),
|
||||
#[cfg(feature = "dummy_connector")]
|
||||
enums::Connector::DummyConnector6 => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::DummyConnector::<6>::new(),
|
||||
))),
|
||||
#[cfg(feature = "dummy_connector")]
|
||||
enums::Connector::DummyConnector7 => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::DummyConnector::<7>::new(),
|
||||
))),
|
||||
#[cfg(feature = "dummy_connector")]
|
||||
enums::Connector::DummyBillingConnector => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::DummyConnector::<8>::new(),
|
||||
))),
|
||||
enums::Connector::Dwolla => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Dwolla::new())))
|
||||
}
|
||||
enums::Connector::Ebanx => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Ebanx::new())))
|
||||
}
|
||||
enums::Connector::Elavon => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Elavon::new())))
|
||||
}
|
||||
enums::Connector::Facilitapay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Facilitapay::new())))
|
||||
}
|
||||
enums::Connector::Fiserv => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Fiserv::new())))
|
||||
}
|
||||
enums::Connector::Fiservemea => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Fiservemea::new())))
|
||||
}
|
||||
enums::Connector::Fiuu => Ok(ConnectorEnum::Old(Box::new(connector::Fiuu::new()))),
|
||||
enums::Connector::Forte => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Forte::new())))
|
||||
}
|
||||
enums::Connector::Flexiti => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Flexiti::new())))
|
||||
}
|
||||
enums::Connector::Getnet => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Getnet::new())))
|
||||
}
|
||||
enums::Connector::Globalpay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Globalpay::new())))
|
||||
}
|
||||
enums::Connector::Globepay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Globepay::new())))
|
||||
}
|
||||
enums::Connector::Gocardless => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Gocardless::new())))
|
||||
}
|
||||
enums::Connector::Hipay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Hipay::new())))
|
||||
}
|
||||
enums::Connector::Helcim => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Helcim::new())))
|
||||
}
|
||||
enums::Connector::HyperswitchVault => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::HyperswitchVault)))
|
||||
}
|
||||
enums::Connector::Iatapay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Iatapay::new())))
|
||||
}
|
||||
enums::Connector::Inespay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Inespay::new())))
|
||||
}
|
||||
enums::Connector::Itaubank => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Itaubank::new())))
|
||||
}
|
||||
enums::Connector::Jpmorgan => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Jpmorgan::new())))
|
||||
}
|
||||
enums::Connector::Juspaythreedsserver => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::Juspaythreedsserver::new(),
|
||||
))),
|
||||
enums::Connector::Klarna => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Klarna::new())))
|
||||
}
|
||||
enums::Connector::Mollie => {
|
||||
// enums::Connector::Moneris => Ok(ConnectorEnum::Old(Box::new(connector::Moneris))),
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Mollie::new())))
|
||||
}
|
||||
enums::Connector::Moneris => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Moneris::new())))
|
||||
}
|
||||
enums::Connector::Nexixpay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Nexixpay::new())))
|
||||
}
|
||||
enums::Connector::Nmi => Ok(ConnectorEnum::Old(Box::new(connector::Nmi::new()))),
|
||||
enums::Connector::Nomupay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Nomupay::new())))
|
||||
}
|
||||
enums::Connector::Noon => Ok(ConnectorEnum::Old(Box::new(connector::Noon::new()))),
|
||||
enums::Connector::Nordea => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Nordea::new())))
|
||||
}
|
||||
enums::Connector::Novalnet => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Novalnet::new())))
|
||||
}
|
||||
enums::Connector::Nuvei => Ok(ConnectorEnum::Old(Box::new(&connector::Nuvei))),
|
||||
enums::Connector::Opennode => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Opennode::new())))
|
||||
}
|
||||
enums::Connector::Phonepe => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Phonepe::new())))
|
||||
}
|
||||
enums::Connector::Paybox => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Paybox::new())))
|
||||
}
|
||||
enums::Connector::Paytm => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Paytm::new())))
|
||||
}
|
||||
// "payeezy" => Ok(ConnectorIntegrationEnum::Old(Box::new(&connector::Payeezy)), As psync and rsync are not supported by this connector, it is added as template code for future usage
|
||||
// enums::Connector::Payload => {
|
||||
// Ok(ConnectorEnum::Old(Box::new(connector::Paybload::new())))
|
||||
// }
|
||||
enums::Connector::Payload => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Payload::new())))
|
||||
}
|
||||
enums::Connector::Payme => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Payme::new())))
|
||||
}
|
||||
enums::Connector::Payone => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Payone::new())))
|
||||
}
|
||||
enums::Connector::Payu => Ok(ConnectorEnum::Old(Box::new(connector::Payu::new()))),
|
||||
enums::Connector::Placetopay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Placetopay::new())))
|
||||
}
|
||||
enums::Connector::Powertranz => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::Powertranz)))
|
||||
}
|
||||
enums::Connector::Prophetpay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::Prophetpay)))
|
||||
}
|
||||
enums::Connector::Razorpay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Razorpay::new())))
|
||||
}
|
||||
enums::Connector::Rapyd => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Rapyd::new())))
|
||||
}
|
||||
enums::Connector::Recurly => {
|
||||
Ok(ConnectorEnum::New(Box::new(connector::Recurly::new())))
|
||||
}
|
||||
enums::Connector::Redsys => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Redsys::new())))
|
||||
}
|
||||
enums::Connector::Santander => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Santander::new())))
|
||||
}
|
||||
enums::Connector::Shift4 => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Shift4::new())))
|
||||
}
|
||||
enums::Connector::Square => Ok(ConnectorEnum::Old(Box::new(&connector::Square))),
|
||||
enums::Connector::Stax => Ok(ConnectorEnum::Old(Box::new(&connector::Stax))),
|
||||
enums::Connector::Stripe => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Stripe::new())))
|
||||
}
|
||||
enums::Connector::Stripebilling => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::Stripebilling::new(),
|
||||
))),
|
||||
enums::Connector::Wise => Ok(ConnectorEnum::Old(Box::new(connector::Wise::new()))),
|
||||
enums::Connector::Worldline => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::Worldline)))
|
||||
}
|
||||
enums::Connector::Worldpay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Worldpay::new())))
|
||||
}
|
||||
enums::Connector::Worldpayvantiv => Ok(ConnectorEnum::Old(Box::new(
|
||||
connector::Worldpayvantiv::new(),
|
||||
))),
|
||||
enums::Connector::Worldpayxml => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Worldpayxml::new())))
|
||||
}
|
||||
enums::Connector::Xendit => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Xendit::new())))
|
||||
}
|
||||
enums::Connector::Mifinity => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Mifinity::new())))
|
||||
}
|
||||
enums::Connector::Multisafepay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Multisafepay::new())))
|
||||
}
|
||||
enums::Connector::Netcetera => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::Netcetera)))
|
||||
}
|
||||
enums::Connector::Nexinets => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::Nexinets)))
|
||||
}
|
||||
// enums::Connector::Nexixpay => {
|
||||
// Ok(ConnectorEnum::Old(Box::new(&connector::Nexixpay)))
|
||||
// }
|
||||
enums::Connector::Paypal => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Paypal::new())))
|
||||
}
|
||||
enums::Connector::Paystack => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Paystack::new())))
|
||||
}
|
||||
// enums::Connector::Thunes => Ok(ConnectorEnum::Old(Box::new(connector::Thunes))),
|
||||
enums::Connector::Tokenio => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Tokenio::new())))
|
||||
}
|
||||
enums::Connector::Trustpay => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Trustpay::new())))
|
||||
}
|
||||
enums::Connector::Tsys => Ok(ConnectorEnum::Old(Box::new(connector::Tsys::new()))),
|
||||
// enums::Connector::UnifiedAuthenticationService => Ok(ConnectorEnum::Old(Box::new(
|
||||
// connector::UnifiedAuthenticationService,
|
||||
// ))),
|
||||
enums::Connector::Vgs => Ok(ConnectorEnum::Old(Box::new(connector::Vgs::new()))),
|
||||
enums::Connector::Volt => Ok(ConnectorEnum::Old(Box::new(connector::Volt::new()))),
|
||||
enums::Connector::Wellsfargo => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Wellsfargo::new())))
|
||||
}
|
||||
|
||||
// enums::Connector::Wellsfargopayout => {
|
||||
// Ok(Box::new(connector::Wellsfargopayout::new()))
|
||||
// }
|
||||
enums::Connector::Zen => Ok(ConnectorEnum::Old(Box::new(&connector::Zen))),
|
||||
enums::Connector::Zsl => Ok(ConnectorEnum::Old(Box::new(&connector::Zsl))),
|
||||
enums::Connector::Plaid => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Plaid::new())))
|
||||
}
|
||||
enums::Connector::Signifyd => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::Signifyd)))
|
||||
}
|
||||
enums::Connector::Silverflow => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Silverflow::new())))
|
||||
}
|
||||
enums::Connector::Riskified => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Riskified::new())))
|
||||
}
|
||||
enums::Connector::Gpayments => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Gpayments::new())))
|
||||
}
|
||||
enums::Connector::Threedsecureio => {
|
||||
Ok(ConnectorEnum::Old(Box::new(&connector::Threedsecureio)))
|
||||
}
|
||||
enums::Connector::Taxjar => {
|
||||
Ok(ConnectorEnum::Old(Box::new(connector::Taxjar::new())))
|
||||
}
|
||||
},
|
||||
Err(_) => Err(report!(errors::ConnectorError::InvalidConnectorName)
|
||||
.attach_printable(format!("invalid connector name: {connector_name}")))
|
||||
.change_context(errors::ApiErrorResponse::InternalServerError),
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user