I'm not testing my in app purchase !
I have download my app from google play store and I still can't buy any of my In App purchase within the application.
I have the following error : "The publisher cannot purchase the item".
All my In App purchase are also valid and active.
I'm using the same google account than in my google play developer console.
I have read on google that it's normal that developer can't buy it's own items in testing mode (alpha or beta) but here i'm using the official version and I still can't do it !! (It's my first android application)
What did I do wrong ?
Thanks,
if you have the same account configured on the device (the one which you are using for developer console) make sure it is removed. Google Play will allow switching between all google accounts added on device. Also, before removing try switching directly in google play first to an account that is not your developer account and then do the purchase. If that doesn't work you'll probably need to remove the developer account for the device if you want to make a purchase fro your own app.
Related
I have implemented in app purchase in flutter for android and ios, but facing an issue in android side, while tested in ios its working, but not sure for testing in android device google play, as their documentations, i have submitted app to internal testing and as well as production too.
the issue is when ever i tried to test while i am a 'internal tester', not getting the test payment methods. i prompt with my real payment methods from google play. any suggestion/guide what i should have to do to test IAP.
i attached a screen shot as playstore is showing me as a internal tester.... but in app when try to purchase playstore show a real payment method, not test cards. btw i have multiple accounts signed in to my device, could this be the reason ?
Have you completed the following steps?
Go to Google Play Console.
Go to Settings (in Left Menu).
Go to Developer Account (and Account Details).
Scroll and go to section License Testing.
Add your google account there and save it.
Add the same google account as a tester on internal testing in Google Play Console.
Log in Play Store and Google chrome on your device with the same testing/google account you added above.
From Internal Testing of Google Play Console you will get a link, open that on your device browser (chrome) and accept invitation for testing.
If you have missed any of the step then complete it and test the app again!
I am trying to implement In app billing in my Xamarin.Forms application.
When I call the code to check if InAppBilling is supported (Service.IsBillingSupported (3, packagename, "subs")) it always returns true for the developer account that I uploaded my Beta APK to on Google Play Console, but of course I cant purchase in app items with my developer account.
But if I call the code for 2 other testing Google accounts, the service returns 3 - BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE. The other accounts both have valid credit cards and I have added the emails to the tester list in Google Play console. The phone I am using works for the developer account but not the other 2 accounts.
I found out my issue. It seems I am in a country where Google Play doesn't support paid applications.
Therefore, I removed the account from my Android Device, downloaded a free VPN to change my country, re-added the account to my device, and now I can purchase my in app purchases using my test account.
I implemented google play IAB sdk but when I run the application I got the following message:
Authentication is Required. You need to sign into your Google Account.
Although I published the application on Developers Console and also I double check the ProductID.
I guess you are testing your app directly from Android studio, you have to create a closed beta, add your email to testers and publish.
Use only signed APK to test inapp purchase with same version code and version name as you have in published APK on google console
Also add your email to tester
In addition to #Tinco De Simone's answer, maybe you are trying to access wrong item id from the console. From this thread, "In the developer console subscription item had id "premium" and I've tried to access "premium_version" item". Double check if the itemID fits with id that you request in your app.
Also be noted that it might take up to 6-8 hours before a newly created in-app product is available.
You may also check this related SO quesiton: Android IAB. Error - Authentication is required. You need to sign into your Google Account
This message indicates that, may be you are not logged in with any Google account in your testing device, as Google pay always requires a Google account to purchase anything from play-store.
I have an error
Authentication requied. You need to sign in google play account.
while testing in-app billing on my device with testing account.
I have implemented in-app billing v3 and i have uploaded signed apk in developer console as draft apk and running higher version signed apk in my device.
You need to login into Play with the same account which is added as Test Account into developer account.
From Testing Your In-app Billing Application
5 . Login to the test device by using a tester account. Test your In-app Billing application by purchasing a few items, and fix any issues that you encounter. Remember to refund the purchases if you don’t want your testers to be actually charged!
As you said you logged in with the same user id, then problem might be Getting “Authentication is required” when trying to access the market
It might be a temporary error.
I just implemented the v3 billing API in one of my apps and got the same error message. I followed the TrivialDrive example and uploaded my app for testing. Last night it worked fine, but today when trying to test a purchase I got the same error message you did. I then closed the error message and retried the purchase and it was working again? It might be my implementation of Billing that is incorrect or there might be a bug in the Google example code.
I'm going to continue testing before releasing my app but I'll be interested to hear if you find a solution for your problem.
I had this same problem on my Android tablet and though I kept going into my settings to reset the new password, the same message kept coming up. Finally, I found that I needed to open the 'warning message' that was being sent to me. Only then did it 'take' the new password and allow me to use Google Play.
This problem could occur because you don`t have added the product that you are searching with the same ID added to Google Play.
Go to In-app Products menu and check the product ID or add any one.
I have an Android app that uses In-App-Billing to sell Account Managed Items.
I tested the app with the static response IDs and everything seems to work. I now want to test the app with real product Ids.
I created the app in the Google Play Store and uploaded a draft version of the app with the correct permissions. I now created an In-App-Billing item and published the item.
At the moment the app is unpublished. The item is created and published and I have a test account that is registered in the profile of the developer account and is the only account on the device that I use for testing. The app is signed with the same key as the uploaded draft. Edit:I'm testing with Android 4.1 && 4.03 at the moment
If I try to buy the item the Google Play Store pops up but shows a dialog with the following method: The item you requested is not available for purchase.
How can I test buying the item without publishing the app?
When you test the app, make sure you have exported and correctly signed it (not using debug key). Also make sure that you are using the correct Google account (registered test account) on the device.
Additionally, the registered test account cannot be the developer account.
Apart from this, it should work fine.
Note: Testing your own in-app purchases does require a valid credit card and actual payment.
And finally, it currently takes a few hours for market edits to propagate through the servers and show up.
It may take some time to reflect the changes on google play if you just uploaded the app and added the item there wait for some time near about 2 hr. it will be shown the item you want to purchase.
For others who reach this thread, Now it's not possible to test In-app billing with just a draft version of the app.
Draft Apps are No Longer Supported
Previously, you could publish a "draft" version of your app for testing. This functionality is no longer supported. Instead, there are two ways you can test how a pre-release app functions on the Google Play store:
You can publish an app to the alpha or beta distribution channels. This makes the app available on the Google Play store, but only to the testers you put on a "whitelist".
In a few cases, you can test Google Play functionality with an unpublished app. For example, you can test an unpublished app's in-app billing support by using static responses, special reserved product IDs that always return a specific result (like "purchased" or "refunded").
for details read https://developer.android.com/google/play/billing/billing_testing.html#billing-testing-test
You can test in-app billing by using options, look at this
Edit :
On the link I mentionned, you can see this :
Note: You do not need to publish your application to do end-to-end
testing. You only need to upload your application as a draft
application to perform end-to-end testing.
If you still can not test it, what you can do is to publish it and test it. If you think there might be bugs in your app's in-app billing, refunds are still a solution.
I'm thinking about something, on the dev site, you can see this :
Verify that your device is running a supported version of the Google
Play application or the MyApps application.
On what Android version are you testing on ?
You've to add the products(item sku) in you app product in your play store app account. The SKU you set In-App billine is not available. For testing, set the SKU androidtestpayment. Now you'll now get that error The item you requested is not available for purchase.