Skip to content

HyperSwitch

v1.123.1 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 15d API Development
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

adyen beginner-friendly featured finance fintech high-performance
+12 more
orchestration payment payment-gateway payment-integration payment-processing payments payments-platform restful-api rust sdk stripe works-with-react

Affected surfaces

auth

Summary

AI summary

Updates Bug Fixes, 1.123.1, and 2026-05-19 across a mixed release.

Changes in this release

Feature Medium

Add COF Data For CardWithLimitedDetails CIT And No-3DS Cards CIT to Peachpayments connector

Add COF Data For CardWithLimitedDetails CIT And No-3DS Cards CIT to Peachpayments connector

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Feature Medium

Implement profile-based payment method blocking with CardSubtype variants in blocking module

Implement profile-based payment method blocking with CardSubtype variants in blocking module

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Feature Medium

Enable Googlepay Predecrypted flow for Stripe connector

Enable Googlepay Predecrypted flow for Stripe connector

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Feature Medium

Add Apple Pay and Google Pay wallet support to ACI connector

Add Apple Pay and Google Pay wallet support to ACI connector

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Feature Medium

Add 3DS support to setup mandate flow in Cybersource connector

Add 3DS support to setup mandate flow in Cybersource connector

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Dependency Medium

Update wallet.apple_pay.connector_list to include aci and remove unnecessary connectors

Update wallet.apple_pay.connector_list to include aci and remove unnecessary connectors

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Dependency Medium

Update wallet.samsung_pay.connector_list to include aci

Update wallet.samsung_pay.connector_list to include aci

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Dependency Medium

Update wallet.google_pay.connector_list to include aci and remove unnecessary connectors

Update wallet.google_pay.connector_list to include aci and remove unnecessary connectors

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Dependency Medium

Add peachpayments to card.credit.connector_list

Add peachpayments to card.credit.connector_list

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Dependency Medium

Add peachpayments to card.debit.connector_list

Add peachpayments to card.debit.connector_list

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Dependency Medium

Update stripe tokenization configuration for Google Pay pre-decrypt flow

Update stripe tokenization configuration for Google Pay pre-decrypt flow

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Performance Medium

Database migration adds payment_method_blocking column to business_profile table

Database migration adds payment_method_blocking column to business_profile table

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Performance Medium

Creates card_issuers table with id, issuer_name, created_at, last_modified_at columns

Creates card_issuers table with id, issuer_name, created_at, last_modified_at columns

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

Fix analytics query issue

Fix analytics query issue

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Bugfix Medium

Add first name and last name for payments in Nmi connector

Add first name and last name for payments in Nmi connector

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Bugfix Medium

Update status mapping for Worldpayxml connector

Update status mapping for Worldpayxml connector

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Bugfix Medium

Validate client_secret in session and eligibility authentication APIs

Validate client_secret in session and eligibility authentication APIs

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Full changelog

1.123.1 (2026-05-19)

Features

  • Connector: [Peachpayments] Add COF Data For CardWithLimitedDetails CIT And No-3DS Cards CIT (#12001)
  • blocking: Add profile-based payment method blocking with CardSubtype variants (#11796) (#11915)
  • connector:
    • [Stripe] Googlepay Predecrypted flow stripe (#11919)
    • [ACI] Add Apple Pay and Google Pay wallet support (#12209)
    • [Cybersource] added 3ds support to setup mandate flow in Cybersource (#12329)

Bug Fixes

  • analytics: Analytics query fix (#12316)
  • connector:
    • [Nmi] add first name and last name for payments (#12003)
    • [Worldpayxml] update status mapping (#11749) (#12167)
  • Add client_secret validation in session and eligibility authentication apis (#11085)

Compatibility

This version of the Hyperswitch App server is compatible with the following versions of the other components:

Database Migration Changes

DB Difference between v1.123.0 and v1.123.1
-- Your SQL goes here
ALTER TABLE business_profile
ADD COLUMN IF NOT EXISTS payment_method_blocking JSONB;
-- Your SQL goes here
CREATE TABLE IF NOT EXISTS card_issuers (
    id VARCHAR(64) PRIMARY KEY,
    issuer_name VARCHAR NOT NULL UNIQUE,
    created_at TIMESTAMP NOT NULL,
    last_modified_at TIMESTAMP NOT NULL
);

Configuration Changes

diff --git a/config/deployments/sandbox.toml b/config/deployments/sandbox.toml
index 57cd9688e7..e0f0c84fb8 100644
--- a/config/deployments/sandbox.toml
+++ b/config/deployments/sandbox.toml
@@ -226,47 +226,47 @@ adyen = "Star,Pulse,Accel,Nyce"
 enabled = true

 [zero_mandates.supported_payment_methods]
 bank_debit.ach = { connector_list = "gocardless,adyen,payload" }
 bank_debit.becs = { connector_list = "gocardless,adyen" }
 bank_debit.bacs = { connector_list = "gocardless" }
 bank_debit.sepa = { connector_list = "gocardless,adyen" }
 card.credit.connector_list = "checkout,stripe,adyen,zift,authorizedotnet,cybersource,datatrans,worldpay,nmi,bankofamerica,wellsfargo,bamboraapac,nexixpay,novalnet,paypal,archipel,tesouro,mollie"
 card.debit.connector_list = "checkout,stripe,adyen,zift,authorizedotnet,cybersource,datatrans,worldpay,nmi,bankofamerica,wellsfargo,bamboraapac,nexixpay,novalnet,paypal,archipel,tesouro,mollie"
 pay_later.klarna.connector_list = "adyen"
-wallet.apple_pay.connector_list = "checkout,stripe,adyen,cybersource,bankofamerica,novalnet,nuvei,authorizedotnet,nmi,tesouro,worldpaymodular,worldpayxml"
-wallet.samsung_pay.connector_list = "cybersource"
-wallet.google_pay.connector_list = "checkout,stripe,adyen,cybersource,bankofamerica,novalnet,nuvei,authorizedotnet,nmi,tesouro,worldpaymodular,worldpayxml"
+wallet.apple_pay.connector_list = "aci,checkout,stripe,adyen,cybersource,bankofamerica,novalnet,nuvei,authorizedotnet,nmi,tesouro,worldpaymodular,worldpayxml"
+wallet.samsung_pay.connector_list = "aci,cybersource"
+wallet.google_pay.connector_list = "aci,checkout,stripe,adyen,cybersource,bankofamerica,novalnet,nuvei,authorizedotnet,nmi,tesouro,worldpaymodular,worldpayxml"
 wallet.paypal.connector_list = "adyen,novalnet"
 wallet.momo.connector_list = "adyen"
 wallet.kakao_pay.connector_list = "adyen"
 wallet.go_pay.connector_list = "adyen"
 wallet.gcash.connector_list = "adyen"
 wallet.dana.connector_list = "adyen"
 wallet.twint.connector_list = "adyen"
 wallet.vipps.connector_list = "adyen"
 bank_redirect.ideal.connector_list = "adyen"
 bank_redirect.bancontact_card.connector_list = "adyen"
 bank_redirect.trustly.connector_list = "adyen"
 bank_redirect.open_banking_uk.connector_list = "adyen"

 [mandates.supported_payment_methods]
 bank_debit.ach = { connector_list = "gocardless,adyen,stripe,payload" }
 bank_debit.becs = { connector_list = "gocardless,stripe,adyen" }
 bank_debit.bacs = { connector_list = "stripe,gocardless" }
 bank_debit.sepa = { connector_list = "gocardless,adyen,stripe,deutschebank" }
-card.credit.connector_list = "aci,checkout,stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload,paysafe,finix,tesouro,mollie,airwallex"
-card.debit.connector_list = "aci,checkout,stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload,paysafe,finix,tesouro,mollie,airwallex"
+card.credit.connector_list = "aci,checkout,stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload,paysafe,finix,tesouro,mollie,airwallex,peachpayments"
+card.debit.connector_list = "aci,checkout,stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload,paysafe,finix,tesouro,mollie,airwallex,peachpayments"
 pay_later.klarna.connector_list = "adyen,aci"
-wallet.apple_pay.connector_list = "checkout,stripe,adyen,braintree,cybersource,noon,bankofamerica,nexinets,novalnet,nuvei,authorizedotnet,wellsfargo,worldpaymodular,worldpayvantiv,finix,nmi,tesouro,worldpayxml"
-wallet.samsung_pay.connector_list = "cybersource"
-wallet.google_pay.connector_list = "checkout,stripe,adyen,cybersource,bankofamerica,noon,globalpay,multisafepay,novalnet,nuvei,authorizedotnet,wellsfargo,worldpaymodular,worldpayvantiv,finix,nmi,tesouro,worldpayxml"
+wallet.apple_pay.connector_list = "aci,checkout,stripe,adyen,braintree,cybersource,noon,bankofamerica,nexinets,novalnet,nuvei,authorizedotnet,wellsfargo,worldpaymodular,worldpayvantiv,finix,nmi,tesouro,worldpayxml"
+wallet.samsung_pay.connector_list = "aci,cybersource"
+wallet.google_pay.connector_list = "aci,checkout,stripe,adyen,cybersource,bankofamerica,noon,globalpay,multisafepay,novalnet,nuvei,authorizedotnet,wellsfargo,worldpaymodular,worldpayvantiv,finix,nmi,tesouro,worldpayxml"
 wallet.paypal.connector_list = "adyen,globalpay,nexinets,novalnet,paypal,authorizedotnet"
 wallet.momo.connector_list = "adyen"
 wallet.kakao_pay.connector_list = "adyen"
 wallet.go_pay.connector_list = "adyen"
 wallet.gcash.connector_list = "adyen"
 wallet.dana.connector_list = "adyen"
 wallet.twint.connector_list = "adyen"
 wallet.vipps.connector_list = "adyen"

 bank_redirect.ideal.connector_list = "stripe,adyen,globalpay,multisafepay,nexinets,aci"
@@ -824,20 +824,23 @@ debit = { country = "AD,AE,AT,BE,BG,CH,CN,CO,CR,CY,CZ,DE,DK,DO,EE,EG,ES,ET,FI,FR
 mb_way = { country = "EE,ES,PT", currency = "EUR" }
 ali_pay = { country = "CN", currency = "CNY" }
 eps = { country = "AT", currency = "EUR" }
 ideal = { country = "NL", currency = "EUR" }
 giropay = { country = "DE", currency = "EUR" }
 sofort = { country = "AT,BE,CH,DE,ES,GB,IT,NL,PL", currency = "CHF,EUR,GBP,HUF,PLN"}
 interac = { country = "CA", currency = "CAD,USD"}
 przelewy24 = { country = "PL", currency = "CZK,EUR,GBP,PLN" }
 trustly = { country = "ES,GB,SE,NO,AT,NL,DE,DK,FI,EE,LT,LV", currency = "CZK,DKK,EUR,GBP,NOK,SEK" }
 klarna = { country = "AU,AT,BE,CA,CZ,DK,FI,FR,DE,GR,IE,IT,NL,NZ,NO,PL,PT,ES,SE,CH,GB,US", currency = "CHF,DKK,EUR,GBP,NOK,PLN,SEK,USD,AUD,NZD,CAD" }
+apple_pay = { country = "AU,CN,HK,JP,MO,MY,NZ,SG,TW,AM,AT,AZ,BY,BE,BG,HR,CY,CZ,DK,EE,FO,FI,FR,GE,DE,GR,GL,GG,HU,IS,IE,IM,IT,KZ,JE,LV,LI,LT,LU,MT,MD,MC,ME,NL,NO,PL,PT,RO,SM,RS,SK,SI,ES,SE,CH,UA,GB,AR,CO,CR,BR,MX,PE,BH,IL,JO,KW,PS,QA,SA,AE,CA,US,KR,VN,MA,ZA", currency = "AED,AUD,CAD,CHF,EUR,GBP,HKD,SGD,USD" }
+google_pay = { country = "AL,DZ,AS,AO,AG,AR,AU,AT,AZ,BH,BY,BE,BR,BG,CA,CL,CO,HR,CZ,DK,DO,EG,EE,FI,FR,DE,GR,HK,HU,IN,ID,IE,IL,IT,JP,JO,KZ,KE,KW,LV,LB,LT,LU,MY,MX,NL,NZ,NO,OM,PK,PA,PE,PH,PL,PT,QA,RO,SA,SG,SK,ZA,ES,LK,SE,CH,TW,TH,TR,UA,AE,GB,US,UY,VN" }
+samsung_pay = { country = "AU,BH,BR,CA,CN,DK,FI,FR,DE,HK,IN,IT,JP,KZ,KR,KW,MY,NZ,NO,OM,QA,SA,SG,ZA,ES,SE,CH,TW,AE,GB,US", currency = "AED,AUD,CAD,CHF,EUR,GBP,HKD,SGD,USD" }

 [pm_filters.gigadat]
 interac = { currency = "CAD"}

 [pm_filters.loonio]
 interac = { currency = "CAD"}

 [pm_filters.coingate]
 crypto_currency = { country = "AL, AD, AT, BE, BA, BG, HR, CZ, DK, EE, FI, FR, DE, GR, HU, IS, IE, IT, LV, LT, LU, MT, MD, NL, NO, PL, PT, RO, RS, SK, SI, ES, SE, CH, UA, GB, AR, BR, CL, CO, CR, DO, SV, GD, MX, PE, LC, AU, NZ, CY, HK, IN, IL, JP, KR, QA, SA, SG, EG", currency = "EUR, USD, GBP" }

@@ -922,21 +925,21 @@ redsys = { payment_method = "card" }
 #tokenization configuration which describe token lifetime and payment method for specific connector
 [tokenization]
 braintree = { long_lived_token = false, payment_method = "card,wallet" }
 checkout = { long_lived_token = false, payment_method = "wallet", apple_pay_pre_decrypt_flow = "network_tokenization", google_pay_pre_decrypt_flow = "network_tokenization" }
 gocardless = { long_lived_token = true, payment_method = "bank_debit" }
 hipay = { long_lived_token = false, payment_method = "card" }
 mollie = { long_lived_token = false, payment_method = "card" }
 payme = { long_lived_token = false, payment_method = "card" }
 square = { long_lived_token = false, payment_method = "card" }
 stax = { long_lived_token = true, payment_method = "card,bank_debit" }
-stripe = { long_lived_token = false, payment_method = "wallet", payment_method_type = { list = "google_pay", type = "disable_only" } }
+stripe = { long_lived_token = false, payment_method = "wallet", google_pay_pre_decrypt_flow = "connector_tokenization" ,payment_method_type = { list = "google_pay", type = "disable_only" }}
 billwerk = {long_lived_token = false, payment_method = "card"}
 globalpay = { long_lived_token = false, payment_method = "card", flow = "mandates" }
 dwolla = { long_lived_token = true, payment_method = "bank_debit" }
 finix= { long_lived_token = false, payment_method = "card,wallet" }
 paysafe= { long_lived_token = false, payment_method = "card,wallet" ,payment_method_type = { type = "enable_only", list = "apple_pay,credit,debit"},allowed_card_authentication_type= "no_three_ds"}

 [webhooks]
 outgoing_enabled = true
 redis_lock_expiry_seconds = 180

Full Changelog: v1.123.0...v1.123.1

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track HyperSwitch

Get notified when new releases ship.

Sign up free

About HyperSwitch

Payment switch to make payments fast, reliable and affordable. Connect with multiple payment processors and route traffic effortlessly, all with a single API integration.

All releases →

Beta — feedback welcome: [email protected]