It seems like there isn’t a one way road to solve this, but let’s try do this.
-
When the user first install the app get his/her primary email or all accounts on the device
-
Ask the user what email will they be using for future payment/ or which account is active for google play.
you can use this code to get the account
Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(context).getAccounts(); for (Account account : accounts) { if (emailPattern.matcher(account.name).matches()) { String possibleEmail = account.name; ... } }Don’t forget to ask for permission
<uses-permission android:name="android.permission.GET_ACCOUNTS" />After the user selects the email, you can send a link via email to confirm this email address
-
Lead all the payment to that specific email.
Method 2
Use the new “Send & Receive money using Gmail” future
-
Create a email intent and send specific data to the email intent and make payments.
-
Upon success, send a code to the user email
-
Use the code to activate whatever purchased they make.
Method 3
Use another payment library or gateway for your in app purchase instead of Google play.