--- title: "Rakuten Pay Android Component" description: "Add Rakuten Pay to your Components integration." url: "https://docs.adyen.com/payment-methods/rakutenpay/android-component" source_url: "https://docs.adyen.com/payment-methods/rakutenpay/android-component.md" canonical: "https://docs.adyen.com/payment-methods/rakutenpay/android-component" last_modified: "2026-05-15T11:18:09+02:00" language: "en" --- # Rakuten Pay Android Component Add Rakuten Pay to your Components integration. You can add Rakuten Pay to your existing integration. The following instructions show only what you must add to your integration specifically for Rakuten Pay. 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. | | | **Redirect handling** | Make sure that your existing integration is set up to [handle the redirect](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components#handle-the-redirect). `action.type`: **redirect** | | | **Setup steps** | Before you begin, [add Rakuten Pay in your Customer Area](/payment-methods/add-payment-methods). | | ### Add-Parameters-Sessions-Request ## Add additional parameters to your /sessions request You do not need to add any parameters when you [create a payment session](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components#create-a-payment-session). ### Import-Component ## Import the Component for Rakuten Pay To [import the library](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components#import) and include the module for Rakuten Pay. ### 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 Rakuten Pay [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 Rakuten Pay To [create the Component](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components#launch-and-show) for Rakuten Pay, 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. ``` ## Recurring If you have a business model based on [subscription](/get-started-with-adyen/adyen-glossary#subscriptions) and [unscheduled card-on-file](/get-started-with-adyen/adyen-glossary#unscheduled-card-on-file-ucof) payments, Rakuten Pay permits one-off [card-on-file](/get-started-with-adyen/adyen-glossary#card-on-file-cof) transactions after a review process. If you do not have a periodic charging cadence, Rakuten Pay prohibits you from initiating the Recurring Processing Model for card-on-file, which is primarily allowed for the Food & Beverage business category. You must apply for every Recurring Processing Model when you request Rakuten Pay. Refer to [Create tokens](/online-payments/tokenization/create-tokens/) to integrate with our tokenization feature. We strongly recommend that you ask explicit permission from the shopper if you intend to make future recurring payments. Being transparent about the payment schedule and the charged amount reduces the risk of chargebacks. ## Test and go live To test Rakuten Pay payments, use the acquirer account `DGFT_AcquirerAccount_RakutenPay_closedLoop` in the TEST environment. You will be redirected you to a DGFT simulator tool to complete the transaction. You do not need the Rakuten Pay app. You can check the status of Rakuten Pay test account transactions in your Customer Area at **Transactions** > **Payments**. ## 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). | | | **Action handling** | Make sure that your existing integration is set up to [handle the additional action](/online-payments/build-your-integration/advanced-flow/?platform=Android\&integration=Components#additional-action). `action.type`: redirect. | | | **Setup steps** | Before you begin, [add Rakuten Pay in your Customer Area](/payment-methods/add-payment-methods). | | ### Import ## Import the Component for Rakuten Pay To [import the library](/online-payments/build-your-integration/advanced-flow/?platform=Android\&integration=Components#import) and include the module for Rakuten Pay. ### 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 Rakuten Pay [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 Rakuten Pay To [create the Component](/online-payments/build-your-integration/advanced-flow/?platform=Android\&integration=Components#launch-and-show) for Rakuten Pay, 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 You do not need to add any parameters to the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request when you [make a payment](/online-payments/build-your-integration/advanced-flow/?platform=Android\&integration=Components#make-a-payment). ## Recurring If you have a business model based on [subscription](/get-started-with-adyen/adyen-glossary#subscriptions) and [unscheduled card-on-file](/get-started-with-adyen/adyen-glossary#unscheduled-card-on-file-ucof) payments, Rakuten Pay permits one-off [card-on-file](/get-started-with-adyen/adyen-glossary#card-on-file-cof) transactions after a review process. If you do not have a periodic charging cadence, Rakuten Pay prohibits you from initiating the Recurring Processing Model for card-on-file, which is primarily allowed for the Food & Beverage business category. You must apply for every Recurring Processing Model when you request Rakuten Pay. Refer to [Create tokens](/online-payments/tokenization/create-tokens/) to integrate with our tokenization feature. We strongly recommend that you ask explicit permission from the shopper if you intend to make future recurring payments. Being transparent about the payment schedule and the charged amount reduces the risk of chargebacks. ## Test and go live To test Rakuten Pay payments, use the acquirer account `DGFT_AcquirerAccount_RakutenPay_closedLoop` in the TEST environment. You will be redirected you to a DGFT simulator tool to complete the transaction. You do not need the Rakuten Pay app. You can check the status of Rakuten Pay test account transactions in your Customer Area at **Transactions** > **Payments**.