up-right-from-squareStandalone 3D Secure (via Hyperswitch)

Use any Standalone 3DS server to run 3D Secure (3DS) authentication and authorize the payment with any payment provider (PSP).

Standalone 3DS separates authentication from authorization, giving you the flexibility to work with multiple payment processors or support specialized payment workflows.

Enterprise teams often adopt Standalone 3DS to enhance payment performance by enabling:

  • Fine grained API control over 3DS requests and the checkout experience

  • Greater visibility into issuer authentication responses

  • Transaction level customization based on business priorities such as fraud reduction, conversion optimization, or cost management

When a Standalone 3DS authentication completes successfully, it generates a 3DS cryptogram. This cryptogram can then be submitted as part of the payment authorization. This helps is effective Smart Retry workflows where the same authentication can be succesfully used with multiple authorization attempts across different payment providers (PSP)

Supported external 3DS authenticatorsarrow-up-right are - Juspay 3DS server, Netcetera, Cardinal and 3dsecure.io

Setup External 3DS authentication via Hyperswitch

  1. Under Connectors > setup 3DS Authenticator. You can select Juspay 3DS server or any other external 3DS server

Add credentials for 3DS authenticator
  1. Under Connectors > setup the payment provders (PSP) that you wish to use for payment processing

Add new payment processors
Add credentials for payment processor
  1. Under Developers -> Payment Settings -> Add Authentication Connector and its relevant details

Perform external authentication

Initiate a Payments Create API from your server with external authenticationarrow-up-right as true

This flows follows the same steps as highlighted in authenticate with 3D secure via PSP.

Do a create payment call to initiate the transaction. The status of the response should be 'requres_customer_action" and should contain the "next_action" object.

2. Do authentication

Initiate the authentication with the client_secret generated

After the challenge is completed, the status should go to 'succeeded' status

Last updated

Was this helpful?