Skip to main content
The Yuno iOS SDK supports running 3D Secure (3DS) challenges natively inside your app using Netcetera’s 3DS SDK. Native 3DS gives a smoother UX than web-based challenges and may be required by some acquirers for frictionless authentication.
Native 3DS via Netcetera applies to both payment and enrollment flows.
Native 3DS is opt-in: you only need to install the 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, 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.
This guide covers what is specific to Netcetera. Installation and activation follow the same rules as every other module, see External Native Modules (iOS).
The previous standalone package, yuno-3DS-netcetera-iOS, is deprecated. Install the module from the yuno-sdk-ios package or the Yuno3DSNetcetera pod as described below.

Requirements

  • iOS 14.0 or higher.
  • YunoSDK 2.25.0 or higher already installed in your app.
  • The Yuno3DSNetcetera module, version 3.0.0 or higher, installed via Swift Package Manager or CocoaPods (see below).

Installation

The module ships in the same package as the Yuno SDK. In Xcode go to File > Add Package Dependencies…, add:
choose Up to Next Major Version from 2.25.0, and tick the Yuno3DSNetcetera product next to YunoSDK. The Netcetera ThreeDS_SDK binary is resolved automatically from Netcetera’s repository.

Activating the 3DS provider

The provider auto-registers when the framework loads. No extra code is required:
Once registered, YunoSDK automatically routes any 3DS challenge through the Netcetera provider. You don’t need to change any of your payment or enrollment code.

Sandbox certificate

When testing against the Yuno sandbox environment, the Netcetera SDK requires a Visa test root certificate (acq-root-certeq-prev-environment.crt) to be present in your app’s main bundle.
Contact your Yuno TAM (Technical Account Manager) to obtain the certificate. It is not distributed publicly.
Once you have the file:
1

Add to Xcode

Drag it into Xcode’s Project Navigator inside your app target’s group.
2

Select target

Check Add to targets and tick your app target.
3

Verify bundle resources

Verify it appears under Target → Build Phases → Copy Bundle Resources.
In production environments this certificate is not used and can be omitted from Release builds.

Troubleshooting

Your YunoSDK is older than the version this module requires. Bump it to >= 2.25.0.
You forgot to call Yuno3DSNetcetera.register() before Yuno.initialize(...).
Only relevant in sandbox. Add the certificate to your app bundle (see Sandbox certificate). Safe to ignore in production.