feat(connector): Implement UCS based default implementation for Truelayer (#11308)

Co-authored-by: Vani Gupta <vani.gupta@juspay.in>
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Vani Gupta
2026-03-09 14:27:33 +05:30
committed by GitHub
parent 7f33f2e365
commit 7215097fec
10 changed files with 112 additions and 6 deletions

View File

@@ -1313,7 +1313,7 @@ url = "http://localhost:8080" # Open Router URL
[grpc_client.unified_connector_service]
base_url = "http://localhost:8000" # Unified Connector Service Base URL
connection_timeout = 10 # Connection Timeout Duration in Seconds
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3" # Comma-separated list of connectors that use UCS only
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3, truelayer" # Comma-separated list of connectors that use UCS only
ucs_psync_disabled_connectors = "cashtocode" # Comma-separated list of connectors to disable UCS PSync call
[grpc_client.recovery_decider_client] # Revenue recovery client base url

View File

@@ -406,7 +406,7 @@ connector_names = "connector_names" # Comma-separated list of allowed connec
[grpc_client.unified_connector_service]
base_url = "http://localhost:8000" # Unified Connector Service Base URL
connection_timeout = 10 # Connection Timeout Duration in Seconds
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3" # Comma-separated list of connectors that use UCS only
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3, truelayer" # Comma-separated list of connectors that use UCS only
ucs_psync_disabled_connectors = "cashtocode" # Comma-separated list of connectors to disable UCS PSync call
[revenue_recovery]

View File

@@ -988,7 +988,7 @@ connector_list = "juspaythreedsserver, ctp_mastercard, ctp_visa"
connector_list = "worldpayvantiv"
[grpc_client.unified_connector_service]
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3" # Comma-separated list of connectors that use UCS only
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3, truelayer" # Comma-separated list of connectors that use UCS only
ucs_psync_disabled_connectors = "cashtocode" # Comma-separated list of connectors to disable UCS PSync call
# Merchant Advice Code Configuration

View File

@@ -993,7 +993,7 @@ click_to_pay = {connector_list = "adyen, cybersource, trustpay"}
connector_list = "juspaythreedsserver, ctp_mastercard, ctp_visa"
[grpc_client.unified_connector_service]
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3" # Comma-separated list of connectors that use UCS only
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3, truelayer" # Comma-separated list of connectors that use UCS only
ucs_psync_disabled_connectors = "cashtocode" # Comma-separated list of connectors to disable UCS PSync call
# Merchant Advice Code Configuration

View File

@@ -1003,7 +1003,7 @@ connector_list = "juspaythreedsserver, ctp_mastercard, ctp_visa"
connector_list = "worldpayvantiv"
[grpc_client.unified_connector_service]
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3" # Comma-separated list of connectors that use UCS only
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3, truelayer" # Comma-separated list of connectors that use UCS only
ucs_psync_disabled_connectors = "cashtocode" # Comma-separated list of connectors to disable UCS PSync call
# Merchant Advice Code Configuration

View File

@@ -1443,7 +1443,7 @@ enabled = "true"
[grpc_client.unified_connector_service]
base_url = "http://localhost:8000"
connection_timeout = 10
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3" # Comma-separated list of connectors that use UCS only
ucs_only_connectors = "paytm, phonepe, hyperpg, revolv3, truelayer" # Comma-separated list of connectors that use UCS only
ucs_psync_disabled_connectors = "cashtocode" # Comma-separated list of connectors to disable UCS PSync call
[revenue_recovery]

View File

@@ -7749,6 +7749,38 @@ payment_method_type = "Maestro"
[finix.connector_webhook_details]
merchant_secret="Source verification key"
[truelayer]
[truelayer.connector_auth.BodyKey]
api_key = "Client ID"
key1 = "Client Secret"
[[truelayer.bank_redirect]]
payment_method_type = "open_banking_uk"
[truelayer.metadata.kid]
name = "kid"
label = "KID"
placeholder = "Enter your KID"
required = true
type = "Text"
[truelayer.metadata.merchant_account_id]
name = "merchant_account_id"
label = "Merchant Account ID"
placeholder = "Enter your Merchant Account ID"
required = true
type = "Text"
[truelayer.metadata.account_holder_name]
name = "account_holder_name"
label = "Account Holder Name"
placeholder = "Enter your Account Holder Name"
required = true
type = "Text"
[truelayer.metadata.private_key]
name = "private_key"
label = "Private Key (Base64 encoded)"
placeholder = "Enter your Private Key(Base64 encoded)"
required = true
type = "Text"
[loonio]
[loonio.connector_auth.BodyKey]
api_key = "Merchant ID"

View File

@@ -7046,6 +7046,38 @@ placeholder = "Enter your Private Key(Base64 encoded)"
required = true
type = "Text"
[truelayer]
[truelayer.connector_auth.BodyKey]
api_key = "Client ID"
key1 = "Client Secret"
[[truelayer.bank_redirect]]
payment_method_type = "open_banking_uk"
[truelayer.metadata.kid]
name = "kid"
label = "KID"
placeholder = "Enter your KID"
required = true
type = "Text"
[truelayer.metadata.merchant_account_id]
name = "merchant_account_id"
label = "Merchant Account ID"
placeholder = "Enter your Merchant Account ID"
required = true
type = "Text"
[truelayer.metadata.account_holder_name]
name = "account_holder_name"
label = "Account Holder Name"
placeholder = "Enter your Account Holder Name"
required = true
type = "Text"
[truelayer.metadata.private_key]
name = "private_key"
label = "Private Key (Base64 encoded)"
placeholder = "Enter your Private Key(Base64 encoded)"
required = true
type = "Text"
[revolv3]
[[revolv3.credit]]
payment_method_type = "Mastercard"

View File

@@ -8137,6 +8137,38 @@ placeholder = "Enter your Private Key(Base64 encoded)"
required = true
type = "Text"
[truelayer]
[truelayer.connector_auth.BodyKey]
api_key = "Client ID"
key1 = "Client Secret"
[[truelayer.bank_redirect]]
payment_method_type = "open_banking_uk"
[truelayer.metadata.kid]
name = "kid"
label = "KID"
placeholder = "Enter your KID"
required = true
type = "Text"
[truelayer.metadata.merchant_account_id]
name = "merchant_account_id"
label = "Merchant Account ID"
placeholder = "Enter your Merchant Account ID"
required = true
type = "Text"
[truelayer.metadata.account_holder_name]
name = "account_holder_name"
label = "Account Holder Name"
placeholder = "Enter your Account Holder Name"
required = true
type = "Text"
[truelayer.metadata.private_key]
name = "private_key"
label = "Private Key (Base64 encoded)"
placeholder = "Enter your Private Key(Base64 encoded)"
required = true
type = "Text"
[revolv3]
[[revolv3.credit]]
payment_method_type = "Mastercard"

View File

@@ -1066,4 +1066,14 @@ impl ConnectorSpecifications for Truelayer {
fn get_supported_webhook_flows(&self) -> Option<&'static [enums::EventClass]> {
Some(&TRUELAYER_SUPPORTED_WEBHOOK_FLOWS)
}
#[cfg(feature = "v1")]
fn generate_connector_customer_id(
&self,
_customer_id: &Option<common_utils::id_type::CustomerId>,
_merchant_id: &common_utils::id_type::MerchantId,
) -> Option<String> {
let connector_customer_id = uuid::Uuid::new_v4().to_string();
Some(connector_customer_id)
}
}