Mobile SDKs

High level description of Forter's mobile 3DS solution using the advanced Integration flow


Forter3DS SDK is an implementation of the EMVCo 2.0 protocol and is available for both Android and iOS to ensure full coverage.

When a transaction is identified as one that requires authentication the SDK will present a challenge screen to confirm the transaction.

Supporting documentation

Forter's 3DS SDK is based on the EMVCo 3-D secure protocol:

  1. 3DS overview
  2. 3DS protocol
  3. 3DS SDK Specification

High level mobile integration guide

  1. The mobile app should setup the Forter3DS SDK upon launch by calling the setup method. This step will initialize the SDK and will collect the required data to perform a 3DS2 flow if needed.

  2. App user finishes checkout flow and sends the transaction params to the server, which will decide if a 3DS flow is required.

  3. If a 3DS flow is required the server should return the 3DS version and the required dsId for this transaction.

  4. The mobile app should call the createTransaction method. This method will collect the required params for generating a challenge on the server side.


Forter's server expect this params encoded in base64. This can be done by encoding the required params on the server side or by using the toBase64 method for the generated FTRTransaction

  1. If the server decides a challenge is required, the app should call the doChallenge method with the required params provided by the server along side additional params - the previously generated FTRTransaction, Context/Delegate, etc.
  2. After the user completes the challenge, a callback method will be called with the challenge result. Following this, the app should pass the challenge result to the server to completed the transaction.

For more details please check our advanced integration guides for iOS and Android SDKs.