feat(router): Add external vault support in v1 payments flow (#9274)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Prasunna Soppa
2025-09-23 12:12:11 +05:30
committed by GitHub
parent 3bd78ac5c1
commit e410af26ff
34 changed files with 1323 additions and 316 deletions

View File

@ -9,6 +9,8 @@ use common_enums::enums as common_enums;
use common_utils::encryption;
use common_utils::{crypto, ext_traits, id_type, type_name, types::keymanager};
use error_stack::ResultExt;
#[cfg(feature = "v1")]
use hyperswitch_domain_models::payment_methods::PaymentMethodVaultSourceDetails;
use hyperswitch_domain_models::{merchant_key_store, payment_methods, type_encryption};
use masking::{PeekInterface, Secret};
#[cfg(feature = "v1")]
@ -54,6 +56,7 @@ pub trait PaymentMethodsController {
network_token_requestor_reference_id: Option<String>,
network_token_locker_id: Option<String>,
network_token_payment_method_data: crypto::OptionalEncryptableValue,
vault_source_details: Option<PaymentMethodVaultSourceDetails>,
) -> errors::PmResult<payment_methods::PaymentMethod>;
#[cfg(feature = "v1")]
@ -74,6 +77,7 @@ pub trait PaymentMethodsController {
network_token_requestor_reference_id: Option<String>,
network_token_locker_id: Option<String>,
network_token_payment_method_data: crypto::OptionalEncryptableValue,
vault_source_details: Option<PaymentMethodVaultSourceDetails>,
) -> errors::PmResult<payment_methods::PaymentMethod>;
#[cfg(feature = "v2")]

View File

@ -448,6 +448,7 @@ pub async fn get_client_secret_or_add_payment_method_for_migration(
None,
None,
None,
Default::default(),
)
.await?;
migration_status.connector_mandate_details_migrated(
@ -615,6 +616,7 @@ pub async fn skip_locker_call_and_migrate_payment_method(
network_token_requestor_reference_id: None,
network_token_locker_id: None,
network_token_payment_method_data: None,
vault_source_details: Default::default(),
},
merchant_context.get_merchant_account().storage_scheme,
)