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
- You add the module to your app next to the SDK, as a package product or a Gradle dependency.
- When the app starts, the module registers itself with the SDK.
- 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
- Android
- React Native
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
- Android
- React Native
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).
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
timeoutconfigured 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-locationversion 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.
- 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
The module is installed but nothing changes (Android)
The module is installed but nothing changes (Android)
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.
Android: NoClassDefFoundError mentioning LocationServices on every collection
Android: NoClassDefFoundError mentioning LocationServices on every collection
Expected with the ClearSale module: the location library is absent on purpose. The error is caught inside the SDK and the collection still completes.
Related
- Get Started. Install and initialize the SDK.
- Handle deeplinks. Return to your app after an external step.
- Netcetera 3DS on Android. Maven repository and permissions.