yuno-sdk-antifraud-signifyd module adds Signifyd device profiling to the Yuno Android SDK. When Signifyd is a fraud screening provider in your Yuno payment route, the Yuno SDK profiles the device during checkout with Signifyd’s Android SDK and sends the session ID with the payment, for any payment method. Yuno then forwards it to Signifyd with the order.
Requirements
- Android 6.0 (API 23) or higher.
- android-sdk 2.29.0 or higher (
com.yuno.payments:android-sdk). kotlin-stdlib1.9.22 or higher, required by Signifyd’s SDK.- A Signifyd SDK download token, issued by your Signifyd solution engineer.
- Signifyd enabled as a fraud screening provider in your Yuno payment route.
Installation
Store your Signifyd token
com.signifyd:profiling:5.1.4) from Signifyd’s private registry. It is only used when your build resolves dependencies, never at runtime: if it expires, new builds fail and apps you already released keep working.-
Your machine: add it to the
gradle.propertiesfile in your Gradle user home (~/.gradle/gradle.properties), not to your project: -
CI: expose it from your secret store as the environment variable
ORG_GRADLE_PROJECT_signifydGithubToken.
Declare Signifyd's registry
settings.gradle (or settings.gradle.kts), add Signifyd’s registry inside dependencyResolutionManagement, next to the repositories you already declare:- Groovy DSL
- Kotlin DSL
exclusiveContent makes Gradle look for com.signifyd artifacts only in that registry and sends your token only there.Add the module
- Groovy DSL
- Kotlin DSL
build.gradle:com.signifyd:profiling yourself.Enable Signifyd in Yuno
Activating the module
The module registers itself when your app process starts, through Jetpack App Startup. No code is required beyond adding the dependency, and you do not set any Signifyd key in your app: the Yuno SDK uses the Signifyd SDK key that Yuno serves for your account during checkout. To confirm the module loaded, filter Logcat by its tag right after the app starts and look for theregistered line:
If your app disables App Startup
If your app disables App Startup
androidx.startup.InitializationProvider with tools:node="remove"), the module cannot register on its own. Run its initializer yourself, once, before Yuno.initialize(...):How it works
- When the app starts, the module registers the Signifyd provider with the Yuno SDK.
- During checkout, if Signifyd is a fraud screening provider for the transaction, the Yuno SDK runs the module with the Signifyd SDK key that Yuno serves for your account.
- The module profiles the device with Signifyd’s Android SDK and returns the Signifyd session ID.
- The Yuno SDK sends that session ID in the payment’s
payment_method.device_fingerprints, and Yuno forwards it to Signifyd with the order.
What the module adds to your app
- Signifyd’s SDK brings
kotlinx-coroutines1.8.1 andkotlinx-serialization-json1.6.3, so your app resolves at least those versions. - The module declares
INTERNET, and Signifyd’s SDK adds the normal permissioncom.google.android.providers.gsf.permission.READ_GSERVICES. Both are merged into your manifest automatically and neither prompts the user. - The module never requests location. If your app already holds location permission, Signifyd’s SDK reads the last known location. Reflect this device data collection in your Google Play Data safety form.
- R8 / ProGuard rules for the module and Signifyd’s SDK ship as consumer rules. No manual configuration is required when minifying your app.
Migrating from the legacy com.yuno.fraud-signifyd:yunosignifyd dependency
Migrating from the legacy com.yuno.fraud-signifyd:yunosignifyd dependency
com.yuno.fraud-signifyd:yunosignifyd dependency, remove it and add yuno-sdk-antifraud-signifyd instead. Do not run Signifyd’s profiling yourself when you use this module.Troubleshooting
The module is installed but payments carry no Signifyd fingerprint
The module is installed but payments carry no Signifyd fingerprint
- Signifyd is a fraud screening provider in your Yuno payment route.
- The module registered at startup: filter Logcat by
SignifydAntifraudand look for theregisteredline. - Your app is not removing the App Startup provider from the manifest. If it is, run the initializer manually as described in Activating the module.
Logcat: Missing API_KEY param; skipping Signifyd profiling
Logcat: Missing API_KEY param; skipping Signifyd profiling
Crash at runtime with NoSuchMethodError or NoSuchFieldError mentioning com.yuno
Crash at runtime with NoSuchMethodError or NoSuchFieldError mentioning com.yuno
android-sdk is older than 2.29.0. Bump it to 2.29.0 or higher.