LogoLogo
Explore with DeepWikiJoin Slack CommunityContact Us
  • About Hyperswitch
    • Exploration Guide
    • Overview
    • Payments Suite
    • Payments Modules
      • Cost Observability
      • Revenue Recovery
      • Vault
        • Server to Server Vault tokenization
        • Vault SDK Integration
        • Hyperswitch Vault: Pass Through Proxy Payments
      • Intelligent Routing
      • Reconciliation
        • Getting Started with Recon
      • Alternate Payment Method Widgets
        • Hyperwidget Integration Guide
    • Roadmap - Q2 2025
      • Previous Roadmap - Q1 2025
      • Previous Roadmap - Q4 2024
      • Previous Roadmap - Q3 2024
      • Previous Roadmap - Q2 2024
      • Previous roadmap - Q1 2024
      • Previous roadmap - Q4 2023
  • Use-Cases
    • For SaaS Businesses
    • For B2B SaaS Businesses
    • For E-Commerce Businesses
    • For Marketplace/Platforms
  • Explore Hyperswitch
    • Payment Orchestration
      • Accept Payments
        • Connectors
          • Activate Connector on Hyperswitch
          • Try a Payment
          • Available Connectors
            • ACI
            • Adyen
            • Airwallex
            • Authorizedotnet
            • Bambora
            • Bank of America
            • Billwerk
            • Bluesnap
            • Braintree
            • Checkout
            • Coinbase
            • Cybersource
              • Apple Pay
              • Google Pay
            • dLocal
            • Fiserv
            • GlobalPayments
            • GoCardless
            • Klarna
            • Mollie
            • MultiSafepay
            • Nuvei
            • OpenNode
            • Paypal
            • PayU
            • Prophetpay
            • Rapyd
            • Shift4
            • Stripe
            • TrustPay
            • Volt
            • Worldline
            • Worldpay
            • Zen
            • Netcetera
              • Authenticating Payments via Netcetera Through HyperSwitch SDK
        • Setup Payment Methods
          • Cards
          • Wallets
            • Apple Pay
              • Web Domain
              • iOS Application
            • Google Pay
            • PayPal
          • Pay Later
          • Banks
            • Bank Debits
            • Bank Redirects
            • Bank Transfers
            • Open Banking
          • Crypto
          • Test Credentials
        • Payment Links
          • Configurations
          • Create Payment Links
          • Secure Payment Links
          • Setup Custom Domain
        • Save a Payment Method
        • Manual Capture
        • Incremental Authorization
        • Tokenization & Card Vault
          • Network Tokenisation
        • Supported Payment Workflows
        • Co-badged Cards
        • Webhooks
      • Process Payouts
        • Getting Started with Payouts
        • Using Saved Payment Methods
        • Smart Router for Payouts
        • Smart Retries in Payout
        • Payout Links
      • Smart Routing
        • Rule Based Routing
        • Volume Based Routing
        • Default Fallback Routing
      • Smart Retries
        • 3DS Step-up Retries
      • 3DS / Strong Customer Authentication
        • Setting up 3DS Decision Manager
        • Native 3DS Authentication
        • External Authentication for 3DS
      • Fraud & Risk Management
        • Activating FRM in Hyperswitch
        • Fraud Blocklist
      • Subscriptions
        • PG Agnostic Card Forwarding
        • Zero Amount Authorization
      • Split Payments
        • Stripe Split Payments
        • Adyen Split Payments
        • Xendit Split Payments
    • Checkout Experience
      • Customizable and Native Integrations
        • Web
          • Node And React
          • Customization
          • Error Codes
          • Node and HTML
          • Vanilla JS and REST API Integration
        • Android
          • Kotlin with Node Backend
          • Customization
          • Features
        • iOS
          • Swift with Node Backend
          • Customization
          • Features
        • React Native
          • React Native with Node Backend
          • Card Widget
          • Customization
        • Flutter
          • Flutter with Node Backend
          • Customization
        • Headless SDK
        • Server Setup
      • Click To Pay
        • Visa Click to Pay: V1 to V2 Migration
      • Payment Methods Management
    • Payment Operations
      • Managing Accounts and Profiles
        • ⚙️Control Centre Account setup
        • Hyperswitch Account Structure
      • Manage Your Team
      • Analytics & operations
        • Exporting payments data
      • Disputes / Chargebacks
      • Surcharge
        • Surcharge Setup guide
      • Multi-Tenancy
      • Data migration
        • Import data to Hyperswitch
        • Export data from Hyperswitch
    • Security and Compliance
      • PCI Compliance
      • Data Security
      • GDPR compliance
      • Identity and Access Management
    • E-commerce Platform Plugins by Hyperswitch
      • 🔌WooCommerce Plugin
        • Setup
        • Roadmap
        • Compatibility
        • FAQs
      • Saleor App
        • Setup
      • Automatic Tax calculation for Express Checkout wallets
  • Hyperswitch open source
    • Overview
      • Run Hyperswitch Locally Using Docker
        • Run Additional Services
      • Development Environment Setup
        • Backend
          • Configure and Run the Application
          • Try out APIs
        • SDK (Frontend)
        • Control Center
    • Deploy on AWS
      • Deploy on AWS using CloudFormation
      • Component-wise Deployment
        • Deploy app server
        • Deploy Control Center
        • Deploy web client
          • Production ready deployment
          • Integrate web client on your web app
          • Playground deployment for prototyping (optional)
        • Deploy Card Vault
          • Production ready deployment on AWS
          • Cloud setup guide
    • Deploy on Kubernetes
      • Deploy on GCP Using Helm Charts
      • Deploy on Azure Using Helm Charts
    • Account setup
      • Using Hyperswitch Control Center
      • Test a payment
      • Using postman
    • Troubleshooting
  • Testing Payments
  • Check list for Production
    • Going live
      • For SaaS Setup
      • For On-Prem Setup
        • Monitoring
        • PCI compliance
          • Get started
          • Completing the SAQ
        • Data Security
        • Updates
  • Learn more
    • API Reference
    • Connectors Supported
    • SDK Reference
      • React
      • JS
      • Custom Events
    • Hyperswitch architecture
      • Router
      • Storage
      • A Payments Switch with virtually zero overhead
    • Payment flows
    • Blog
  • Community Guidelines
Powered by GitBook

Compliance

  • Vulnerability Disclosure
  • PCI DSS 4.0
  • ISO 27001:2022

Community

  • Slack
  • Discord
  • GitHub Discussion
On this page
  • Prerequisites
  • Part 1: Setting Up AKS
  • Part 2: Deploy Hyperswitch Using Helm
  • Expose Hyperswitch Services Locally
  • Test a payment
  • Explore Further
  • Uninstall Hyperswitch & Delete AKS Cluster
  • Troubleshooting
  • Customization & Configuration

Was this helpful?

  1. Hyperswitch open source
  2. Deploy on Kubernetes

Deploy on Azure Using Helm Charts

Last updated 5 days ago

Was this helpful?

Prerequisites

Ensure the following tools are installed and configured:

1. Azure CLI

The Azure Command-Line Interface (CLI) is a cross-platform tool that allows you to manage Azure resources. To install please visit thedocumentation.

Before setting up AKS, you'll need to . Simply follow the on-screen instructions. Note that billing information will be required during the sign-up process.

2. kubectl

kubectl is the command-line tool for interacting with Kubernetes clusters. To install kubectl please refer to the .

3. Helm

Helm is a package manager for Kubernetes applications. To install please refer to .

Part 1: Setting Up AKS

  1. Log In to Azure

Authenticate with your Azure account:

az login

Follow the browser prompts to log in.

  1. Create a Resource Group

Before provisioning your AKS cluster, create a resource group to organize and manage related resources.

Use the following command, replacing <resource-group-name> with your desired name and <location> with your preferred Azure region (e.g., eastus):

az group create --name <resource-group-name> --location <location>

Example:

az group create --name myAKSResourceGroup --location eastus

This will create a new resource group named myAKSResourceGroup in the eastus region.

  1. Enable the Microsoft.Compute Resource Provider

To use AKS, you must register the Microsoft.Compute resource provider:

az provider register --namespace Microsoft.Compute

If the registration state shows "Registering", wait a few minutes for it to complete. You can check the current state with:

az provider show --namespace Microsoft.Compute --query "registrationState"

Proceed once the status returns "Registered".

  1. Register the Operational Insights Resource Provider

To enable monitoring features in AKS, register the Microsoft.OperationalInsights provider:

az provider register --namespace Microsoft.OperationalInsights

You can check the registration status with:

az provider show --namespace Microsoft.OperationalInsights --query "registrationState"

Wait until the status shows "Registered" before proceeding.

  1. Register the Microsoft.ContainerService Provider

Before creating your AKS cluster, you must register the Microsoft.ContainerService resource provider, which is required to manage Kubernetes clusters in Azure.

Run the following command:

az provider register --namespace Microsoft.ContainerService

Then check the registration status:

az provider show --namespace Microsoft.ContainerService --query "registrationState"

Wait until the output returns:

"Registered"

Once it's registered, you can proceed with creating your AKS cluster.

  1. Create an AKS Cluster

Create an AKS cluster with your specified parameters. Replace <resource-group-name> with your resource group name, <cluster-name> with your desired AKS cluster name, and adjust other parameters as needed:

az aks create --resource-group <resource-group-name> \
    --name <cluster-name> \
    --node-count 1 \
    --node-vm-size Standard_A4_v2 \
    --enable-managed-identity \
    --generate-ssh-keys

For example:

az aks create \
  --resource-group myAKSResourceGroup \
  --name myAKSCluster \
  --node-count 1 \
  --node-vm-size Standard_A4_v2 \
  --enable-managed-identity \
  --generate-ssh-keys

Note: The --generate-ssh-keys parameter will create SSH keys if they do not already exist.

  1. Connect to the AKS Cluster

Once your AKS cluster is created, you can connect to it using kubectl.

  1. Retrieve the cluster credentials:

This command configures your local kubectl context to interact with the AKS cluster:

az aks get-credentials --resource-group myAKSResourceGroup --name myAKSCluster
  1. Verify the connection:

Run the following to ensure you're connected and the node is active:

kubectl get nodes

You should see an output similar to the one below. Make sure to note the Name of your node. You’ll need it in Part 2

NAME                                STATUS   ROLES    AGE    VERSION
aks-nodepool1-40058682-vmss000000   Ready    <none>   3m6s   v1.31.8

You should see your AKS node listed in the output. If so, you're now connected and ready to deploy to your cluster!

Part 2: Deploy Hyperswitch Using Helm

  1. Add the Hyperswitch Helm Repository

helm repo add hyperswitch https://juspay.github.io/hyperswitch-helm

Update the repository to fetch the latest charts:

helm repo update
  1. Prepare the Kubernetes Cluster

  • Label the Node for Hyperswitch:

Replace <node-name> with the name of your node (use kubectl get nodes to find it). We saved the name on Part I, Step 7.

kubectl label nodes <node-name> node-type=generic-compute

For example:

kubectl label nodes aks-nodepool1-40058682-vmss000000 node-type=generic-compute
  • Create a Namespace:

Namespaces help organize and isolate resources within your Kubernetes cluster. To create a new namespace, use the following command:

kubectl create namespace <namespace>

Example:

kubectl create namespace hyperswitch

This creates a namespace called hyperswitch-dev where you can deploy and manage related workloads separately from other environments.

  1. Install Hyperswitch

Use Helm to deploy Hyperswitch into your Kubernetes cluster. Replace <release-name> with your chosen release name and <namespace> with the namespace you previously created:

helm install <release-name> hyperswitch/hyperswitch-stack -n <namespace>

Example:

helm install hyperswitch-dev hyperswitch/hyperswitch-stack -n hyperswitch

This command installs the Hyperswitch stack into the specified namespace, allowing you to manage and upgrade the deployment easily through Helm.

  1. Verify Installation

  • Check Pod Status:

Ensure all pods are in the Running state:

kubectl get pods -n <namespace>

Example:

kubectl get pods -n hyperswitch
  • Check Helm Release:

helm list -n <namespace>

Example:

helm list -n hyperswitch

That's it! Hyperswitch should be up and running on your Azure account 🎉

Expose Hyperswitch Services Locally

Use the following command for port-forwarding to access the services. Replace <namespace> with your namespace:

kubectl port-forward service/hyperswitch-server 8080:80 -n <namespace> > /dev/null 2>&1 & \
kubectl port-forward service/hyperswitch-control-center 9000:80 -n <namespace> > /dev/null 2>&1 & \
kubectl port-forward service/hyperswitch-web 9050:9050 -n <namespace> > /dev/null 2>&1 & \
kubectl port-forward service/<release-name>-grafana 3000:80 -n <namespace> > /dev/null 2>&1 & \
kubectl port-forward service/<release-name>-vector 3103:3103 -n <namespace> > /dev/null 2>&1 & \
kubectl port-forward service/mailhog 8025:8025 -n <namespace> > /dev/null 2>&1 &

Access the services at:

Afterwards, you’ll be taken straight to the Control Center. If you're just taking things for a spin, feel free to skip authentication and start exploring right away.

Test a payment

Explore Further

Once you are done with the test payment, you can explore more about these:

Uninstall Hyperswitch & Delete AKS Cluster

  1. Uninstall Hyperswitch:

helm uninstall <release-name> -n <namespace>

Example:

helm uninstall hyperswitch -n hyperswitch

  1. Delete the namespace:

kubectl delete namespace <namespace>

Example:

kubectl delete namespace hyperswitch

  1. Delete the AKS cluster completely:

az aks delete --name <cluster-name> --resource-group <resource-group> --yes --no-wai

Example:

az aks delete --resource-group myAKSResourceGroup --name myAKSCluster --yes

Troubleshooting

  • View Pod Logs:

    To view logs for a specific pod:

    kubectl logs <pod-name> -n <namespace>
  • View Events:

    To view events in the namespace:

    kubectl get events -n <namespace> --sort-by='.metadata.creationTimestamp'
  • Reinstall Chart:

    If issues persist, uninstall and reinstall Hyperswitch:

    helm uninstall <release-name> -n <namespace>
    helm install <release-name> hyperswitch/hyperswitch-stack -n <namespace>

Customization & Configuration

To customize Hyperswitch, clone the Helm chart repository and modify values.yaml:

git clone https://github.com/juspay/hyperswitch-helm.git

Update the values.yaml file inside hyperswitch-stack/ and apply changes with:

helm upgrade --install <release-name> hyperswitch/hyperswitch-stack -n <namespace>

App server:

Control center:

Hyperswitch Web:

Grafana:

Vector:

Mailhog:

The quickest way to explore Hyperswitch is via the . You can create an account or sign in with your email:

A magic link will be sent to . Click on the link in white:

Use can now use the Hyperswitch Control Center and .

Refer our to try out REST APIs.

official Microsoft
create an Azure account
Kubernetes documentation
helm documentation
http://localhost:8080
http://localhost:9000
http://localhost:9050/HyperLoader.js
http://localhost:3000
http://localhost:3103
http://localhost:8025
Control Center
Mailhog
make a payment with dummy card
postman collection

How to set up routing rules

How to integrate Hyperswitch with your app

List of supported payment processors and payment methods

AI Powered observability to reduce cost