SaaS Orchestration with Third-Party Vault
Connect external vaults to store cards
Merchants using Hyperswitch SaaS can still integrate an external PCI-compliant vault. This setup is ideal for merchants who already have existing token infrastructure (e.g., VGS, Tokenex and more).
Key Highlights:
Combines the scalability of SaaS orchestration with external vault flexibility.
Supports Vault Proxy APIs for tokenization/de-tokenization.
Merchant retains token portability across platforms.
Third party vault integration options
Hyperswitch SDK and external vault
In this approach, the Hyperswitch SDK is used to capture card details, but card storage and tokenization are handled by an external vault
Hyperswitch SDK loading external vault SDK
The External Vault SDK is loaded onto the Hyperswitch Unified Checkout SDK. The card data is captured and tokenized using the external vault SDK
External vault SDK and storage
The merchant directly integrates with the external vault SDK and card data is captured and tokenized using the external vault SDK
Configuring External Vault on Hyperswitch
For External Vaults to work with Hyperswitch you need to configure the required API credentials on the Hyperswitch dashboard. You can do this by navigating to Orchestrator > Connector > Vault Processor and entering the required details.
1. Hyperswitch SDK and external vault
In this approach, the Hyperswitch SDK is used to capture card details, but card storage and tokenization are handled by an external vault. Hyperswitch backend orchestrates payments using tokens issued by the external vault.
New user payments flow
Load the Hyperswitch Payments SDK via Payments Create API request . The end-user enters their payment credentials for the selected payment option
The Payment Confirm API request containing the payment method is sent to the PSP from Hyperswitch
Once the PSP responds with the outcome
approvedordeclinedalong with the PSP token, Hyperswitch then proceeds to store and tokenize the card.The card is stored in external vault, which returns a
vault_tokenUpon receiving the
vault_token, Hyperswitch generates apayment_method_id. Apayment_method_idis a versatile token and connects a lot of entities together likecustomer_id,psp_token,vault_tokenThis
Payment_method_idis returned to the merchant via web hooks
Repeat user payments flow
In a repeat-user the payment, the Hyperswitch SDK will load the stored payment methods of the customer based the
customer_idsent as part of the Payments Create API request .The end-user can select the desired payment option and add their
CVVThe SDK sends the Payment Confirm API request when the user hits
PayThe Hyperswitch backend resolves the
payment_method_idto identify availablevault_tokenHyperswitch can use the
detokenizeflow to obtain the raw card in exchange for thevault_token. It will the send payload with the raw card credential to the payment provider or PSP downstream.
Merchant Initiated Transaction (MIT) flow
The merchant can perform the MIT or Recurring transactions using
payment_method_id

2. Hyperswitch SDK loading external vault SDK
In this flow, the External Vault SDK is layered directly onto the Hyperswitch Unified Checkout SDK. The External Vault SDK captures card details and tokenizes them immediately at the vault. This ensures that sensitive card data never touches the Hyperswitch server.
New user payments flow
Load the Hyperswitch Payments SDK via Payments Create API request . The end-user enters their payment credentials for the selected payment option. The Hyperswitch SDK in-turn loads the external vault SDK that has been configured in the merchant account.
The end-user enters their payment credentials for card payment method directly in the external vault SDK
The external vault SDK returns a
vault_tokenand associated card meta data to the Hyperswitch SDKThe Payment Confirm API request containing the
vault_tokenand associated card metadata is sent to Hyperswitch server by the Hyperswitch SDKHyperswitch server then creates the PSP payload based on the payment providers or PSPs configured for the merchant
This PSP Payload containing the
vault_tokenis sent to the Proxy endpoint of the external vaultThe external vault replaces the
vault_tokenwith the raw card and sends the request the PSPOnce the PSP responds with the outcome
approvedordeclinedalong with the PSP token, the Proxy endpoint of the external vault sends the response back to Hyperswitch serverUpon receiving the
vault_token, Hyperswitch generates apayment_method_id. Apayment_method_idis a versatile token and connects a lot of entities together likecustomer_id,psp_token,vault_tokenThis
Payment_method_idandvault_tokenare returned to the merchant via web hooks
Repeat user payments flow
In a repeat-user the payment, the Hyperswitch SDK will load the stored payment methods of the customer based the
customer_idsent as part of the Payments Create API request.The end-user can select the desired payment option and add their
CVVThe SDK sends the Payment Confirm API request API request to the Hyperswitch server when the user hits
PayThe Hyperswitch backend resolves the
payment_method_idto identify availablevault_tokenHyperswitch can use the
detokenizeflow to obtain the raw card in exchange for thevault_token. It will the send payload with the raw card credential to the payment provider or PSP downstream.
Merchant Initiated Transaction (MIT) flow
The merchant can perform the MIT or Recurring transactions using
payment_method_id

3. External vault SDK and storage
The merchant integrated with external vault SDK which manages the card data and user experience entirely independent of the Hyperswitch. The card is tokenized directly with the chosen vault, after which merchant will have to pass the token returned by external vault along with the card metadata to Hyperswitch to process the payment.
New user payments flow
Load the external vault SDK that has been integrated directly by the merchant.
The end-user enters their payment credentials for card payment method directly in the external vault SDK.
The external vault SDK returns a
vault_tokenand associated card meta data.The merchant will use Payments Create API request to send the
vault_tokenand associated card metadata to Hyperswitch server.Hyperswitch server then creates the PSP payload based on the payment providers or PSPs configured for the merchant
This PSP Payload containing the
vault_tokenis sent to the Proxy endpoint of the external vaultThe external vault replaces the
vault_tokenwith the raw card and sends the request the PSPOnce the PSP responds with the outcome
approvedordeclinedalong with the PSP token, the Proxy endpoint of the external vault sends the response back to Hyperswitch serverUpon receiving the
vault_token, Hyperswitch generates apayment_method_id. Apayment_method_idis a versatile token and connects a lot of entities together likecustomer_id,psp_token,vault_tokenThis
Payment_method_idandvault_tokenare returned to the merchant via web hooks
Repeat user payments flow
In a repeat-user the payment, the merchant needs to load the stored payment methods of the customer based the
customer_idsent as part of the Payment Method - List Customer Saved Payment Methods API request.The end-user can select the desired payment option and add their
CVV. ThisCVVis entered directly into the elements provided by external vault.The external vault tokenizes the CVV temporarily and returns a
temp_vault_tokenThe merchant will use Payments Create API request to send the
vault_tokenand thetemp_vault_tokenof the card selected by the end user.Hyperswitch server then creates the PSP payload based on the payment providers or PSPs configured for the merchant
This PSP Payload containing the
vault_tokenandtemp_vault_tokenis sent to the Proxy endpoint of the external vaultThe external vault replaces the
vault_tokenwith raw card, thetemp_vault_tokenwith CVV and sends the request the PSPOnce the PSP responds with the outcome
approvedordeclinedalong with the PSP token, the Proxy endpoint of the external vault sends the response back to Hyperswitch server
Merchant Initiated Transaction (MIT) flow
The merchant can perform the MIT or Recurring transactions using
vault_token
Last updated
Was this helpful?

