feat(connector): Plaid connector Integration (#3952)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Sarthak Soni
2024-07-19 13:35:27 +05:30
committed by GitHub
parent 33298b3808
commit eb01680284
26 changed files with 1403 additions and 56 deletions

View File

@ -1256,6 +1256,8 @@ pub async fn create_payment_connector(
expected_format: "auth_type and api_key".to_string(),
})?;
validate_auth_and_metadata_type(req.connector_name, &auth, &req.metadata)?;
let merchant_recipient_data = if let Some(data) = &req.additional_merchant_data {
Some(
process_open_banking_connectors(
@ -1280,8 +1282,6 @@ pub async fn create_payment_connector(
.change_context(errors::ApiErrorResponse::InternalServerError)
.attach_printable("Failed to get MerchantRecipientData")?;
validate_auth_and_metadata_type(req.connector_name, &auth, &req.metadata)?;
let frm_configs = get_frm_config_as_secret(req.frm_configs);
// The purpose of this merchant account update is just to update the

View File

@ -699,7 +699,8 @@ default_imp_for_new_connector_integration_payment!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_refund {
@ -784,7 +785,8 @@ default_imp_for_new_connector_integration_refund!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_connector_access_token {
@ -864,7 +866,8 @@ default_imp_for_new_connector_integration_connector_access_token!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_accept_dispute {
@ -966,7 +969,8 @@ default_imp_for_new_connector_integration_accept_dispute!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_defend_dispute {
@ -1050,7 +1054,8 @@ default_imp_for_new_connector_integration_defend_dispute!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
default_imp_for_new_connector_integration_submit_evidence!(
connector::Aci,
@ -1118,7 +1123,8 @@ default_imp_for_new_connector_integration_submit_evidence!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_file_upload {
@ -1213,7 +1219,8 @@ default_imp_for_new_connector_integration_file_upload!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_payouts {
@ -1290,7 +1297,8 @@ default_imp_for_new_connector_integration_payouts!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "payouts")]
@ -1377,7 +1385,8 @@ default_imp_for_new_connector_integration_payouts_create!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "payouts")]
@ -1464,7 +1473,8 @@ default_imp_for_new_connector_integration_payouts_eligibility!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "payouts")]
@ -1551,7 +1561,8 @@ default_imp_for_new_connector_integration_payouts_fulfill!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "payouts")]
@ -1638,7 +1649,8 @@ default_imp_for_new_connector_integration_payouts_cancel!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "payouts")]
@ -1725,7 +1737,8 @@ default_imp_for_new_connector_integration_payouts_quote!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "payouts")]
@ -1812,7 +1825,8 @@ default_imp_for_new_connector_integration_payouts_recipient!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "payouts")]
@ -1899,7 +1913,8 @@ default_imp_for_new_connector_integration_payouts_sync!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "payouts")]
@ -1986,7 +2001,8 @@ default_imp_for_new_connector_integration_payouts_recipient_account!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_webhook_source_verification {
@ -2071,7 +2087,8 @@ default_imp_for_new_connector_integration_webhook_source_verification!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_frm {
@ -2148,7 +2165,8 @@ default_imp_for_new_connector_integration_frm!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "frm")]
@ -2235,7 +2253,8 @@ default_imp_for_new_connector_integration_frm_sale!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "frm")]
@ -2322,7 +2341,8 @@ default_imp_for_new_connector_integration_frm_checkout!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "frm")]
@ -2409,7 +2429,8 @@ default_imp_for_new_connector_integration_frm_transaction!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "frm")]
@ -2496,7 +2517,8 @@ default_imp_for_new_connector_integration_frm_fulfillment!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
#[cfg(feature = "frm")]
@ -2583,7 +2605,8 @@ default_imp_for_new_connector_integration_frm_record_return!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_revoking_mandates {
@ -2667,7 +2690,8 @@ default_imp_for_new_connector_integration_revoking_mandates!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);
macro_rules! default_imp_for_new_connector_integration_connector_authentication {
@ -2779,5 +2803,6 @@ default_imp_for_new_connector_integration_connector_authentication!(
connector::Worldline,
connector::Worldpay,
connector::Zen,
connector::Zsl
connector::Zsl,
connector::Plaid
);

View File

@ -221,6 +221,7 @@ default_imp_for_complete_authorize!(
connector::Payone,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Rapyd,
connector::Razorpay,
connector::Riskified,
@ -311,6 +312,7 @@ default_imp_for_webhook_source_verification!(
connector::Payone,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -406,6 +408,7 @@ default_imp_for_create_customer!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -489,6 +492,7 @@ default_imp_for_connector_redirect_response!(
connector::Payone,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -565,6 +569,7 @@ default_imp_for_connector_request_id!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -662,6 +667,7 @@ default_imp_for_accept_dispute!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -778,6 +784,7 @@ default_imp_for_file_upload!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -872,6 +879,7 @@ default_imp_for_submit_evidence!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -966,6 +974,7 @@ default_imp_for_defend_dispute!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1070,6 +1079,7 @@ default_imp_for_pre_processing_steps!(
connector::Payone,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1222,6 +1232,7 @@ default_imp_for_payouts!(
connector::Payme,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1314,6 +1325,7 @@ default_imp_for_payouts_create!(
connector::Payone,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1408,6 +1420,7 @@ default_imp_for_payouts_retrieve!(
connector::Payone,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1506,6 +1519,7 @@ default_imp_for_payouts_eligibility!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1596,6 +1610,7 @@ default_imp_for_payouts_fulfill!(
connector::Payme,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1689,6 +1704,7 @@ default_imp_for_payouts_cancel!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1783,6 +1799,7 @@ default_imp_for_payouts_quote!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1878,6 +1895,7 @@ default_imp_for_payouts_recipient!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -1976,6 +1994,7 @@ default_imp_for_payouts_recipient_account!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2071,6 +2090,7 @@ default_imp_for_approve!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2167,6 +2187,7 @@ default_imp_for_reject!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2247,6 +2268,7 @@ default_imp_for_fraud_check!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2343,6 +2365,7 @@ default_imp_for_frm_sale!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2439,6 +2462,7 @@ default_imp_for_frm_checkout!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2535,6 +2559,7 @@ default_imp_for_frm_transaction!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2631,6 +2656,7 @@ default_imp_for_frm_fulfillment!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2727,6 +2753,7 @@ default_imp_for_frm_record_return!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2820,6 +2847,7 @@ default_imp_for_incremental_authorization!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -2912,6 +2940,7 @@ default_imp_for_revoking_mandates!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -3065,6 +3094,7 @@ default_imp_for_connector_authentication!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,
@ -3156,6 +3186,7 @@ default_imp_for_authorize_session_token!(
connector::Paypal,
connector::Payu,
connector::Placetopay,
connector::Plaid,
connector::Powertranz,
connector::Prophetpay,
connector::Rapyd,

View File

@ -210,7 +210,6 @@ impl ForeignTryFrom<&types::ConnectorAuthType> for PlaidAuthType {
Ok::<Self, errors::ConnectorError>(Self {
client_id: api_key.to_owned(),
secret: key1.to_owned(),
merchant_data: None,
})
}
_ => Err(errors::ConnectorError::FailedToObtainAuthType),