mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 02:57:02 +08:00
feat(connector): [Braintree] Add Authorize, Capture, Void, PSync, Refund, Rsync for Braintree GraphQL API (#1962)
Co-authored-by: AkshayaFoiger <akshaya.shankar@juspay.in>
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
use std::marker::PhantomData;
|
||||
use std::{marker::PhantomData, str::FromStr};
|
||||
|
||||
use api_models::enums::{DisputeStage, DisputeStatus};
|
||||
#[cfg(feature = "payouts")]
|
||||
@ -183,6 +183,7 @@ pub async fn construct_payout_router_data<'a, F>(
|
||||
quote_id: None,
|
||||
test_mode,
|
||||
payment_method_balance: None,
|
||||
connector_api_version: None,
|
||||
connector_http_status_code: None,
|
||||
};
|
||||
|
||||
@ -239,6 +240,29 @@ pub async fn construct_refund_router_data<'a, F>(
|
||||
));
|
||||
let test_mode: Option<bool> = merchant_connector_account.is_test_mode_on();
|
||||
|
||||
let supported_connector = &state
|
||||
.conf
|
||||
.multiple_api_version_supported_connectors
|
||||
.supported_connectors;
|
||||
let connector_enum = api_models::enums::Connector::from_str(connector_id)
|
||||
.into_report()
|
||||
.change_context(errors::ConnectorError::InvalidConnectorName)
|
||||
.change_context(errors::ApiErrorResponse::InvalidDataValue {
|
||||
field_name: "connector",
|
||||
})
|
||||
.attach_printable_lazy(|| format!("unable to parse connector name {connector_id:?}"))?;
|
||||
|
||||
let connector_api_version = if supported_connector.contains(&connector_enum) {
|
||||
state
|
||||
.store
|
||||
.find_config_by_key_cached(&format!("connector_api_version_{connector_id}"))
|
||||
.await
|
||||
.map(|value| value.config)
|
||||
.ok()
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let router_data = types::RouterData {
|
||||
flow: PhantomData,
|
||||
merchant_id: merchant_account.merchant_id.clone(),
|
||||
@ -291,6 +315,7 @@ pub async fn construct_refund_router_data<'a, F>(
|
||||
quote_id: None,
|
||||
test_mode,
|
||||
payment_method_balance: None,
|
||||
connector_api_version,
|
||||
connector_http_status_code: None,
|
||||
};
|
||||
|
||||
@ -509,6 +534,7 @@ pub async fn construct_accept_dispute_router_data<'a>(
|
||||
quote_id: None,
|
||||
test_mode,
|
||||
payment_method_balance: None,
|
||||
connector_api_version: None,
|
||||
connector_http_status_code: None,
|
||||
};
|
||||
Ok(router_data)
|
||||
@ -584,6 +610,7 @@ pub async fn construct_submit_evidence_router_data<'a>(
|
||||
#[cfg(feature = "payouts")]
|
||||
quote_id: None,
|
||||
test_mode,
|
||||
connector_api_version: None,
|
||||
connector_http_status_code: None,
|
||||
};
|
||||
Ok(router_data)
|
||||
@ -660,6 +687,7 @@ pub async fn construct_upload_file_router_data<'a>(
|
||||
#[cfg(feature = "payouts")]
|
||||
quote_id: None,
|
||||
test_mode,
|
||||
connector_api_version: None,
|
||||
connector_http_status_code: None,
|
||||
};
|
||||
Ok(router_data)
|
||||
@ -738,6 +766,7 @@ pub async fn construct_defend_dispute_router_data<'a>(
|
||||
#[cfg(feature = "payouts")]
|
||||
quote_id: None,
|
||||
test_mode,
|
||||
connector_api_version: None,
|
||||
connector_http_status_code: None,
|
||||
};
|
||||
Ok(router_data)
|
||||
@ -811,6 +840,7 @@ pub async fn construct_retrieve_file_router_data<'a>(
|
||||
#[cfg(feature = "payouts")]
|
||||
quote_id: None,
|
||||
test_mode,
|
||||
connector_api_version: None,
|
||||
connector_http_status_code: None,
|
||||
};
|
||||
Ok(router_data)
|
||||
|
||||
Reference in New Issue
Block a user