Self-hosted & in-house PCI
In this deployment, merchants self-host Hyperswitch and also manage their own PCI DSS compliance.
All card storage and tokenization are handled through the native Hyperswitch Vault, which is deployed within the merchant’s controlled environment.
This setup ensures full data ownership while leveraging Hyperswitch’s built-in PCI-compliant vault stack.
Key Highlights:
Native Hyperswitch Vault runs within the merchant’s infrastructure.
Merchant is fully responsible for PCI DSS certification and data handling.
Enables seamless use of Network Tokenization, Volatile Tokenization, and Guest Checkout Tokenization.
Ideal for highly regulated merchants (e.g., banks, payment institutions) that prefer on-prem control.
Self-hosted orchestration - Payments and vaulting flow

The sequence diagram above outlines how a self-hosted merchant performs payments and vaulting
New user payments flow
For self-hosting the Hyperswitch orchestration stack including vault follow the self-hosting guide
Load the Hyperswitch SDK. The end-user enters their payment credentials for the selected payment option
The Payments Create API request containing the payment method is sent to the PSP from Hyperswitch (self-hosted endpoint)
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 Hyperswitch vault and a
payment_method_idis generated. Apayment_method_idis a versatile token and connects a lot of entities together
Once the payment_method_id is generated, it serves as a reusable token. The business can pass this ID into the /payments API to execute any supported Payment functionality without re-collecting sensitive data.
The payment_method_id serves as a unique identifier mapped to a specific combination of a Customer ID and a unique Payment Instrument (e.g., a specific credit card, digital wallet, or bank account).
Logic: A single customer can have multiple payment methods, each assigned a distinct ID. However, the same payment instrument used by the same customer will always resolve to the same
payment_method_id.Scope: This uniqueness applies across all payment types, including cards, wallets, and bank details.
Customer ID
Payment Instrument
Payment Method ID
123
Visa ending in 4242
PM1
123
Mastercard ending in 1111
PM2
456
Visa ending in 4242
PM3
This
Payment_method_idis returned to the merchant via webhooks
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 available payment credentials - card, PSP token, network token and moreIt sends payload with appropriate credential to the payment provider or PSP downstream based on the merchant configurations
Merchant Initiated Transaction (MIT) flow
The merchant can perform the MIT or Recurring transactions using
payment_method_id
Last updated
Was this helpful?

