Add 3DS to Universal Checkout


3D Secure is a card industry authentication protocol for online payments, providing an extra layer of security for merchants selling online. Customers are sent through the card issuing bank's verification service when making a payment, before proceeding with the authorization request.

Prerequisites

Ensure you follow the steps below to enable your Universal Checkout integration to leverage 3DS:

📞
Contact your Primer representative to enable 3DS on your Primer account and grant access to the Primer 3DS libraries. Once your account is set up you should have access to the Primer 3DS library.
🔨
Setup a 3DS workflow on your Dashboard.

Integration

3D Secure on Android requires the addition of the io.primer:3ds-android library to your project. This library is currently held on a private artifactory.

With gradle

  • Add the URL to our artifactory to your gradle.properties

    1
    PRIMER_ANDROID_ARTIFACTORY_URL=https://primer.jfrog.io/artifactory/primer-android/
    gradle
    copy
  • Amend the repositories section of your app's build.gradle to include our Artifactory

    1234567
    repositories {    /* Other repositories... */     maven {      url "${PRIMER_ANDROID_ARTIFACTORY_URL}"    }}
    gradle
    copy
  • Finally, amend the dependencies section of your app's build.gradle to include the 3ds-android library:

    12345
    dependencies {  /* Other dependencies... */   implementation "io.primer:3ds-android:1.1.0"}
    gradle
    copy

Ensure that the 3DS Library is Imported Correctly

  • Clean and sync your project
  • Validate that library can be found in External Libraries section (if you use Android Studio) External Libraries
  • If you want to perform 3DS when vaulting cards you should set is3DSOnVaultingEnabled in the PrimerSettings.Options object to true.
  • That’s it! 🎉 Check the 3DS testing section below to understand how to perform 3DS payments in your sandbox environment.