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 (no Safari View Controller jump) 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 provider package 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

  • iOS 15.0 or higher.
  • YunoSDK 2.22.0 or higher already installed in your app.
  • The Netcetera 3DS provider package (Yuno3DSNetcetera), installed via Swift Package Manager or CocoaPods (see below).
This module requires iOS 15.0, higher than the iOS 14.0 minimum documented for the base SDK elsewhere. Adding native 3DS raises your app’s overall deployment target.

Installation

In Xcode go to File → Add Package Dependencies… and add:
Select the Yuno3DSNetcetera library and add it to your app target. Make sure Yuno3DSNetcetera resolves to >= 1.1.0 and YunoSDK to >= 2.22.0.

Activating the 3DS provider

The provider auto-registers when the framework loads. No extra code is required: just import Yuno3DSNetcetera somewhere in your app:
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 2.22.0. Bump it to >= 2.22.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.