Native 3DS is opt-in: you only need to install the provider module if your integration runs 3DS challenges in-app. If you are not enabling 3DS, you can skip this guide.
This is a separate module (roughly 3-4 MB) so you only add it if you need native 3DS. If your app already customizes the Yuno SDK’s styles, those styles propagate automatically to the challenge screen, no additional UI configuration is needed.
Requirements
- Android API level 21 (Lollipop) or higher.
- Yuno Payments SDK 2.16.0 or higher already installed in your app (
com.yuno.payments:android-sdk). - The Netcetera 3DS provider module (
com.yuno.payments:yuno-sdk-3ds-netcetera), installed via Gradle (see below).
Compatibility
Each release of this module is built and tested against a minimum version of the Yuno Payments SDK. The module’s POM does not pin a specific core version. Versions below the minimum may not expose the APIs this module relies on and can fail at runtime withNoSuchMethodError / NoSuchFieldError.
When upgrading either dependency, bump both sides together so the combination stays within a supported pair.
Step 1: Declare the Netcetera Maven repository
The Netcetera 3DS SDK is hosted on Netcetera’s public Maven server. Because Gradle does not propagate transitive repositories through POM metadata, your app must declare the repo explicitly so it can resolve the Netcetera SDK dependency. Add the entry to your project’s settings file insidedependencyResolutionManagement.repositories:
- Groovy DSL
- Kotlin DSL
In
settings.gradle:You may still be using the legacy
allprojects { repositories { … } } block in your root build.gradle. If so, add the same Netcetera maven { url "…" } line there instead.Step 2: Add the dependency
Add the Yuno 3DS Netcetera dependency to your app module’s build file:- Groovy DSL
- Kotlin DSL
In
build.gradle:yuno-sdk-3ds-netcetera and its required androidx.startup dependency are pulled in transitively. You don’t need to declare them yourself.
Activating the 3DS provider
The module auto-registers with the Yuno Payments SDK when your app process starts (via Jetpack App Startup). No extra code is required: just initialize the Yuno SDK as usual:Permissions
android.permission.INTERNET is declared by the module’s manifest and merged into your app automatically. No action required.
Sandbox certificate
When testing against the Yuno sandbox environment, the Netcetera SDK requires a card scheme certificate to be present in your app.Contact your Yuno TAM (Technical Account Manager) to obtain the certificate. It is not distributed publicly.