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:
Prasunna Soppa
2023-08-24 19:12:43 +05:30
committed by GitHub
parent 8c066d3ea7
commit 820f6153af
15 changed files with 1901 additions and 268 deletions

View File

@ -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)