From 87ff43f26c57d14aa8270668b0837e6166f4a733 Mon Sep 17 00:00:00 2001 From: Shivansh Mathur <104988143+su-shivanshmathur@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:28:49 +0530 Subject: [PATCH] fix(router): adding connector_customer_id for external vault proxy (#9263) Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com> --- .../external_vault_proxy_payment_intent.rs | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/crates/router/src/core/payments/operations/external_vault_proxy_payment_intent.rs b/crates/router/src/core/payments/operations/external_vault_proxy_payment_intent.rs index a96127a123..7d40bb81c2 100644 --- a/crates/router/src/core/payments/operations/external_vault_proxy_payment_intent.rs +++ b/crates/router/src/core/payments/operations/external_vault_proxy_payment_intent.rs @@ -312,14 +312,28 @@ impl Domain( &'a self, - _state: &SessionState, - _payment_data: &mut PaymentConfirmData, - _merchant_key_store: &domain::MerchantKeyStore, - _storage_scheme: storage_enums::MerchantStorageScheme, + state: &SessionState, + payment_data: &mut PaymentConfirmData, + merchant_key_store: &domain::MerchantKeyStore, + storage_scheme: storage_enums::MerchantStorageScheme, ) -> CustomResult<(BoxedConfirmOperation<'a, F>, Option), errors::StorageError> { - // TODO: Implement external vault specific customer details retrieval - Ok((Box::new(self), None)) + match payment_data.payment_intent.customer_id.clone() { + Some(id) => { + let customer = state + .store + .find_customer_by_global_id( + &state.into(), + &id, + merchant_key_store, + storage_scheme, + ) + .await?; + + Ok((Box::new(self), Some(customer))) + } + None => Ok((Box::new(self), None)), + } } #[instrument(skip_all)]