Question

Android purchase - Something went wrong error

  • 2 September 2023
  • 8 replies
  • 757 views

Badge +2

Hello, I'm getting “something goes wrong error” on Android. It was working in the past but started not working suddenly. 

 

What I have and I have tried so far:

  • My app is live, was released on Google Play Store
  • I went through the Checklist
  • I tried to set a new application on RevenueCat but it’s still the same.
  • I can get all the products on the app
  • I tried to buy a product both on development & live it gives the same error.
  • I tried a different account (in case my account can be problematic), it’s the same
  • When I run logcat, it gives me these two things

 

I don’t know what to do now and I don’t get if the problem is on RevenueCat side, my Google Play Account or the code. I’d appreciate any help


8 replies

Badge +1

We are in the exact same situation ourselves. All the steps and things we tried are also identical to what @acerbastimur described. Just to also summarise our situation:

  • Our app has been live for a while.
  • We have Android subscribers (on renewals).
  • We have Sandbox testing set up and have been using it for nearly a year successfully.
  • The product information loads successfully in the app.
  • The purchase flow gets successfully triggered and we can see the correct pricing as well as the ‘Test card, always approves’ message.
  • The License testing is set to ‘RESPOND NORMALLY’
  • We are testing purchases solely on physical devices
  • We have tested license test purchases on multiple physical Android devices with real accounts (personal devices of team members).
  • No purchase goes through. We get the same error as the screenshot in the original post.
  • All devices have the most recent play store version but varying Android versions.
  • We are using the React Native SDK v6.6.4
  • We are using React Native 

Our product structure is as such:

  • Active subscription
    • Monthly base plan (with trial offer)
    • Yearly base plan (with trial offer)
      • Not backwards compatible, fallback is the Monthly base plan
  • Old subscription (kept for record keeping, never made it live)
    • Yearly base plan (with trial offer)

We’d appreciate any and all guidance on this problem as this issue prevented us from pushing an update for over a week now.

Userlevel 4
Badge +6

Hi @acerbastimur,

The error that you’re seeing is coming from Google - specifically, in the debug log screenshot, the BILLING_UNAVAILABLE error is from Google, and the PurchaseNotAllowedError is from RevenueCat, responding to the error from Google. 

This is typically triggered by the user not being able or allowed to purchase for some reason. This reason could be if they are not a licensed test user for your closed test track if you’re in sandbox, but it could also be that the version of the Play Store app on your device is outdated, you’re in an unsupported country, the emulator (if using one) needs to be restarted or doesn’t have Play Store installed, or the payment method is unable to be charged for any reason. Ensure that you are using an email address that has been added as a test user, that you are logged in to Google Play as that email address on your device or emulator, and that your device’s Play Store app is fully updated. 

The other possibility is that the requested feature is not available or supported on the device, this can also trigger the PurchaseNotAllowedError.

One last thing to check, specifically with React Native (@Cagri) is that you have included Billing permission in your AndroidManifest.xml file by adding the line:

<uses-permission android:name="com.android.vending.BILLING" />

 

Badge +1

Hello @kaitlin,

I stated that we do, in fact, have subscribers on Android but they are renewal subscribers not new ones. I don’t know how we could’ve possible acquired paying subscribers on Android without that permission.

We are testing on personal devices right now, which are all:

  • In a supported country.
  • Using the latest version of the Play Store
  • On Android 12
  • Licensed test users on all tracks.

I understand that the issue is stemming from Google but RevenueCat SDK is the piece of code interacting with Google’s relevant SDKs and APIs. So, the thing that has been working for a year now, breaking suddenly without absolutely any changes to our application code can, in my mind, one of two things:

  • We were supposed to carry out a migration of our configuration (Play Store products, RevenueCat configuration etc) to Billing v6 and we missed that.
  • Google deprecated a method that RevenueCat was using for purchases, which is now causing these issues. I don’t know how RevenueCat interacts with Googles APIs and SDKs but I believe it would be worth investigating

I’d like to state once again that we had the whole setup (real purchases, sandbox testing etc) working without issues for a year. The problems related to sandbox testing seems to have started mid-August.

Another bit of debugging information is this:

Event Details
Event Data

In the event data, a few things stood out:

  • This was not a cancellation. This was subscribing after expiration.
  • currency being null. This is not the case in other event data.
  • Purchase and expiration timestamps are accurate but they are for July 25th.
  • transaction_id is for a valid order that we can see on Google Play console but it is for a transaction that has been successful and finished. It is for a sandbox subscription purchase that succeeded.

We are still trying to figure out what might’ve broken things between Android Billing v6 and v5 and will report back here if we find anything but in the meantime, we would appreciate some help on this.

Best Regards,

Cagri

Badge +2

Same issue here. Any update or solution?

My subscription flow was working, and it's been a month since I received the 'Something went wrong' error. I have two published apps, and both of them are encountering this error simultaneously. I've tried many solutions, but none of them worked.

 

my error log:

Activity finished with resultCode 0 and billing's responseCode: 3
E/[Purchases] - ERROR(26164): 🤖‼️ BillingWrapper purchases failed to update: DebugMessage: . ErrorCode: BILLING_UNAVAILABLE.null
E/[Purchases] - ERROR(26164): 🤖‼️ PurchasesError(code=PurchaseNotAllowedError, underlyingErrorMessage=Error updating purchases. DebugMessage: . ErrorCode: BILLING_UNAVAILABLE., message='The device or user is not allowed to make the purchase.')

 
 

 

 

Badge +2

We are in the exact same situation ourselves. All the steps and things we tried are also identical to what @acerbastimur described. Just to also summarise our situation:

  • Our app has been live for a while.
  • We have Android subscribers (on renewals).
  • We have Sandbox testing set up and have been using it for nearly a year successfully.
  • The product information loads successfully in the app.
  • The purchase flow gets successfully triggered and we can see the correct pricing as well as the ‘Test card, always approves’ message.
  • The License testing is set to ‘RESPOND NORMALLY’
  • We are testing purchases solely on physical devices
  • We have tested license test purchases on multiple physical Android devices with real accounts (personal devices of team members).
  • No purchase goes through. We get the same error as the screenshot in the original post.
  • All devices have the most recent play store version but varying Android versions.
  • We are using the React Native SDK v6.6.4
  • We are using React Native 

Our product structure is as such:

  • Active subscription
    • Monthly base plan (with trial offer)
    • Yearly base plan (with trial offer)
      • Not backwards compatible, fallback is the Monthly base plan
  • Old subscription (kept for record keeping, never made it live)
    • Yearly base plan (with trial offer)

We’d appreciate any and all guidance on this problem as this issue prevented us from pushing an update for over a week now.

Did you find the issue? If you found it, how should the issue be resolved? I would appreciate it if you could let us know.

 
 

 

 

Badge +1

Unfortunately, no, we still haven’t been able to figure out what is going wrong. I will definitely write here if we can find any information on this.

Badge +2

Unfortunately, no, we still haven’t been able to figure out what is going wrong. I will definitely write here if we can find any information on this.

Thank you so much. Also, I checked out an app I know. The developer used Flutter and the RevenueCat SDK for the purchase, and exactly the same error came up. I'm pretty sure there is some issue related to the SDK.

I also contacted Google Play Console support, but their solution didn't help at all.

 
 

 

 

Userlevel 4
Badge +6

Hi all, 

We were supposed to carry out a migration of our configuration (Play Store products, RevenueCat configuration etc) to Billing v6 and we missed that.

The error could definitely be related to which Billing Client you’re currently using, but this will depend on when your app shipped. If you were on the Play Store and had purchases prior to August 1st, then you’d be considered an existing app and have until November 1st to update to BC 5.

Otherwise, if you were not on the Play Store prior to August 1st then you’d be considered a new app, and need to have migrated to BC5 before releasing. 

At this point if the error is still occurring, I’d recommend opening a ticket with RevenueCat Support either via the contact form in your account settings or by emailing support@revenuecat.com and including full debug logs from initialization onward that reproduce this error occurring. We can continue to troubleshoot and hopefully figure out where these errors are coming from.

Reply