--- title: "Alma Android Component" description: "Add Alma to your Components integration." url: "https://docs.adyen.com/payment-methods/alma/android-component" source_url: "https://docs.adyen.com/payment-methods/alma/android-component.md" canonical: "https://docs.adyen.com/payment-methods/alma/android-component" last_modified: "2026-05-23T12:56:20+02:00" language: "en" --- # Alma Android Component Add Alma to your Components integration. [View source](/payment-methods/alma/android-component.md) You can add Alma to your existing integration. The following instructions show only what you must add to your integration specifically for Alma. If an instruction on this page corresponds with a step in the main integration guide, it includes a link to corresponding step of the main integration guide. The additions you must make depends on the [server-side flow](/online-payments/build-your-integration) that your integration uses: ## Sessions flow Component ### Before-You-Begin ## Requirements | Requirement | Description | | | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | - | | **Integration type** | Make sure that you have an existing Sessions flow [Android Components integration](/online-payments/build-your-integration/sessions-flow?platform=Android). | | | **Checkout API** | Make sure that you use Checkout API v68 or later. | | | **Setup steps** | Before you begin, [add Alma in your Customer Area](/payment-methods/add-payment-methods). | | ### Add-Parameters-Sessions-Request ## Add additional parameters to your /sessions request When you [create a payment session](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components#create-a-payment-session), add the following parameters: | Parameter | Required | Description | | ---------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------- | | [telephoneNumber](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/sessions#request-telephoneNumber) | | The shopper's telephone number. | | [shopperEmail](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/sessions#request-shopperEmail) | | The shopper's email address. | | [billingAddress](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/sessions#request-billingAddress) | | The postal address of the shopper. | | [deliveryAddress](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/session#request-deliveryAddress) | | The postal address where the purchased goods should be delivered. | **Example /sessions request** ```bash curl https://checkout-test.adyen.com/v71/sessions \ -H 'x-API-key: ADYEN_API_KEY' \ -H 'Idempotency-Key: YOUR_IDEMPOTENCY_KEY' \ -H 'content-type: application/json' \ -X POST -d '{ "merchantAccount": "ADYEN_MERCHANT_ACCOUNT", "amount": { "value": 1000, "currency": "EUR" }, "returnUrl": "adyencheckout://your.package.name", "reference": "YOUR_PAYMENT_REFERENCE", "countryCode": "FR", "telephoneNumber": "85121212121", "shopperEmail": "s.hopper@gmail.com", "billingAddress": { "city": "Paris", "country": "FR", "houseNumberOrName": "123", "postalCode": "2000", "street": "Happy Street" }, "deliveryAddress": { "city": "Paris", "country": "FR", "houseNumberOrName": "123", "postalCode": "2000", "street": "Happy Street" } }' ``` ### Import-Component ## Import the Component for Alma To [import the library](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components#import) and include the module for Alma. ### Tab: With Jetpack Compose **Import the module with Compose** ```java implementation "com.adyen.checkout:instant:YOUR_VERSION" implementation "com.adyen.checkout:components-compose:YOUR_VERSION" ``` ### Tab: Without Jetpack Compose **Import the module without Compose** ```java implementation "com.adyen.checkout:instant:YOUR_VERSION" ``` ### Add-Configuration ## Add additional configuration for Alma [Add a configuration object](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components#3-optional-add-a-configuration-object) with the following parameters: | Parameter | Required | Description | | ---------------------- | -------- | -------------------------------------------------------------------- | | setSubmitButtonVisible | | Set to **false** to hide the submit button. The default is **true**. | **Add a configuration object** ```kotlin { .setSubmitButtonVisible(value) } ``` ### Launch-And-Show ## Launch and show the Component for Alma To [create the Component](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components#launch-and-show) for Alma, use the `InstantPaymentComponent` class. ### Tab: With Jetpack Compose **Launch and show the Component** ```kotlin import com.adyen.checkout.components.compose.get // Get the payment method. val paymentMethod = checkoutSession.getPaymentMethod(PaymentMethodTypes.SCHEME) @Composable private fun ComposableInstantPaymentComponent() { // Keep a reference to this Component in case you need to access it later. val instantComponent = InstantPaymentComponent.PROVIDER.get( checkoutSession = checkoutSession, paymentMethod = paymentMethod, configuration = checkoutConfiguration, componentCallback = callback, // This key is required to ensure a new Component gets created for each different screen or payment session. // Generate a new value for this key every time you need to reset the Component. key = "YOUR_UNIQUE_KEY_FOR_THIS_COMPONENT", ) // This is your composable, a wrapper around our xml view. AdyenComponent( component = instantComponent, modifier = YOUR_MODIFIER, ) } ``` ### Tab: Without Jetpack Compose ```kotlin // Get the payment method. val paymentMethod = checkoutSession.getPaymentMethod(PaymentMethodTypes.SCHEME) val instantComponent = InstantPaymentComponent.PROVIDER.get( activity, // Your activity or fragment. checkoutSession, paymentMethod, checkoutConfiguration, componentCallback ) // Attach the Component to your view. binding.instantView.attach(instantComponent, activity) // Your activity or fragment. ``` ## Test and go live Check the status of Alma test payments in your [Customer Area](https://ca-test.adyen.com/) > **Transactions** > **Payments**. Before you can accept live Alma payments, you need to [submit a request for Alma](/payment-methods/add-payment-methods) in your [live Customer Area](https://ca-live.adyen.com/). ## Advanced flow Component ## Requirements | Requirement | Description | | | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | | **Integration type** | Make sure that you have an existing Advanced flow [Android Components integration](/online-payments/build-your-integration/advanced-flow?platform=Android). | | | **Redirect handling** | Make sure that your existing integration is set up to [handle the redirect](/online-payments/build-your-integration/advanced-flow/?platform=Android\&integration=Components#handle-the-redirect). `action.type`: **redirect** | | | **Setup steps** | Before you begin, [add Alma in your Customer Area](/payment-methods/add-payment-methods). | | ### Import ## Import the Component for Alma To [import the library](/online-payments/build-your-integration/advanced-flow/?platform=Android\&integration=Components#import) and include the module for Alma. ### Tab: With Jetpack Compose **Import the module with Compose** ```java implementation "com.adyen.checkout:instant:YOUR_VERSION" implementation "com.adyen.checkout:components-compose:YOUR_VERSION" ``` ### Tab: Without Jetpack Compose **Import the module without Compose** ```java implementation "com.adyen.checkout:instant:YOUR_VERSION" ``` ### Add Configuration ## Add additional configuration for Alma [Add a configuration object](/online-payments/build-your-integration/advanced-flow/?platform=Android\&integration=Components#3-optional-add-a-configuration-object) with the following parameters: | Parameter | Required | Description | | ---------------------- | -------- | -------------------------------------------------------------------- | | setSubmitButtonVisible | | Set to **false** to hide the submit button. The default is **true**. | **Add a configuration object** ```kotlin { .setSubmitButtonVisible(value) } ``` ### Launch And Show ## Launch and show the Component for Alma To [create the Component](/online-payments/build-your-integration/advanced-flow/?platform=Android\&integration=Components#launch-and-show) for Alma, use the `InstantPaymentComponent` class. ### Tab: With Jetpack Compose **Launch and show the Component** ```kotlin import com.adyen.checkout.components.compose.get // Create the payment method object from the /paymentMethods response. val paymentMethod = paymentMethodsApiResponse?.paymentMethods.orEmpty().firstOrNull { it.type == PaymentMethodTypes.SCHEME } @Composable private fun ComposableInstantPaymentComponent() { // Keep a reference to this Component in case you need to access it later. val instantComponent = InstantPaymentComponent.PROVIDER.get( paymentMethod = paymentMethod, configuration = checkoutConfiguration, componentCallback = callback, // This key is required to ensure a new Component gets created for each different screen or payment session. // Generate a new value for this key every time you need to reset the Component. key = "UNIQUE_KEY_PER_COMPONENT", ) // This is your composable, a wrapper around our xml view. AdyenComponent( component = instantComponent, modifier = YOUR_MODIFIER, ) } ``` ### Tab: Without Jetpack Compose ```kotlin // Create the payment method object from the /paymentMethods response. val paymentMethod = paymentMethodsApiResponse?.paymentMethods.orEmpty().firstOrNull { it.type == PaymentMethodTypes.SCHEME } val instantComponent = InstantPaymentComponent.PROVIDER.get( activity, // Your activity or fragment. paymentMethod, checkoutConfiguration, componentCallback, ) //Attach the Component to your view. binding.instantView.attach(instantComponent, activity) // Your activity or fragment. ``` ### Add Parameters Payments Request ## Add additional parameters to your /payments request When you [make a payment](/online-payments/build-your-integration/advanced-flow/?platform=Android\&integration=Components#make-a-payment), add the following parameters to the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request: | Parameter | Required | Description | | ----------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- | | [telephoneNumber](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/payments#request-telephoneNumber) | | The shopper's telephone number. | | [shopperEmail](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/payments#request-shopperEmail) | | The shopper's email address. | | [billingAddress](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/payments#request-billingAddress) | | The postal address of the shopper. | | [deliveryAddress](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/payments#request-deliveryAddress) | | The postal address where the purchased goods should be delivered. | | [additionalData.alma.installments\_count](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments#request-additionalData) | | Set to `3` or `4` to determine the number of installments the shopper will pay. Do not include if you want to let the shopper choose. | **Example payment request for Alma** ```bash curl https://checkout-test.adyen.com/v72/payments \ -H 'x-API-key: ADYEN_API_KEY' \ -H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \ -H 'content-type: application/json' \ -X POST -d '{ "amount":{ "currency":"EUR", "value":1000 }, "reference":"YOUR_ORDER_NUMBER", "returnUrl":"https://your-company.com/checkout?shopperOrder=12xy..", "merchantAccount":"ADYEN_MERCHANT_ACCOUNT", "countryCode": "FR", "shopperLocale": "en-US", "telephoneNumber": "85121212121", "shopperEmail": "s.hopper@gmail.com", "billingAddress": { "city": "Paris", "country": "FR", "houseNumberOrName": "123", "postalCode": "2000", "street": "Happy Street" }, "deliveryAddress": { "city": "Paris", "country": "FR", "houseNumberOrName": "123", "postalCode": "2000", "street": "Happy Street" }, "additionalData": { "alma.installments_count": 4 } }' ``` The response includes the `action.type`: redirect. **Example response with an additional action** ```json { "resultCode":"RedirectShopper", "action":{ "paymentMethodType":"alma", "method":"GET", "url":"https://checkoutshopper-test.adyen.com/checkoutshopper/checkoutPaymentRedirect?redirectData=...", "type":"redirect" } } ``` ## Test and go live Check the status of Alma test payments in your [Customer Area](https://ca-test.adyen.com/) > **Transactions** > **Payments**. Before you can accept live Alma payments, you need to [submit a request for Alma](/payment-methods/add-payment-methods) in your [live Customer Area](https://ca-live.adyen.com/).