Skip to main content
Parameters, customizations, and advanced features for all Android SDK flows. Setup: Payment flows (Android), Enrollment flows (Android), integration modes.

Key parameters (checkout session creation)

When creating a checkout session on your backend for payment flows, the following parameters are commonly used across Android SDKs:

Payment parameters (full reference)

Parameters for payment flows. All parameters used in Payment flows (Android) are listed here with full detail.

YunoConfig options (initialize)

Runtime behavior and appearance are configured via the YunoConfig data class when calling Yuno.initialize(context, publicApiKey, config). All parameters used across Android payment and enrollment flows are listed below. For visual styling (fonts, colors, buttons), see SDK customizations (Android).

Enrollment parameters (full reference)

Parameters for enrollment flows. All parameters used in Enrollment flows (Android) are listed here with full detail.

Public methods

The following methods are available globally via the Yuno object or as Activity extensions.

Activity.hideLoader()

Dismisses the SDK loader when keepLoader is active. Use this method when a backend payment creation fails. It is also useful when you cannot proceed with continuePayment().

Yuno.continuePayment()

Resumes the payment flow for asynchronous methods (3ds, PIX, etc.) after a payment has been created on your backend.

StatusMessage (error details)

Available since Android SDK v2.22.0
Every payment and enrollment result callback, and the returnStatus of the render listeners, carries a StatusMessage? next to the state. It tells a backend rejection apart from an SDK-internal failure and gives you a code to act on, instead of a flat status string.
When it is populated:

Render integration

If you integrate through the render API, the same value reaches your listeners as the last parameter of returnStatus:

Migrating to 2.22.0

StatusMessage is a breaking change: the SDK does not ship deprecated overloads of the previous signatures. When you upgrade from 2.21.x or earlier:
  1. Recompile your app against the new SDK. Dropping the new AAR into an app built against an older version is not safe: a render listener compiled with the old returnStatus signature crashes at runtime with AbstractMethodError on the first error outcome, with no compile-time warning.
  2. Add the third parameter to every callbackPaymentState lambda (startCheckout, startPayment, startPaymentLite, startPaymentSeamlessLite, continuePayment, continueCardPayment): { state, subState -> } becomes { state, subState, message -> }. Kotlin lambdas must match the arity, so the old form fails to compile.
  3. Add the second parameter to every callbackEnrollmentState lambda (initEnrollment, startEnrollment, enrollmentStatus, setupEnrollmentInfo): { state -> } becomes { state, message -> }.
  4. Update your returnStatus overrides in YunoPaymentRenderListener and YunoEnrollmentRenderListener to the signatures above.
Reading message is optional: ignoring the new parameter keeps your existing logic working. Release notes: Android changelog.

Enrolling payment methods

You can enroll payment methods (store cards for future use) during the payment flow or via dedicated enrollment flows. For payment flows, enable save card in YunoConfig. Also set payment_method.vault_on_success (or equivalent) when creating the checkout session, where supported. For dedicated enrollment, see Enrollment flows (Android).

keepLoader parameter

Available since Android SDK v2.13.0

How it works

The keepLoader parameter allows you to persist the SDK’s loading indicator across the entire startPayment → continuePayment flow. This prevents the loader from flickering between steps. By default, the SDK hides its loader after generating the One-Time Token (OTT). It shows the loader again when continuePayment is called. With keepLoader enabled, the loader stays visible continuously from the moment the user submits the payment form until the payment is fully processed (or explicitly dismissed).

Integration

1. Enable in YunoConfig

2. Handle OTT and call continuePayment

When keepLoader is enabled, the OTT callback fires while the loader is still visible. Create your payment on your backend and then call continuePayment as usual:

3. Handle errors with hideLoader

If your backend call fails and you cannot proceed with continuePayment, call hideLoader(). This dismisses the loader and finishes the payment flow:
Handling Failures
When keepLoader is active and payment creation fails, you must call hideLoader(). Otherwise, the loader will remain on the screen indefinitely (until the built-in timeout triggers).

Compatibility

  • Works with both Full and Lite payment flows (startPayment and startPaymentLite).
  • Compatible with vaulted tokens.
  • The loader respects the SDK’s built-in timeout. If neither continuePayment nor hideLoader is called, the loader will automatically dismiss after the timeout period.
  • Not applicable to the Seamless flow (startPaymentSeamlessLite). This flow does not use the startPayment → continuePayment two-step pattern.