Initialization - Fragment Transfer Experience

Open a specific transfer's status screen inside your own Activity as a Fragment.

Fragment Transfer Experience Initialization

The PayMitto SDK also allows you to open a specific transfer's status screen as a Fragment embedded inside your own Activity, without launching a new Activity. This mirrors openTransferDetailsScreen for hosts that prefer the Fragment integration model.

Like the standard experience, this is a two step process. First you configure the SDK, then you create the Fragment:

  1. Call configureFragment with your PayMittoConfiguration object. This prepares the SDK internals and your authentication provider. It returns right away and does not start authentication.
  2. Call createTransferDetailsFragment, passing the transfer ID, then add the Fragment to your FragmentManager. Authentication runs inside the Fragment, which shows the SDK loading view while it signs in and then opens the transfer's status screen.
PayMitto.configureFragment(
    activity = this@MainActivity,
    payMittoConfiguration = sdkConfiguration
)

val fragment = PayMitto.createTransferDetailsFragment(transferId = "transfer-id")
supportFragmentManager.beginTransaction()
    .replace(R.id.container, fragment)
    .addToBackStack(null)
    .commit()

ℹ️

Call configureFragment first

createTransferDetailsFragment needs the SDK to be configured. Always call configureFragment before it, otherwise the SDK throws an IllegalStateException.


ℹ️

Edge-to-edge

When using the Fragment API, your Activity is responsible for calling enableEdgeToEdge() if you want the SDK visuals to extend behind the system bars.


ℹ️

Locale

In Fragment mode, display strings follow your host Activity's locale. The localization parameter in PayMittoConfiguration still controls the API request language (Accept-Language header) and date formatting.


ℹ️

After process death

The SDK internals do not survive the process being killed. When the system restores your Activity, call configureFragment again before the Fragment is recreated, or detect that the SDK is not configured and route the user to a safe screen.


ℹ️

If you are using Jetpack Compose

Don't create the configuration object or call PayMitto.configureFragment and PayMitto.createTransferDetailsFragment in the compose scope, since recompositions lead to runtime errors.

Create the configuration object inside a remember clause or in an AndroidX ViewModel, and call configureFragment before setContent.



Did this page help you?