Skip to main content
On this page

The maintained Android repository is currently tagged v2.12.7. Pin an exact release in production and review the upstream release artifact before every upgrade. This page summarizes integration-impacting changes verified against repository commit f8c9845e9aa78ea471a69afe952b83579e031154; it is not a substitute for the complete repository release history.

Upgrade flow#

01 · compare
Read changes between pins
Review source, release notes, removed APIs, native dependencies, and the example app.
02 · resolve
Update Gradle in a branch
Pin the new SDK and resolve repository, compile SDK, Kotlin, AndroidX, and manifest requirements.
03 · exercise
Run the payment matrix
Test widget modes, wallets, fraud providers, redirects, 3DS, APMs, process death, and accessibility.
04 · release
Roll out and monitor
Compare client exceptions, callback coverage, payment outcomes, and abandonment with the previous pin.

Notable release lines#

v2.12.x · Native fraud and APM hardeningCurrent verified line
  • v2.12.7 is the newest tag in the audited repository.
  • The v2.12.5 line added Mercado Pago fraud-provider integration and initialization support.
  • The v2.12.4 line added explicit missing-reference handling for APM voucher flows and interception for external application schemes.

Re-test native fraud initialization, provider dependency resolution, voucher error callbacks, and every external-app return path. A build that succeeds does not prove the provider SDK initialized or returned usable device data.

v2.9.0 · Embedded widgets and current controller capabilitiesPresentation and fraud data

This line added embedded widgets, merchant-controlled payment-button behavior, fraud fingerprint generation, and Next Action Widget support, and removed deprecated functions.

When upgrading from an older line, migrate to the current methods in the Android SDK guide, then test modal, embedded, and auto-resize behavior independently.

v2.4.0 beta line · Response and error contract changesBreaking response types
  • OrderResponse and ElementsResponse changed to Map<String, Any> payloads.
  • CheckoutError changed to PaymentsError.
  • Payment Widget support moved into the current widget-controller model.

Avoid exhaustive casts over raw maps. Prefer dedicated callbacks and tolerate additive fields in event payloads.

v2.0.0 · Public symbol renamesMajor migration

The major line renamed DeUnaSdk to DeunaSDK, Callbacks to CheckoutCallbacks, response/event symbols, and changed event-listener argument order from (response, type) to (type, response).

Compile every callback and audit analytics adapters when migrating; swapped arguments can produce runtime data corruption even when application logic still builds through loosely typed wrappers.

Compatibility matrix#

SurfaceUpgrade check
Gradle and repositoriesResolve the exact SDK tag using the repositories documented for that release
Android toolchainCompile with the app's actual AGP, Kotlin, JDK, compileSdk, and min-SDK matrix
Hosted widgetsModal, embedded, auto-resize, keyboard, rotation, back navigation, and controller disposal
External actions3DS, Custom Tabs, provider apps, deep links, cancellation, and return-to-app behavior
Native walletsDevice capability, merchant configuration, activity result, tokenization, and cancellation
Fraud providersNative dependency present, early initialization, timeout, missing data, and provider-specific configuration
Callback payloadsDedicated success/error/close handlers plus an unknown-event fallback

Regression checklist#

  • Clean installation and upgrade from the currently deployed pin.
  • Release build with shrinking/obfuscation enabled.
  • Activity recreation, process death, background/foreground, and duplicate launch protection.
  • Payment Widget, Elements, Voucher, and Next Action in every supported presentation mode.
  • Card, wallet, APM, 3DS, error, timeout, close, and retry paths.
  • 320 dp content width, large text, keyboard navigation, TalkBack, and reduced animation settings.
  • Backend reconciliation after every client callback.