I spent a week looking for solution to upgrade/downgrade subscriptions on Android InAppBilling.
There\'s a reference page about this function: http
at first thanks for aidl file.
But for me it is not working. I always get an error code 5:
Invalid arguments provided to the API. This error can also indicate that the application was not correctly signed or properly set up for In-app Billing in Google Play, or does not have the necessary permissions in its manifest
I don't think that the permissions are wrong or it is not correctly signed as all other payment requests work.
This is my code:
List<String> subs = new ArrayList<>();
subs.add(current_sub);
buyIntentBundle = mService.getBuyIntentToReplaceSkus(3, "package", subs,
key, "subs", getResources().getString(R.string.developer_payload));
How do you execute an upgrade request or do you see any error in my request?
Thanks Solidus
This seems to be a mistake/bug from google. They have not updated aidl file correctly. You can probably add this method to aidl file yourself (and figure out correct signature by try&error) but if you can you should wait a little while they get their act together.
I had the similar issue and found out that
Just use my aidl file and be happy :)
It works perfectly!
https://gist.github.com/cre8ivejp/21b10fbbc7e500f99059
*Do not change the order of the methods inside aidl file or it will not work.
You just have to update the 'aidl' file from the official gitHub, and clean-build the project:
https://github.com/googlesamples/android-play-billing/blob/master/TrivialDrive/app/src/main/aidl/com/android/vending/billing/IInAppBillingService.aidl
You'll be happy forever after.