Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.y.uno/llms.txt

Use this file to discover all available pages before exploring further.

The Yuno iOS SDK supports running 3-D 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 is required by some acquirers for frictionless authentication.
Payment flows only — Native 3DS via Netcetera is currently supported for payment flows only. It does not apply to 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.

Requirements

  • iOS 15.0 or higher.
  • YunoSDK 2.17.0 or higher already installed in your app.
  • The Netcetera 3DS provider package (Yuno3DSNetcetera), installed via Swift Package Manager or CocoaPods (see below).
The Netcetera provider adds approximately 5 MB to your final app binary (it bundles a full 3DS challenge UI and the vendor’s root certificates). This is why it lives in a separate package — merchants who don’t use 3DS don’t pay this cost.

Installation

In Xcode go to File → Add Package Dependencies… and add:
https://github.com/yuno-payments/yuno-3DS-netcetera-iOS
Select the Yuno3DSNetcetera library and add it to your app target. Make sure both YunoSDK and Yuno3DSNetcetera resolve to versions >= 2.17.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:
import YunoSDK
import Yuno3DSNetcetera

Yuno.initialize(apiKey: "YOUR_API_KEY", config: YunoConfig())
Once registered, YunoSDK automatically routes any 3DS challenge during checkout through the Netcetera provider. You don’t need to change any of your payment 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.17.0. Bump it to >= 2.17.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.