Skip to main content
The Yuno SDK stays small on purpose: every third-party native SDK ships as a separate, optional module. You add only the modules your account uses, the SDK picks them up when the app starts, and your Transaction code does not change.
Native modules apply to iOS and Android only. A React Native app adds them to its native projects (android/ and ios/) exactly as a native app does, and its JavaScript code does not change. On Web there is nothing to install. The SDK loads the scripts of the antifraud providers enabled for your account at runtime and collects the fingerprints during the transaction. To collect them before the transaction, call sdkPayments.antifraud().
Installing a module does not make the SDK use it. A module runs only when the provider is enabled for your Yuno account and the backend requests it for the current transaction.

How it works

  1. You add the module to your app next to the SDK, as a package product or a Gradle dependency.
  2. When the app starts, the module registers itself with the SDK.
  3. During a transaction, the SDK asks Yuno which providers apply and uses the matching module: it collects a device fingerprint and attaches it to the payment, runs the 3DS challenge natively instead of in a WebView, or opens the Revolut Pay checkout.

Available modules

Minimum platform: iOS 14.0, Android 6.0 (API 23). Every module requires the same SDK version you install from Get Started.

Install

iOS native modules are being published for the Yuno SDK. They will be documented here when available. Until then, 3DS challenges run in the SDK’s WebView and native antifraud fingerprints are not collected on iOS 3.x.The Legacy SDK (2.x) modules documented at iOS Overview are for the Legacy SDK only and cannot be used with the Yuno SDK (3.x).

Activate

iOS native modules are being published for the Yuno SDK. They will be documented here when available. Until then, 3DS challenges run in the SDK’s WebView and native antifraud fingerprints are not collected on iOS 3.x.The Legacy SDK (2.x) modules documented at iOS Overview are for the Legacy SDK only and cannot be used with the Yuno SDK (3.x).
Once a module is registered the SDK uses it automatically. You do not change any payment, enrollment or 3DS code.

What each module needs from your app

Antifraud modules

  • The fingerprint travels as the payment’s customer.device_fingerprint. Nothing changes in the data you send.
  • Collection runs when the shopper confirms the payment, and the shopper waits for it. On Android collection is bounded by the timeout configured for the provider in your Yuno account (5 seconds by default). Keep it short.
  • None of them requests location. On Android, do not add play-services-location version 21 or higher next to the ClearSale module: those versions are incompatible with the bundled ClearSale SDK.

Netcetera 3DS

iOS: Native 3DS modules are coming with SdkPayments 3.1.0. Until then, 3DS challenges run in the SDK’s WebView on iOS.
Android:
  • Runs the 3D Secure challenge inside your app, for payments and enrollment, instead of the WebView challenge. If you customize the SDK styles, they propagate to the challenge screen.
  • The challenge is still presented full-screen by the SDK: it does not come through showView.
  • Sandbox only: the Netcetera SDK needs a Visa test root certificate (acq-root-certeq-prev-environment.crt) in your app bundle. Ask your Yuno TAM for it, it is not distributed publicly. Production builds do not use it.

Revolut Pay

iOS: The Revolut Pay module is coming with SdkPayments 3.1.0. Integration instructions will be documented here when available.

Troubleshooting

Check, in this order: the provider is enabled for your Yuno account (ask your TAM); the module’s line shows in Logcat at startup; and that your app is not removing the App Startup provider from the manifest.
Expected with the ClearSale module: the location library is absent on purpose. The error is caught inside the SDK and the collection still completes.