Skip to content

Releases: juspay/hyperswitch

Hyperswitch v1.118.0

15 Oct 08:48

Choose a tag to compare

1.118.0 (2025-10-14)

Docker Images

  • v1.118.0 (with AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.118.0

  • v1.118.0-standalone (without AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.118.0-standalone

Features

  • Connector: [checkout] l2l3 data (#9446)
  • celero: CIT-MIT for celero (ALPHA CONNECTOR) (#9026)
  • connector:
    • [AMAZONPAY] add Payment flows for Amazon Pay Wallet (#7062)
    • Introduce setup mandate flow for payload (#9110)
    • Add Connector Specifications (#8797)
    • [SANTANDER] Added Boleto Payment Method (#9008)
    • [ADYEN] Add Support for MOTO Payments (#9134)
    • [SHIFT4] Pass metadata to connector (#9254)
    • [Paysafe] Integrate no 3ds card (#9127)
    • [Barclaycard] Add Apple Pay Flow (#8885)
    • [checkout] Add mandate flow (#9248)
    • Enhance ACI connector with comprehensive 3DS support - DRAFT (#8986)
    • [checkout] add support for MOTO payments (#9327)
    • [ADYEN] Add support to ideal Mandate Webhook (#9347)
    • [Paysafe] Implement card 3ds flow (#9305)
    • Add Peachpayments Template Code (#9363)
    • [PeachPayments] Add Cards Flow (#9030)
    • [Novalnet] read and send scheme_tid for NTI flows (#9337)
    • [TRUSTPAYMENTS] Integrate cards non 3ds payments (#8705)
    • [Paysafe] implement Skrill wallet Payment Method (#9396)
    • Create Customer for Chargebee (#9304)
    • Add support for get plan prices for Chargebee (#9300)
    • [Paysafe] add wasm changes (#9455)
    • [Tokenex] add template code (#9416)
    • [Gigadat] Connector Template code (#9450)
    • [Tokenex]Add external vault insert and retrieve flows (#9470)
    • [ADYEN ]: send execute_three_d in no3ds adyen (#9339)
    • [checkout] Add NTID flow (#9449)
    • [paysafe] introduce applepay encrypt and predecrypt flow (#9358)
    • [Gigadat] integrate interac bank redirect payment method (#9525)
    • [Tesouro] Add template code (#9555)
    • [Checkout] Add Google Pay Predecrypt Flow (#9130)
    • [Loonio] Add template code (#9586)
    • [Loonio] Implement interac Bank Redirect Payment Method (#9620)
  • connectors: [Stripe] add extended authorization for cards (#9084)
  • core:
    • Add Merchant Tax ID in Merchant Profile (#8992)
    • [proxy payments] send external vault proxy metadata to UCS (#9108)
    • Update payment methods api (#9075)
    • Add subscription table (#9133)
    • Add Network Details in Payments Response (#9273)
    • [Retry] MIT Retries (#8628)
    • Add first_name and last_name as Secret Types. (#9326)
    • Add manual retry cutoff duration (#9330)
    • Juspay 3DS Server via Payments API (#9433)
    • Add webhook setup event handler (#9420)
    • Add referer field to browser_info (#9474)
    • Confirm true mandatory when using stored payment method id in payouts (#9424)
    • Update additional payment method data in psync response (#9519)
    • [Nuvei] add stored credentials flag (#9515)
  • crypto: Add RSA-SHA-256 signature verification (#9080)
  • euclid_wasm: Add wasm changes for payout webhooks (#9524)
  • finix: Template code (#9557)
  • framework: Added smithy, smithy-core and smithy-generator crates (#9249)
  • injector: Injector request formation changes (#9306)
  • migration: Perform card validation only for allowed payment methods (#9131)
  • nuvei:
    • NTID Support + googlepay & applepay mandate support (#9081)
    • Add mandate support for integ,prod,and sbx for googlepay applepay (#9256)
    • Map NTID for nuvei payment responses (#9261)
    • Applepay decrypt at hyperswitch flow (#9431)
  • payments: Add tokenization action handling to payment flow for braintree (#9506)
  • payouts:
    • Mapped Default Values to Unified Error Code and Message (#9262)
    • Add payout currency in wasm crate (#9626)
    • [Nuvei] add payout flows (#9618)
  • revenue_recovery:
    • Add support for updating additional card info data from csv to redis (#9233)
    • Implement redis API to update the lock status for connector customer id (#9403)
  • router:
    • Add payment_type to Get Intent response (v2) (#9066)
    • Payment Intent and MCA changes for split payments (#9049)
    • Add support for overcapture (#8949)
    • Add Connector changes for 3ds (v2) (#9117)
    • Add gift card balance check endpoint (v2) (#9102)
    • Handle incoming webhooks adyen (#9372)
    • Add flag to wait for post message in threeDSMethodData for three_ds_invoke next action in Payments Confirm (#9454)
    • Add v2 payment cancellation flow (#9083)
    • Add external vault support in v1 payments flow (#9274)
    • Add attempts_group DB changes for split payments (v2) (#9466)
    • Add Confirm-Intent API contract changes for split payments (v2) (#9469)
  • subscription: Add support to estimate for a subscription in chargebee (#9336)
  • subscriptions:
    • Add route for creating subscription intent (#9123)
    • Add Subscription confirm handler (#9353)
  • ucs:
    • Add event logging for UCS operations (#9058)
    • Transmit merchant order reference id to unified connector service (#9352)
    • Add profile ID to lineage tracking in Unified Connector Service (#9559)
  • webhooks: Provide outgoing webhook support for revenue recovery (#9294)
  • Customise default theme (#9243)
  • Add hyperswitch ai chats table (#8831)
  • Implement subscription create for Chargebee (#9303)
  • Add invoice table (#9348)

Bug Fixes

  • Nuvei: Post capture void , proper mapping for nuvei (#9292)
  • **ap...
Read more

Hyperswitch v1.117.0

15 Sep 10:01

Choose a tag to compare

1.117.0 (2025-09-11)

Docker Images

  • v1.117.0 (with AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.117.0

  • v1.117.0-standalone (without AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.117.0-standalone

Features

  • api: Adds support to change reveue_recovery_retry_algorithm_type using UpdateProfileAPI (V2) (#8858)
  • checkbook_io: Connector integrate ACH (#8730)
  • connector:
    • [SILVERFLOW] Integrate cards non 3ds payments (#8591)
    • [TRUSTPAYMENTS] Add Template Code (#8672)
    • [AIRWALLEX] Added Ideal & Skrill payment methods (#8535)
    • [Breadpay]Add support for Breadpay connector (#8676)
    • [Flexiti]template code for flexiti connector (#8714)
    • [MPGS] template code (#8544)
    • [BLUECODE] Added Template Code (#8756)
    • [FISERV] Added GooglePay Payment Method - Connector Decryption Flow (#8658)
    • [Adyen] receive incoming webhooks for pix expiry (#8720)
    • [Flexiti]Add support for flexiti connector (#8743)
    • [payload] add recurring payments (#8597)
    • [facilitapay] fix refunds, add webhook and void support (#8778)
    • [cybersource] add changes for field CybersourceConsumerAuthInformation (#8768)
    • [katapult]add template code for katapult (#8783)
    • [BLUECODE] Added Bluecode Wallet QR Code Redirect Payment Method (#8762)
    • [NMI] Add mandates flow (#8652)
    • [AUTHORIZEDOTNET] create connector customer flow added (#8774)
    • [Barclaycard] Add Google Pay Payment Method (#8786)
    • [WORLDPAYVANTIV] Populate Network Decline Error Code & Message (#8856)
    • [FISERV] Added PayPal Redirect Payment Method (#8669)
    • [SIFT] add Connector Template Code (#8488)
    • Add support of passing metadata in adyen payment request (#8871)
    • [STRIPE] Add Incremental Authorization Flow (#8569)
    • [FISERV] Added ApplePay Wallet (#8670)
    • [NUVEI] Added support for AVC CVV checks, post confirm void and 0$ txns (#8766)
    • [Hyperwallet] template code (#8926)
    • [DWOLLA] Connector integration (#8586)
    • [CELERO] Integrate Card Payments (Alpha) (#8574)
    • [barclaycard] Implement 3DS flow for cards (#8936)
    • Add integration status to feature matrix (#8351)
    • [BHN] Add BHN GiftCard Flow( Alpha) (#8701)
    • [AFFIRM] BNPL flow added (Alpha) (#8795)
    • Add VGS connector impls (#7942)
    • [Adyenplatform] process payouts using PSP tokens (#9040)
    • [Paysafe] add connector template code (#9011)
    • [Nuvei] Implement setup mandate flow for cards (#9012)
  • core:
    • Consuming locale in PaymentsAuthorizeData from SessionState (#8731)
    • Hyperswitch <|> UCS Mandate flow integration (#8738)
    • Implement UCS based upi for paytm and phonepe (#8732)
    • Populate UCS status_code in response headers (#8788)
    • Add L2_L3 Data Support (#8828)
    • Added additional authentication fields for 3ds external authentication (#8758)
    • Add support for Void after Capture (#8839)
    • Adding integration for webhooks through UCS (#8814)
    • Fix Applepay/Gpay for Trustpay (#8881)
    • Add support for api locking with multiple keys for a single api (#8887)
    • Added Reward PaymentMethod & CurrencyAuthKey for Hyperswitch <> UCS Integration (#8767)
    • Add network_transaction_id in payments Response (#9032)
    • Added support for unified_connector_service CardNumber and Secret Type (#9044)
    • Update payment methods api (#9242)
  • core/connector: Introduce authentication token flow and add sepa bankdebit for nordea (#8133)
  • external_services: Fixed Url for Unified Connector Service gRPC Client (#8587)
  • feature_matrix: Add feature matrix for both paytm and phonepe (#8822)
  • gRPC: Build gRPC client interface to initiate communication with recovery-decider service (#8178)
  • injector: Add support for new crate - injector for external vault proxy (#8959)
  • nuvei: Googlepay , applepay and partial authorization integration for nuvei (#8985)
  • payment-link:
    • Update traditional chinese local (#8935)
    • Update traditional chinese paymentlink exp msg (#9007)
    • Handle locale in payment links (#9064)
  • payment-methods:
    • Add filtering logic for payment method list v2 (#8606)
    • [Proxy] add saved card flow for proxy payments (#8964)
  • payment_methods: Add payment-methods/filter endpoint to list countries and currencies for connector payment method in v2 (#8978)
  • payments: Add PaymentListFilterConstraints and payments_list_by_filter endpoint for v2 (#8794)
  • payouts: Add payout webhooks for Paypal and Wise (#8888)
  • recovery: Add support for custom billing api for v2 (#8838)
  • recovery-events: Add revenue recovery topic and vector config to push these events to s3 (#8285)
  • revenue: Add support for hard-decline switch for revenue-recovery service (#8879)
  • revenue_recovery:
    • Add redis-based payment processor token tracking for revenue recovery (#8846)
    • Introducing new calculate job for card switching and invoice queueing (#8848)
  • router:
    • Introduce feature and feature_data to gsm (#7771)
    • [worldpayvantiv] add support for moto flag for v1 and extend vantiv api contract (#8800)
    • Add support for apple pay pre-decrypted token in the payments confirm call (#8815)
    • [worldpayvantiv] add dispute list sync and implement dispute (#8830)
    • Add support for partial authorization (#8833)
    • Add support for GooglePay pre-decrypted token in the payments confirm call (#8865)
    • Add tokenization support for proxy and update the route for proxy (#8530)
    • Add new api for delete tokenization record (#8361)
    • Add support for confirm-intent external vault proxy flow (#8923)
    • Verify service for applepay merchant registration v2 (#8999)
    • Add support to use signature_network and is_issuer_regulated as filters ([#90...
Read more

Hyperswitch v1.116.0

11 Aug 09:58

Choose a tag to compare

1.116.0 (2025-08-05)

Docker Images

  • v1.116.0 (with AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.116.0

  • v1.116.0-standalone (without AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.116.0-standalone

Features

  • ai: Add endpoints to chat with ai service (#8585)
  • analytics: Add RoutingApproach filter in payment analytics (#8408)
  • business_profile: Added merchant country code in business profile (#8529)
  • connector:
    • [ARCHIPEL] fix Mastercard scheme string for Applepay payments (#8450)
    • [jpmorgan] implement refund flow (#8436)
    • Implement capture and webhook flow, fix some issues in ACI (#8349)
    • [ADYENPLATFORM] add card payouts (#8504)
    • [SANTANDER] Added Authorize, PSync, Void, Refund & RSync Flows for Pix QR Code Bank Transfer (#8463)
    • multisafepay added payment methods | TRUSTLY | WeChatpay | Alipay (#8465)
    • [shift4] Boleto, Trustly, Alipay, Wechatpay PMs added (#8476)
    • [AUTHORIZEDOTNET] Add AVS checks (#8511)
    • [shift4] Blik, Klarna, Bitpay PMs added (#8478)
    • [Redsys] Use merchant payment_id for ds_merchant_order with length check (#8485)
    • [payload] introduce no-3ds cards (#8545)
    • [AUTHIPAY] Integrate cards non 3ds payments (#8266)
    • [AIRWALLEX] - Added Paypal, Trustly, Klarna , Atome, Blik Payment Methods (#8475)
    • [payload] add webhook support (#8558)
    • [AUTHORIZEDOTNET] Populated merchant required fields in setupmandate flow (#8618)
    • [Multisafepay] Integrate EPS, MBWAY and SOFORT (#8506)
    • Add Incremental Authorization flow for Paypal (#8517)
    • Add apple pay decrypt support for Adyen (#8605)
    • Added Supported Country and Currencies (#8383)
    • [AUTHORIZEDOTNET] customer_id length validated and server-too-busy error handled (#8696)
  • connectors:
    • [Worldpayvantiv] add NTI flow and refactor sync flows (#8495)
    • [worldpayvantiv] add connector mandate support (#8546)
  • core:
    • Accept merchant_connector_details in Refunds create and retrieve flow (#8441)
    • Allow setting up status across payments, refunds and payouts for triggering webhooks in core resource flows (#8433)
    • Populate connector raw response and connector_response_reference_id for razorpay (#8499)
  • data-migration: Add connector customer and mandate details support for multiple profiles (#8473)
  • debit_routing:
    • Add debit_routing_savings in analytics payment attempt (#8519)
    • Add debit routing support for apple pay (#8673)
  • kafka: Add payment_intent payment_attempt and refund kafka events for v2 (#8328)
  • payment-methods: Create payment_token in vault confirm / do payment-confirm with temp token from session (#8525)
  • payment_methods: [Paysera, Skrill] Add support to paysera and skrill wallets and in shift4 (#8487)
  • payments:
    • Propagate additional payment method data for apple pay during MIT (#7170)
    • Add feature_metadata in the payments response for v2 (#8667)
  • payouts: Add domain type for PayoutId (#8395)
  • revenue_recovery: Invoke attempt list instead of payment get in recovery webhooks flow (#8393)
  • router:
    • Add v2 endpoint to list payment attempts by intent_id (#8368)
    • Add apply_three_ds_strategy in payments confirm flow (#8357)
    • Add confirm flag in kafka payment intent events (#8432)
    • Add webhooks for network tokenization (#6695)
    • Deduplicate PML response and populate bank details (V2) (#8583)
  • routing:
    • Add profile config to switch between HS routing and DE routing result (#8350)
    • Add support to pass fallback connectors to decision engine (#8615)
    • Add routing evaluation rule endpoint and related flow (#8656)
    • Add API key auth for decision engine endpoints (#8640)

Bug Fixes

  • connector:
    • [STRIPE] Retrieving Connect Account Id from Mandate Metadata in MITs (#8326)
    • [NEXIXPAY] Add Validation Checks for Request Fields (#8345)
    • Adyen connector creates connector's customer reference on the fly fixed (#8447)
    • [TRUSTPAY] Consuming Amount in PSync Response (#8455)
    • [CYBERSOURCE] Passing pares_status for MasterCard & Visa and transaction_type field (#8518)
    • [Worldpayvantiv] Psync status mapping and add address lines to billing data (#8602)
    • [AUTHORIZEDOTNET] Added Invoice Number Fix (#8685)
    • [Cybersource] Add type_selection_indicator as 1 for all cards (#8663)
    • Add Trustpay in Authentication Providers Config (#8622)
  • connectors: [worldpayvantiv] change endpoint, add billing address and fix 5xx incase of psync (#8354)
  • payment_method: Update entity id used for Vault to global customer id (#8380)
  • payout: Use get_string_repr for formatting payout IDs (#8547)
  • recovery: Populate connector request reference id in revenue recovery record attempt flow. (#8434)
  • router:
    • Move Customer PML endpoint to OLAP (v2) (#8303)
    • Make v2 endpoints follow standard naming conventions (#8630)
    • Add payment method Wallet check for decrypted wallet payment method token logic (#8747)
  • routing: Remove frm rule migration support as it is not supported in DE (#8448)
  • users: Fallback to fresh lineage context if cached role_id no longer matches (#8593)
  • Payments redirects for v2 (#8405)
  • Update routing_approach for session_token flow (#8490)

Refactors

  • connector:
    • Update add connector script with new connector features (#8213)
    • [Worldpayvantiv] refactor void flow and handle transaction status (#8540)
    • Move connector mappings and endpoints to dedicated modules (#8562)
    • [Adyen] map ssn and session validity for Pix (#8702)
  • core: Make raw_connector_response as secret (#8565)
  • dynamic_routing: Make the dynamo configs optional (#8589)
  • payment-links: Use top redirection in status page (#8641)
  • payments: Fetch payment method information in attempts list api v2 and add custom billing connector template (#8681)
  • router:
    • Remove refunds_v2 feature flag (#8310)
    • Decrypt the wallet token before...
Read more

v1.115.0

02 Jul 20:18

Choose a tag to compare

1.115.0 (2025-07-02)

Docker Images

  • v1.115.0 (with AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.115.0

  • v1.115.0-standalone (without AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.115.0-standalone

✨ Features

Analytics & Intelligence

  • Add ckh columns for 3ds intelligence analytics (#8136)
  • Revamped 3ds auth analytics (#8163)

Business Profile & Configuration

  • Add business_profile config to enable external vault (#7876)
  • Add merchant_category_code in business profile (#8296)

Payment Connectors

New Connectors & Templates

  • Archipel connector (#7851)
  • Add barclaycard template code (#8017)
  • [nordea] template code (#8056)
  • Introduce connector template code for WorldpayXML (#7968)
  • [Template] add Worldpayvantiv (#8226)
  • [Worldpayvantiv] add card support (#8219)

Connector Enhancements

  • Add invoice number and email in AuthorizeDotNet connector (#7726)
  • [chargebee] consumes required fields to support transaction monitoring (#7774)
  • [Facilitapay] Add support for Pix Bank Transfers (#7704)
  • [Recurly] add invoice sync support along with transaction monitoring (#7867)
  • [stripebilling] consume necessary fields in stripe billing from webhooks for transaction monitoring support (#7722)
  • Add coingate, paystack connector specifications (#7996)
  • [CYBERSOURCE] add SEK currency for cybersource (#8048)
  • [XENDIT] Added Integrity Check for Authorize, Capture, Refund & RSync flows (#8049)
  • Stripe revolut pay wallet integration (#8066)
  • [Worldpayxml] add card payment (#8076)
  • [Barclaycard] Implement Cards - Non 3DS flow (#8068)
  • [FISERV] Added Integrity Check support for all Payment & Refund Flows (#8075)
  • [STRIPE] Added Connector Tokenization Flow for Cards (#8248)
  • Added recurring payments support for split payments in Stripe (#8271)
  • [TRUSTPAY] Added Integrity Checks for PSync & RSync flows & Added New Variants in AttemptStatus & IntentStatus (#8096)
  • Implement Razorpay UPI Collect (#8009)
  • [trustpay] introduce instant bank_transfer, finland and poland (#7925)

Connector Utilities

  • Add dummy billing connector auth flow (#7819)
  • Create API for cloning connectors between merchants and profiles (#7949)
  • [dummy_connector] add upi collect (#8014)

Core Payment Features

Payment Processing

  • Add support for updating metadata after payment has been authorized (#7776)
  • Add Support for redirection inside Iframe (#7976)
  • [Network Tokenization] pre network tokenization (#6873)
  • Add all_keys_required in confirm and psync payload (#7998)
  • Altered the amount field in DisputePayload to StringMinorUnit (#8131)
  • Make installment_payment_enabled,recurring_enabled Optional (#8201)
  • Consume card details from billing connectors and first error codes and store them in payment intent table (#8250)
  • Accept merchant_connector_details in Payments and Psync flow (#8199)

Revenue Recovery

  • Adds Billing Connector Invoice Sync flow in Revenue Recovery (#7799)
  • Add psync support for recovery external payments (#7855)
  • Add support for multiple retry algorithms in revenue recovery workflow (#7915)
  • Add revenue recovery retry algorithm type and data columns to business_profile table (#7772)

Dynamic Routing & Decision Engine

  • Add open router integration for success based routing (#7795)
  • Integration of elimination routing for core flows (#6816)
  • Add open router integration for elimination routing (#7896)
  • Decision engine config API integration (#8044)
  • Add get api for dynamic routing volume split (#8114)
  • Integration with decision engine (#7930)
  • Health check for Decision engine (#8243)
  • Add open router integration for debit routing (#7907)
  • Add support to update config for elimination routing (#7938)
  • Add audit trail for routing (#8188)
  • Add retry support for debit routing (#8220)
  • List for dynamic routing (#8111)
  • Migration api for migrating routing rules to decision_engine (#8233)

Payment Methods & Tokenization

  • Add logic for setup_future_usage downgrade and add filter based on zero mandate config (#7775)
  • Add v2 api for fetching token data (#7629)
  • Add external vault connector service (#7917)
  • Add external_vault_details for payments v2 sdk session call (#8003)
  • Populate connector_customer during customer creation step in payment methods migrate flow (#8319)
  • Adding generic tokenization endpoint (#7905)
  • Save payment method on payments confirm (V2) (#8090)

Payments V2 API

  • Add support for connector testing (Adyen) (#7874)
  • Implement routing in payments v2 (#7709)
  • Add outgoing payment webhooks for v2 (#6613)
  • Enable client_secret auth for payments_get_intent [v2] (#8119)
  • Return payment_experience in PML for payment (v2) (#8255)
  • Add merchantId authentication for Payments v2 (#8239)

Refunds V2 API

  • Add refund create core flow (#7619)
  • Add Refunds Retrieve and Refunds Sync Core flow (#7835)
  • Add refunds list flow in v2 apis (#7966)
  • Add refund update core flow in v2 apis (#7724)

3DS & Authentication

  • Add three_ds_decision_rule_algorithm to the domain and diesel models of business_profile (#8106)
  • Add three_ds_decision_rule support in routing apis (#8132)
  • Add three_ds decision rule execute api (#8148)
  • Add support for 3ds exemption rules in euclid crate (#8013)

Payment Links & UI

  • Alternate text for manual captures (#7574)
  • Expose configurations for payment links (#7742)
  • Add ability to update email config for themes (#8033)

Infrastructure & Deployment

Read more

Hyperswitch v1.114.0

01 May 18:02

Choose a tag to compare

1.114.0 (2025-04-29)

Important

For customers working with Hyperswitch v1.109.0 or older version are recommended to first to Hyperwitch v1.11.0, then upgrade to latest version. Direct upgradation from Hyperswitch v1.109.0 or older version to the latest version can result in failures.

Docker Images

  • v1.114.0 (with AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.114.0

  • v1.114.0-standalone (without AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.114.0-standalone

Features

  • analytics:
    • Refactor and rewrite authentication related analytics (#7433)
    • Add new filters, dimensions and metrics for authentication analytics (#7451)
    • Modified authentication queries and added generate report for authentications (#7483)
    • Add issuer as filter for authentication analytics (#7535)
  • authentication: Create authentications to fallback to ApiKeyAuth if AdminApiAuth fails (#7744)
  • coingate:
    • Add Crypto Pay Flow (#7247)
    • Add Payment webhooks (#7489)
  • connector:
    • Add Samsung pay mandate support for Cybersource (#7298)
    • Add support for passive churn recovery webhooks (#7109)
    • Introduce feature_matrix api to coinbase, iatapay, nexixpay and square (#7339)
    • Add recovery support for stripebilling (#7461)
    • [Moneris] Implement mandate for Moneris (#7322)
    • Add record back connector integration flow (#7416)
  • core:
    • Add support for cards bin update (#7194)
    • Add additional revenue recovery call flow (#7402)
    • Add bulk tokenization flows (#7066)
    • Add V2 Authentication to all available endpoints (#7487)
    • Add profile level config for debit routing feature (#7470)
    • Add visa click to pay support (#7562)
  • connectors:
    • [Redsys] add 3D secure card payment support, including transaction capture, cancellation, and refunds (#7508)
    • [Redsys] add Psync and Rsync support (#7586)
  • payment-methods:
    • Add support to pass apple pay recurring details to obtain apple pay merchant token (#6770)

Bug Fixes

  • connector:
    • [fiuu] update PSync and webhooks response (#7211)
    • [NMI] Added enum for Void Reason (#7221)
  • core:
    • Payments - map billing first and last name to card holder name (#6791)
    • Add payment_link_data in PaymentData for Psync (#7137)
  • payment_methods: Card_network and card_scheme should be consistent (#6849)
  • router:
    • Card network for co-badged card and update regex (#6801)

Refactors

  • authentication: Modify auth for profiles and mca routes to ApiKeyAuthWithMerchantIdFromRoute (#7656)
  • connector:
    • [Rapyd] fix amount conversion framework (#7466)
    • [FISERV, HELCIM] Add amount conversion framework to Fiserv, Helcim (#7336)
  • core:
    • Add support for expand attempt list in psync v2 (#7209)
  • payments_v2: Create customer at connector end and populate connector customer ID (#7246)

Documentation

  • api-reference: Fix the content of the tip (#7387)

Miscellaneous Tasks

  • analytics: Opensearch client creation based on config (#7881)

Compatibility

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

Database Migrations

-- DB Difference between v1.113.0 and v1.114.0
-- stores the flag send by the merchant during payments-create call
ALTER TABLE payment_intent
ADD COLUMN request_extended_authorization boolean;


ALTER TABLE payment_attempt
-- stores the flag sent to the connector
ADD COLUMN request_extended_authorization boolean;

ALTER TABLE payment_attempt
-- Set to true if extended authentication request was successfully processed by the connector
ADD COLUMN extended_authorization_applied boolean;


ALTER TABLE payment_attempt
-- stores the flag sent to the connector
ADD COLUMN capture_before timestamp;

ALTER TABLE business_profile
-- merchant can configure the default value for request_extended_authorization here
ADD COLUMN always_request_extended_authorization boolean;
-- Your SQL goes here
ALTER TABLE gateway_status_map ADD COLUMN IF NOT EXISTS clear_pan_possible BOOLEAN NOT NULL DEFAULT FALSE;
ALTER TABLE payment_attempt
ADD COLUMN charges JSONB
DEFAULT NULL;
-- Your SQL goes here

ALTER TABLE business_profile
ADD COLUMN card_testing_guard_config JSONB
DEFAULT NULL;

ALTER TABLE business_profile 
ADD COLUMN card_testing_secret_key BYTEA
DEFAULT NULL;
-- This file contains queries to re-create the `id` column as a `VARCHAR` column instead of `SERIAL` column for tables that already have it.
-- It must be ensured that the deployed version of the application does not include the `id` column in any of its queries.
-- Drop the id column as this will be used later as the primary key with a different type
------------------------ Merchant Account -----------------------
ALTER TABLE merchant_account DROP COLUMN IF EXISTS id;

------------------------ Merchant Connector Account -----------------------
ALTER TABLE merchant_connector_account DROP COLUMN IF EXISTS id;


------------------------ Customers -----------------------
ALTER TABLE customers DROP COLUMN IF EXISTS id;



------------------------ Payment Intent -----------------------
ALTER TABLE payment_intent DROP COLUMN id;


------------------------ Payment Attempt -----------------------
ALTER TABLE payment_attempt DROP COLUMN id;


------------------------ Payment Methods -----------------------
ALTER TABLE payment_methods DROP COLUMN IF EXISTS id;

------------------------ Address -----------------------
ALTER TABLE address DROP COLUMN IF EXISTS id;

------------------------ Dispute -----------------------
ALTER TABLE dispute DROP COLUMN IF EXISTS id;

------------------------ Mandate -----------------------
ALTER TABLE mandate DROP COLUMN IF EXISTS id;

------------------------ Refund -----------------------
ALTER TABLE refund DROP COLUMN IF EXISTS id;

------------------------ BlockList -----------------------
ALTER TABLE blocklist DROP COLUMN IF EXISTS id;

------------------------ Roles -----------------------
ALTER TABLE roles DROP COLUMN IF EXISTS id;

------------------------ Users -----------------------
ALTER TABLE users DROP COLUMN IF EXISTS id;

-- Your SQL goes here
ALTER TABLE merchant_account
ADD COLUMN IF NOT EXISTS id VARCHAR(64);
-- Your SQL goes here
ALTER TABLE merchant_account
ADD COLUMN IF NOT EXISTS product_type VARCHAR(64);
-- Your SQL goes here
ALTER TABLE
    process_tracker
ADD
    COLUMN IF NOT EXISTS version "ApiVersion" NOT NULL DEFAULT 'v1';
ALTER TABLE events ADD COLUMN IF NOT EXISTS is_overall_delivery_successful BOOLEAN;
-- Your SQL goes here
ALTER TABLE business_profile ADD COLUMN IF NOT EXISTS is_clear_pan_retries_enabled BOOLEAN NOT NULL DEFAULT FALSE;
-- Your SQL goes here
ALTER TABLE organization
ADD COLUMN IF NOT EXISTS version "ApiVersion" NOT NULL DEFAULT 'v1';
ALTER TABLE business_profile
ADD COLUMN IF NOT EXISTS force_3ds_challenge boolean DEFAULT false;
ALTER TABLE payment_attempt
ADD COLUMN IF NOT EXISTS issuer_error_code VARCHAR(64) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS issuer_error_message TEXT DEFAULT NULL;

ALTER TABLE refund
ADD COLUMN IF NOT EXISTS issuer_error_code VARCHAR(64) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS issuer_error_message TEXT DEFAULT NULL;
-- Your SQL goes here
ALTER TABLE business_pro...
Read more

Hyperswitch v1.113.0

05 Mar 07:56

Choose a tag to compare

1.113.0 (2025-03-04)

Docker Images

  • v1.113.0 (with AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.113.0

  • v1.113.0-standalone (without AWS SES support): docker pull docker.juspay.io/juspaydotin/hyperswitch-router:v1.113.0-standalone

Features

  • analytics:
    • Add refund sessionized metrics for Analytics V2 dashboard (#6616)
    • Add support for multiple emails as input to forward reports (#6776)
    • Add currency as dimension and filter for disputes (#7006)
  • connectors:
    • [Nexixpay] add mandates flow for cards (#6259)
    • Added a new CaptureMethod SequentialAutomatic to Support CIT Mandates for Paybox (#6587)
    • [DEUTSCHEBANK, FIUU ] Handle 2xx errors given by Connector (#6727)
    • [AIRWALLEX] Add referrer data to whitelist hyperswitch (#6806)
    • [JPMORGAN] add Payment flows for cards (#6668)
    • [Novalnet] Add zero auth mandate (#6631)
    • [Deutschebank] Implement Card 3ds (#6844)
    • [Xendit] ADD Cards & Mandates Flow (#6966)
    • [INESPAY] Integrate Sepa Bank Debit (#6755)
    • [Deutschebank] Add Access Token Error struct (#7127)
    • [DataTrans] ADD 3DS Flow (#6026)
    • [DATATRANS] Add Support for External 3DS (#7226)
    • Fiuu,novalnet,worldpay - extend NTI flows (#6946)
    • [Adyen] Consume network_transaction_id from webhooks and update connector's network_transaction_id in payment_methods (#6738)
    • [Stripe] Add Support for Amazon Pay Redirect and Amazon Pay payment (#7056)
  • core:
    • Add service details field in authentication table (#6757)
    • Payment links - add support for custom background image and layout in details section (#6725)
    • Implemented platform merchant account (#6882)
    • Add columns unified error code and error message in refund table (#6933)
    • Google pay decrypt flow (#6991)
    • Add Authorize flow as fallback flow while fetching GSM for refund errors (#7129)
  • events: Add audit event for CompleteAuthorize (#6310)
  • klarna: Klarna Kustom Checkout Integration (#6839)
  • opensearch: Add amount and customer_id as filters and handle name for different indexes (#7073)
  • payment_methods: Add support to pass apple pay recurring details to obtain apple pay merchant token (#6770)
  • payments:
    • [Payment links] Add support for traditional chinese locale for payment links (#6745)
    • [Payment links] Add locale case fix (#6789)
    • Add audit events for PaymentStatus update (#6520)
    • [Payment links] Add config for changing button text for payment links (#6860)
  • router:
    • Add relay feature (#6870, #6879, #6918)
    • Add endpoint for listing connector features (#6612)
    • Add support for relay refund incoming webhooks (#6974)
    • Add payment method-specific features to connector feature list (#6963)
    • Add accept-language from request headers into browser-info (#7074)
    • Add organization_id in authentication table and add it in authentication events (#7168)
    • Add merchant_configuration_id in netcetera metadata and make other merchant configurations optional (#7348)
  • routing:
    • Enable volume split for dynamic routing (#6662)
    • Build the gRPC interface for communicating with the external service to perform elimination routing (#6672)
    • Integrate global success rates (#6950)
    • Contract based routing integration (#6761)
  • users:
    • Incorporate themes in user APIs (#6772)
    • Add email domain based restriction for dashboard entry APIs (#6940)
    • Custom role at profile read (#6875)

Bug Fixes

  • connectors:
    • Add config cleanup on payment connector deletion (#5998)
    • Handle 5xx error for Volt Payment Sync (#6846)
    • Fix failures in Paypal BankRedirects (Ideal/EPS) (#6864)
    • Fix Paybox 3DS failing issue (#7153)
    • [BOA] throw unsupported error incase of 3DS cards and limit administrative area length to 20 characters (#7174)
    • [Authorizedotnet] fix deserialization error for Paypal while canceling payment (#7141)
    • [worldpay] remove threeDS data from Authorize request for NTI flows (#7097)
    • Handle unexpected error response from bluesnap connector (#7120)
    • [worldpay] send decoded token for ApplePay (#7069)
    • [fiuu] zero amount mandate flow for wallets (#7261)
  • core:
    • Card_network details Missing in Customer Payment Methods List for External 3DS Authentication Payments (#6739)
    • Add validation to check if routable connector supports network tokenization in CIT repeat flow (#6749)
    • Payments - map billing first and last name to card holder name (#6791)
    • Populate off_session based on payments request (#6855)
    • Add payment_link_data in PaymentData for Psync (#7137)
  • payment_methods: Card_network and card_scheme should be consistent (#6849)
  • payments_list: Handle same payment/attempt ids for different merchants (#6917)
  • router:
    • Card network for co-badged card and update regex (#6801)
    • Handle default case for card_network for co-badged cards (#6825)
    • [Cybersource] add flag to indicate final capture (#7085)
  • Consider status of payment method before filtering wallets in list pm (#7004)
  • Invalidate surcharge cache during update (#6907)

Refactors

  • authz: Make connector list accessible by operation groups (#6792)
  • connector:
    • [Airwallex] add device_data in payment request (#6881)
    • [AUTHORIZEDOTNET] Add metadata information to connector request (#7011)
  • constraint_graph:
    • Add setup_future_usage for mandate check in payments (#6744)
    • Handle PML for cases where setup_future_usage is not passed in payments (#6810)
  • core:
    • Structure of split payments (#6706)
    • Remove merchant return url from router_data (#6895)
    • Add recurring customer support for nomupay payouts. (#6687)
  • customer: Return redacted customer instead of error (#7122)
  • dynamic_fields:
    • Rename fields like ach, bacs and becs for bank debit payment me...
Read more

Hyperswitch v1.112.0

05 Dec 12:58

Choose a tag to compare

1.112.0 (2024-11-25)

Docker Release

v1.112.0 (with AWS SES support)

v1.112.0-standalone (without AWS SES support)

Features

  • Connector: Plaid connector configs (#5545)
  • analytics:
    • Add card_network as a field in payment_attempts clickhouse table (#5807)
    • Add card network filter (#6087)
    • Add metrics, filters and APIs for Analytics v2 Dashboard - Payments Page (#5870)
    • Add customer_id as filter for payment intents (#6344)
    • Implement currency conversion to power multi-currency aggregation (#6418)
  • charges: Integrated PaymentSync for stripe connect (#4771)
  • connector:
    • Add support for Samsung Pay payment method (#5955)
    • [WELLSFARGO] Implement Payment Flows (#5463)
    • Create Taxjar connector (#5597)
    • [Paybox] add paybox connector (#5575)
    • [Adyen] add dispute flows for adyen connector (#5514)
    • [FISERVEMEA] Integrate cards (#5672)
    • [Fiuu] Add Card Flows (#5786)
    • [Fiuu] Add DuitNow/FPX PaymentMethod (#5841)
    • [Novalnet] add Payment flows for cards (#5726)
    • [DEUTSCHEBANK] Integrate SEPA Payments (#5826)
    • [Novalnet] add Recurring payment flow for cards (#5921)
    • [DEUTSCHEBANK] Implement SEPA recurring payments (#5925)
    • [Paybox] Add 3DS Flow (#6088)
    • [Nexixpay] add Payment & Refunds flows for cards (#5864)
    • [Novalnet] add webhooks for card (#6033)
    • Integrate PAZE Wallet (#6030)
    • Add 3DS flow for Worldpay (#6374)
    • [Novalnet] Integrate wallets Paypal and Googlepay (#6370)
    • [Fiuu] Add support for cards recurring payments (#6361)
    • [Paybox] Add mandates Flow for Paybox (#6378)
    • [Paypal] implement vaulting for paypal wallet and cards while purchasing (#5323)
    • [worldpay] add support for mandates (#6479)
  • core:
    • Add network transaction id support for mit payments (#6245)
    • Add support for payment links localization (#5530)
    • Add mTLS certificates for each request (#5636)
    • Add Support for Payments Dynamic Tax Calculation Based on Shipping Address (#5619)
    • Add support for card network tokenization (#5599)
    • Add payments post_session_tokens flow (#6202)
  • opensearch:
    • Restrict search view access based on user roles and permissions (#5932)
    • Add additional global search filters and create sessionizer indexes for local (#6352)
  • routing:
    • Add domain type for Routing id (#5733)
    • Build gRPC Client Interface to initiate communication with other gRPC services (#5835)
    • Success based routing metrics (#5951)
  • users:
    • Add list org, merchant and profile api (#5662)
    • Implement invitations api (#5769)
    • Add support for profile user delete (#5541)
    • Add profile level invites (#5793)

Bug Fixes

  • analytics:
    • Fix refund status filter on dashboard (#6431)
  • connector:
    • Fixed status mapping for Plaid (#5525)
    • [Bambora Apac] failure on missing capture method and billing address requirement in mandates (#5539)
    • Skip 3DS in network_transaction_id flow for cybersource (#5781)
    • [Stripe] fix cashapp webhooks response deserialization failure (#5690)
    • [Adyen] Add MYR currency config (#6442)
    • Expiration Year Incorrectly Populated as YYYY Format in Paybox Mandates (#6474)
    • [fiuu]fix mandates for fiuu (#6487)
  • core:
    • Fix connector mandate details for setup mandate (#6096)
    • Fix setup mandate payments to store connector mandate details (#6446)
    • PMD Not Getting Populated for Saved Card Transactions (#6497)
    • Fixed deserialize logic in pm_auth core (#5615)
    • [Adyen] prevent partial submission of billing address and add required fields for all payment methods (#5660)
    • Skip external three_ds flow for recurring payments (#5730)
    • Fix billing details path in required field (#5992)
    • Persist card_network if present for non co-badged cards (#6212)
    • Update nick_name only if card_token.card_holder_name is non empty and populate additional card_details from payment_attempt if not present in the locker (#6308)
    • Set the eligible connector in the payment attempt for nti based mit flow (#6347)
    • Get apple pay certificates only from metadata during the session call (#6514)
    • Add card expiry check in the network_transaction_id_and_card_details based MIT flow (#6504)
    • Fix routing routes to deserialise correctly (#5724)
    • Fix status_code being logged as string instead of number in logs (#5850)

Refactors

  • auth: Pass profile_id from the auth to core functions (#5520)
  • business_profile:
    • Use concrete types for JSON fields (#5531)
    • Change id for business profile (#5748)
  • connector:
    • [Paypal] Add support for passing shipping_cost in Payment request (#6423)
    • Added amount conversion framework for klarna and change type of amount to MinorUnit for OrderDetailsWithAmount (#4979)
  • core:
    • Use hyperswitch_domain_models within the Payments Core instead of api_models (#5511)
    • Update shipping_cost and order_tax_amount to net_amount of payment_attempt (#5844)
    • Add connector mandate id in payments_response based on merchant config (#5999)
    • Populate shipping_cost in payment response (#6351)
    • Interpolate success_based_routing config params with their specific values (#6448)
    • Unify locker api function call (#5863)
    • Use the saved billing details in the recurring payments (#5631)
    • Add domain type for merchant_connector_account id (#5685)
    • Profile based routes for payouts (#5794)
    • Add phone and country_code in dynamic fields ([#5968](https://github.com/juspa...
Read more

Hyperswitch v1.111.0

22 Aug 15:24

Choose a tag to compare

1.111.0 (2024-08-22)

Docker Release

v1.111.0 (with AWS SES support)

v1.111.0-standalone (without AWS SES support)

Features

  • auth:
    • Add support for partial-auth, by facilitating injection of authentication parameters in headers (#4802)
    • Add profile_id in AuthenticationData (#5492)
  • business_profile: Introduce domain models for business profile v1 and v2 APIs (#5497)
  • connector:
    • [FISERV] Move connector to hyperswitch_connectors (#5441)
    • [Bambora APAC] add mandate flow (#5376)
    • [BAMBORA, BITPAY, STAX] Move connector to hyperswitch_connectors (#5450)
    • [Paybox] add connector template code (#5485)
  • core: Accept business profile in core functions for payments, refund, payout and disputes (#5498)
  • opensearch: Updated status filter field name to match index and added time-range based search (#5468)
  • payment_link: Add provision for secured payment links (#5357)
  • payments: Support sort criteria in payments list (#5389)
  • Add env variable for enable key manager service (#5442)
  • Rename columns in organization for v2 (#5424)

Bug Fixes

  • connector: [Pix] convert data type of pix fields (#5476)
  • core: Update pm_status accordingly for the respective attempt status (#5560)
  • open_payment_links: Send displaySavedPaymentMethods as false explicitly for open payment links (#5501)
  • payment_link: Move redirection fn to global scope for open links (#5494)
  • Added created at and modified at keys in PaymentAttemptResponse (#5412)
  • [CYBERSOURCE] Update status handling for AuthorizedPendingReview (#5542)

Refactors

  • configs: Include env for cybersource in integration_test (#5474)
  • connector: Add amount conversion framework to placetopay (#4988)
  • id_type: Use macros for defining ID types and implementing common traits (#5471)
  • merchant_account_v2: Recreate id for merchant_account v2 (#5439)
  • opensearch: Add Error Handling for Empty Query and Filters in Request (#5432)
  • role: Determine level of role entity (#5488)
  • router:
    • Remove connector_account_details and connector_webhook_details in merchant_connector_account list response (#5457)
    • Domain and diesel model changes for merchant_connector_account create v2 flow (#5462)
  • routing: Api v2 for routing create and activate endpoints (#5423)

Compatibility

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

Database Migrations

-- DB Difference between v1.110.0 and v1.111.0
-- Add a new column for allowed domains and secure link endpoint
ALTER table payment_link ADD COLUMN IF NOT EXISTS secure_link VARCHAR(255);
-- Your SQL goes here
ALTER TABLE organization
ADD COLUMN id VARCHAR(32);
ALTER TABLE organization
ADD COLUMN organization_name TEXT;
      
-- Your SQL goes here
ALTER TABLE roles ADD COLUMN entity_type VARCHAR(64);

Configuration Changes

Diff of configuration changes between v1.110.0 and v1.111.0

diff --git a/config/deployments/sandbox.toml b/config/deployments/sandbox.toml
index 5fb7bfe0d..730f78291 100644
--- a/config/deployments/sandbox.toml
+++ b/config/deployments/sandbox.toml
@@ -30,7 +30,7 @@ airwallex.base_url = "https://api-demo.airwallex.com/"
 applepay.base_url = "https://apple-pay-gateway.apple.com/"
 authorizedotnet.base_url = "https://apitest.authorize.net/xml/v1/request.api"
 bambora.base_url = "https://api.na.bambora.com"
-bamboraapac.base_url = "https://demo.ippayments.com.au/interface/api/dts.asmx"
+bamboraapac.base_url = "https://demo.ippayments.com.au/interface/api"
 bankofamerica.base_url = "https://apitest.merchant-services.bankofamerica.com/"
 billwerk.base_url = "https://api.reepay.com/"
 billwerk.secondary_base_url = "https://card.reepay.com/"
@@ -70,6 +70,7 @@ noon.key_mode = "Test"
 nuvei.base_url = "https://ppp-test.nuvei.com/"
 opayo.base_url = "https://pi-test.sagepay.com/"
 opennode.base_url = "https://dev-api.opennode.com"
+paybox.base_url = "https://preprod-ppps.paybox.com/PPPS.php"
 payeezy.base_url = "https://api-cert.payeezy.com/"
 payme.base_url = "https://sandbox.payme.io/"
 payone.base_url = "https://payment.preprod.payone.com/"

Full Changelog: v1.110.0...v1.111.0

Hyperswitch v1.110.0

02 Aug 14:43

Choose a tag to compare

1.110.0 (2024-08-02)

Docker Release

v1.110.0 (with AWS SES support)

v1.110.0-standalone (without AWS SES support)

Features

  • connector:
    • [BRAINTREE] Implement Card Mandates (#5204)
    • [RazorPay] Add new connector and Implement payment flows for UPI payment method (#5200)
    • [Bambora APAC] Add payment flows (#5193)
    • [DATATRANS] Implement card payments (#5028)
    • Plaid connector Integration (#3952)
    • [Itau Bank] Add payment and sync flow for Pix (#5342)
    • [Itaubank] Add refund and rsync flow (#5420)
    • [HELCIM] Move connector to hyperswitch_connectors (#5287)
  • FRM Analytics (#4880)
  • Customer_details storage in payment_intent (#5007)
  • Added integrity framework for Authorize and Sync flow with connector as Stripe (#5109)
  • Add merchant order reference id (#5197)
  • Billing_details inclusion in Payment Intent (#5090)
  • Constraint Graph for Payment Methods List (#5081)
  • Add retrieve flow for payouts (#4936)
  • Payments core modification for open banking connectors (#3947)
  • Add support to register api keys to proxy (#5168)
  • Add hashed customer_email and feature_metadata (#5220)
  • Forward the tenant configuration as part of the kafka message (#5224)
  • Implement tag-based filters in global search (#5151)
  • Added search_tags based filter for global search in dashboard (#5341)
  • Added recipient connector call for open banking connectors (#3758)
  • Add multiple custom css support in business level (#5137)
  • Add support to migrate existing customer PMs from processor to hyperswitch (#5306)
  • Secure payout links using server side validations and client side headers (#5219)
  • Add country, currency filters for payout methods (#5130)
  • Added balance check for PM auth bank account (#5054)
  • Add support to pass proxy bypass urls from configs (#5322)
  • Add refunds manual-update api (#5094)
  • Pass fields to indicate if the customer address details to be connector from wallets (#5210)
  • Pass the shipping email whenever the billing details are included in the session token response (#5228)
  • Add integrity check for refund refund sync and capture flow with stripe as connector (#5187)
  • Add an api to migrate the payment method (#5186)
  • Add support for passing the domain dynamically in the session call (#5347)
  • Add support for https in actix web (#5089)
  • Add support for custom outgoing webhook http headers (#5275)
  • Create key in encryption service for merchant and user (#4910)
  • Encryption service integration to support batch encryption and decryption (#5164)
  • Add create retrieve and update api endpoints for organization resource (#5361)
  • Create additional columns in organization table (#5380)
  • Add env variable for enable key manager service (#5465)

Refactors/Bug Fixes

  • Add checks for duplicate auth_method in create API (#5161)
  • Fetch customer id from customer object during MIT (#5218)
  • [payouts] failure of payout retrieve when token is expired (#5362)
  • Modified_at updated for every state change for Payment Attempts (#5312)
  • Set requires_cvv to false when either connector_mandate_details or network_transaction_id is present during MITs (#5331)
  • Save the customer_id in payments create (#5262)
  • Add aliases on refund status for backwards compatibility (#5216)
  • Mark retry payment as failure if connector_tokenization fails (#5114)
  • Update last used when the customer acceptance is passed in the recurring payment (#5116)
  • override setup_future_usage filed to on_session based on merchant config (#5195)
  • Fail refund with bad request error for duplicate refund_id in refunds create flow (#5282)
  • Fixed integrity check failures in case of 3ds flow in sync flow (#5279)
  • Store customer_acceptance in payment_attempt, use it in confirm flow for delayed authorizations like external 3ds flow (#5308)
  • Store network_transaction_id in stripe authorize flow (#5399)
  • Do not update perform_session_flow_routing output if the SessionRoutingChoice is none (#5336)
  • Make id option in auth select (#5213)
  • Clear cookie and alter parsing for sso (#5147)
  • Add offset and limit to key transfer API (#5358)
  • [Mifinity] fix redirection after payment completion and handle 5xx error (#5250)
  • [Mifinity] add a field language_preference in payment request for mifinity payment method data (#5326)
  • [Itaubank] add dynamic fields for pix (#5419)
  • [boa/cybs] add billing address to MIT request (#5068)
  • Change primary key of refund table (#5367)
  • Change primary keys in user, user_roles and roles tables (#5374)
  • Change primary keys in payment_methods table (#5393)
  • Removal of lifetime from the Constraint Graph framework (#5132)
  • Update helper functions for deciding whether or not to consume flows based on current status (#5248)
  • Changed payment method token TTL to api contract based config from const value (#5115)
  • Remove the locker call in the psync flow (#5348)
  • Remove id dependency from merchant connector account, dispute and mandate (#5330)
  • Use hashmap deserializer for generic_link options (#5157)
  • Adding millisecond to Kafka timestamp (#5202)

Compatibility

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

Database Migrations

---DB Difference between v1.1...
Read more

Hyperswitch v1.109.0

08 Jul 13:48

Choose a tag to compare

1.109.0 (2024-07-05)

Docker Release

v1.109.0 (with AWS SES support)

v1.109.0-standalone (without AWS SES support)

Features

  • connector:
    • [Stripe] - Stripe connect integration for payouts (#2041)
    • [Ebanx] Add payout flows (#4146)
    • [Paypal] Add payout flow for wallet(Paypal and Venmo) (#4406)
    • [Cybersource] Add payout flows for Card (#4511)
    • [AUTHORIZEDOTNET] Implement zero mandates (#4704)
    • [AUTHORIZEDOTNET] Implement non-zero mandates (#4758)
    • [Iatapay] add upi qr support (#4728)
    • [Cybersource] Add support for external authentication for cybersource (#4714)
    • [Klarna] Add support for Capture, Psync, Refunds and Rsync flows (#4799)
    • [Adyen] Add payouts integration for AdyenPlatform (#4874)
    • [MIFINITY] Implement payment flows and Mifinity payment method (#4592)
    • [BOA/CYB] Make state,zip optional for Non US CA Txns (#4915)
    • [Multisafepay] Add support for Ideal and Giropay (#4398)
    • [GPayments] Implement auth and post auth flows for gpayments (#4746)
    • [Iatapay] add payment methods (#4968)
    • [Payone] add payone connector (#4553)
    • [Paypal] Add session_token flow for Paypal sdk (#4697)
  • Add access_token flow for Payout Create and Fulfill flow (#4375)
  • Add an api to encrypt and migrate the apple pay certificates from connector metadata to connector_wallets_details column in merchant connector account (#4790)
  • Add profile level config to toggle extended card bin (#4445)
  • Add support for connectors having separate version call for pre authentication (#4603)
  • Create Payout Webhook Flow (#4696)
  • Add support for multitenancy and handle the same in router, producer, consumer, drainer and analytics (#4630)
  • Pass required_billing_contact_fields field in /session call based on dynamic fields (#4601)
  • Pass required shipping details field for wallets session call based on business_profile config (#4616)
  • Enable auto-retries for apple pay (#4721)
  • Use Ephemeral auth for pm list and pm delete (#4996)
  • Implement Process tracker workflow for Payment method Status update (#4668)
  • Add an api to enable connector_agnostic_mit feature (#4480)
  • Add support for googlepay step up flow (#2744)
  • Add payments manual-update api (#5045)
  • Add frm webhook support (#4662)
  • Add an api for toggle KV for all merchants (#4600)
  • Realtime user analytics (#5098)
  • Create API to Verify TOTP (#4597)
  • New routes to accept invite and list merchants (#4591)
  • Add support to verify 2FA using recovery code (#4737)
  • Implement force set and force change password (#4564)
  • Implemented openidconnect (#5124)
  • Add support for gauge metrics and include IMC metrics (#4939)
  • Add metadata info to events (#4875)
  • Add audit events payment confirm (#4763)
  • Add audit events payment capture (#4913)

Refactors/Bug Fixes

  • Add web client and control center services to docker compose setup (#4197)
  • Fix stack overflow for docker images (#4660)
  • Fix docker compose syntax (#4782)
  • Add max_amount validation in payment flows (#4645)
  • Make the constraint graph framework generic and move it into a separate crate (#3071)
  • Add visualization functionality to the constraint graph (#4701)
  • Rename crate data_models to hyperswitch_domain_models (#4504)
  • Move RouterData to crate hyperswitch_domain_models (#4524)
  • Move router data response and request models to hyperswitch domain models crate (#4789)
  • Move router data flow types to hyperswitch domain models crate (#4801)
  • Extract incoming and outgoing webhooks into separate modules (#4870)
  • Move trait ConnectorIntegration to crate hyperswitch_interfaces (#4946)
  • Introduce an interface to switch between old and new connector integration implementations on the connectors (#5013)
  • Add a new endpoint for Complete Authorize flow (#4686)
  • Refactor frm configs (#4581)
  • Rename Card struct for payouts to avoid overrides in auto generated open API spec (#4861)
  • Store payment_method_data_billing for recurring payments (#4513)
  • Refactor conditional_configs to use Moka Cache instead of Static Cache (#4814)
  • [Adyen] send browser_info for all the card and googlepay payments (#5173)
  • [Stripe] Pass optional browser_info to stripe for increased trust (#4374)
  • [NMI] Change fields for external auth due to API contract changes (#4531)
  • [Klarna] Refactor Authorize call and configs for prod (#4750)
  • [Adyen] handle redirection error response (#4862)
  • [Stripe] Changed amount to minor Unit for stripe (#4786)
  • Make save_payment_method as post_update_tracker trait function (#4307)
  • Add support to enable pm_data and pm_id in payments response (#4711)
  • Refactor the Knowledge Graph to include configs check, while eligibility analysis (#4687)
  • Move openapi to a separate folder (#4859)
  • Store card_network in locker (#4425)
  • Enable deletion of default Payment Methods (#4942)
  • Changed payment method token TTL to api contract based config from const value (#5209)
  • Deprecate Signin, Verify email and Invite v1 APIs (#4465)
  • Add password validations (#4555)

Compatibility

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

Database Migrations

-- DB Difference BETWEEN v1.108.0 AND v1.109.0
ALTER TABLE payouts ADD COLUMN IF NOT EXISTS confi...
Read more