Skip to main content
The Android SDK makes it easy to implement enrollment flows for saving payment methods to a customer account. Include the library in your project by following the same steps as in full-checkout.

Additional resources

Requirements

  • Minimum SDK Version: minSdkVersion 21 or above
  • Java: Java 8 enabled
  • AndroidX: Use AndroidX instead of older support libraries
  • Android Gradle Plugin: 4.0.0 or above
  • ProGuard: 6.2.2 or above
  • Kotlin Gradle Plugin: 1.4.0 or above
  • ELF Page Size Support: Compliant with Google’s 16 KB ELF page alignment requirements (Android 15 / ARMv9 ready)

ProGuard / R8 Configuration

If your project has minifyEnabled = true, add these rules to your proguard-rules.pro file to ensure the SDK works correctly, especially with AGP 8.x+ R8 full mode.

Why are these rules necessary?

AGP 8.x+ enables R8 full mode by default, which aggressively strips generic type signatures. Without -keepattributes Signature, Gson’s TypeToken<T> can fail at runtime with java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType.

Parameters

For the full list of parameters, see the Android SDK Common Reference.

full-checkout Enrollment (Android)

Yuno full-checkout for Android provides enrollment with pre-built UI, card enrollment, status handling, and basic error management. See Requirements above.

Step 1: Create a customer

Create a customer in Yuno’s system using the Create customer endpoint before enrolling payment methods. This endpoint returns a customer_id. Then create a customer session using the Create Customer Session endpoint; use the returned customer_session when calling the enrollment methods.

Step 2: Include the library in your project

Add the Yuno library to your Android project:

Add the Repository

Add Yuno’s Maven repository to your project’s Gradle configuration:
Add the dependency in build.gradle:

Permissions

The Yuno SDK includes the INTERNET permission by default, which is required to make network requests.

Step 3: Initialize SDK with the public key

Initialize the SDK:
  1. Get your Public API Key from the Yuno Dashboard
  2. Create a custom application class if you haven’t already done so
  3. In the onCreate() method of your application class, call Yuno.initialize() with your API key:
Use the data class YunoConfig to customize the SDK’s behavior. Include this configuration when calling Yuno.initialize(). The available options are:
For a detailed explanation of the keepLoader parameter and mandatory error handling, see the Android Reference Guide.
cardFlow removed from YunoConfigStarting from version 2.11.0, cardFlow is no longer part of YunoConfig. Card flow configuration is now handled exclusively through the CheckoutBuilder.

Step 4: Enroll a new payment method

The enrollment process is a two-step flow. First, initialize the process to set up the necessary components. Then, start the UI flow to allow the user to enroll a payment method.

4.1 Initialize the enrollment process

Call the initEnrollment method within your activity’s onCreate method to prepare your app to handle the enrollment flow. This is a mandatory setup step required by the Android operating system to register the contract that allows the SDK to send the final enrollment status back to your app.

4.2 Start the enrollment flow

Call the startEnrollment method to launch the user interface and begin the enrollment of a new payment method. You can call this method at any point after initEnrollment has been executed, such as when a user taps an “Enroll New Payment Method” button.
startEnrollment parameters:

Common reference

For full parameter and customization details, see the Android SDK Common Reference.