mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-03 13:30:39 +08:00
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:
@ -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
|
||||
|
||||
@ -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
|
||||
);
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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),
|
||||
|
||||
Reference in New Issue
Block a user