Client SDKs
Android SDK
A native Kotlin library that runs the full verification flow — document input, selfie capture, liveness — inside your Android app. Distributed through JitPack.
Install
Add JitPack and the Regula maven repository (used by the liveness engine) to settings.gradle.kts, then declare the dependency.
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://jitpack.io") }
maven { url = uri("https://maven.regulaforensics.com/RegulaDocumentReader") }
}
}dependencies {
implementation("com.github.odejinmi:sprintcheckandroid:1.0.1")
}Initialize & verify
KYCVerificationManager is a singleton: initialize it once with your keys, then launch a flow with a CheckoutMethod and the customer's identifier. The SDK opens its own activity and reports back through the callback.
import com.a5starcompany.sprintchecksdk.util.*
val kyc = KYCVerificationManager.getInstance()
// Once, e.g. in Application.onCreate
kyc.initialize(
KYCConfig(
apiKey = BuildConfig.SPRINTCHECK_API_KEY,
encryptionkey = BuildConfig.SPRINTCHECK_ENCRYPTION_KEY,
)
)
// Launch a verification flow from an Activity
kyc.startVerification(
activity = this,
type = CheckoutMethod.bvn, // bvn, nin, facial, documentreader, selectable
identifier = "user@email.com",
callback = object : KYCCallback {
override fun onKYCSuccess(result: KYCResult.Success) {
// result.reference, result.confidenceLevel, result.verify
}
override fun onKYCFailure(result: KYCResult.Failure) {
// result.errorCode, result.errorMessage
}
override fun onKYCCancelled() {
// customer backed out of the flow
}
},
)KYCResult.Success carries message, reference, name, masked bvn/nin, confidenceLevel and verify — the same fields your server receives on the webhook.
The SDK needs your
api_key and encryption_key — both are under Developers in your dashboard. Every completed verification also lands on your webhook and in your dashboard's verification history.