# 17.1 Android Setup

## Setup Payment Profile

From your **Google Developer Console Account > Setup > Payment Profile**, you need to add your payment profile. Like adding your bank account. If you have already added that, you can ignore it.

## License Testing Setup

In this step, you need to add some **testers** who can test the IAP product in the app and purchase points without any real payment.

**From your Google Developer Console Account > Setup > License testing**, Add some email addresses.

<div align="left"><figure><img src="https://content.gitbook.com/content/yaJJT5ZOPh9eibDKGSOc/blobs/oU1DrHWSGn8SwZq9vHJ9/Screenshot%202023-05-16%20at%203.20.46%20PM.png" alt=""><figcaption></figcaption></figure></div>

## Upload Initial Build at Google Play Store

To activate **IAP** for your app in the Google Play Store, you need to add the **billing permission** in the code section and upload an initial build at the Google Play Store as **Close Testing**. (Only the testers you will assign in the upcoming step can test the app). You shouldn't upload it on production.

#### Add the Billing Permission

From the App source code, Go to the **lms\_app/android/app/src/main/AndroidManifest.xml** file and **enable** the selected line shown in the picture below. This permission will enable the billing and IAP at the Google Play Store.

<figure><img src="https://content.gitbook.com/content/yaJJT5ZOPh9eibDKGSOc/blobs/5824lPJCJiACI96k5xEd/code_1.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If you already uploaded your app in production and released it at the Google Play Store, you also need to follow the same step (Add billing permission and upload it as a Close Testing version).
{% endhint %}

Without uploading any new version in the **Closed Testing**, you won't see the IAP features.

{% hint style="info" %}
Before going to the next steps, make sure you have uploaded a new build in the Closed Testing and published it.
{% endhint %}

## Configure Subscriptions

After publishing a new version with Close testing, you will see the **Subscriptions** option on your app sidebar.

<figure><img src="https://3680394644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyaJJT5ZOPh9eibDKGSOc%2Fuploads%2F9Gr54AVKSo22RwNwyIu2%2FScreenshot%202023-12-24%20at%205.05.44%20PM.png?alt=media&#x26;token=8a7e28bf-8fe2-4e50-bf53-c5d63fbda538" alt=""><figcaption></figcaption></figure>

#### Create Subscriptions

From **Your App > Monetize >** **Subscriptions**, create a subscription by clicking on the **Create subscription** button.&#x20;

* Add **Product ID**.

{% hint style="info" %}
Product ID can be anything but unique. You must add the duration in days in your product ID. For example,&#x20;

**myplan\_7** (for 7 days),

**myanotherplan\_30** (for 30 days)
{% endhint %}

{% hint style="danger" %}
You can't use any other number in your product ID except the days. Example,

**myplan1\_30, myplan2\_365**

This is not acceptable.
{% endhint %}

Look at the shown below, you will understand how to use product IDs.

<div align="left"><figure><img src="https://3680394644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyaJJT5ZOPh9eibDKGSOc%2Fuploads%2FnJ0SY8vTgacLQ07iWSrl%2FScreenshot%202023-12-25%20at%2012.21.32%20AM.png?alt=media&#x26;token=a7b879a1-a406-4187-8562-f3dad83f8f30" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://3680394644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyaJJT5ZOPh9eibDKGSOc%2Fuploads%2FTQ7O0I3fddcEirXIVFzH%2FScreenshot%202023-12-24%20at%205.05.44%20PM.png?alt=media&#x26;token=8aa736b8-d4ba-4cac-bc4d-dda8a3f43932" alt=""><figcaption></figcaption></figure>

* Add **Product Name** which will be shown on the app.
* After creating the product, add subscription details > Description.

<figure><img src="https://3680394644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyaJJT5ZOPh9eibDKGSOc%2Fuploads%2FHdJy1eHJKSW5nVCBaxvd%2FScreenshot%202023-12-25%20at%201.26.28%20AM.png?alt=media&#x26;token=2d0a718c-de41-4321-8893-d9154c930177" alt=""><figcaption></figcaption></figure>

* Add base plan ID.

{% hint style="info" %}
You have to create a **base plan** for your product. You can create many base plans but only one will be active. A base plan ID can be anything but unique. No extra requirements for that.
{% endhint %}

* Select Type > Prepaid and select the plan duration.

{% hint style="danger" %}
Plan duration must be aligned with your product\_id. For example, if you select 1 week then your product ID must contain 7. If you select 1 month then your product ID must contain 30.
{% endhint %}

<figure><img src="https://3680394644-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyaJJT5ZOPh9eibDKGSOc%2Fuploads%2FSu0ivql6ReZ4efe2rSlE%2FScreenshot%202023-12-25%20at%201.29.20%20AM.png?alt=media&#x26;token=9870123b-8b97-4752-833a-bad99836edaf" alt=""><figcaption></figcaption></figure>

* Now save the base plan.

{% hint style="success" %}
That's it. Your first subscription plan has been created. This way you can create as many plans as you want. We have used 3 plans for our demo app.
{% endhint %}
