Skip to main content
Solved

[Android] "The product is not available for purchase"


Kolekto
Forum|alt.badge.img+6

Sorry for asking this question here, but we haven’t had much luck over the SDK forum. 

We are still getting the “The product is not available for purchase” when attempting to subscribe on Android when using the React Native package. Initially I suspected there may be some kind of latency associated with the setup, but that doesn’t appear to be the case. 

Here’s a list of what we’ve checked and the current set up:

  1. The app is publicly rolled out on a production track
  2. The package name in RevenueCat matches that in our Gradle build
  3. The product identifiers match those in Google Play Console
  4. The subscriptions are active in Google Play Console

Set up on the Google side of things seems to be fine, as the Play Store listing is correctly pulling in our subscription packages. Here are screenshots to confirm the above:

Subscriptions in GPC showing as active
App is available and rolled out in production
Play Store listing clearly recognises IAPs
Identifiers in RevenueCat match those in the Play Console
Package name matches in Play Console

Does anyone have any suggestions of what we may try? This is extremely frustrating as the iOS version works flawlessly, and according to all of the RevenueCat documentation, this should be working on Android too!

Best answer by Kolekto

So, I finally figured out the problem. Basically, you have to pass Purchases.PURCHASE_TYPE.SUB as the last param to `purchaseProduct`, here’s what the final signature looks like:

const { purchaserInfo, productIdentifier } = await Purchases.purchaseProduct(
  plan,
  null,
  Purchases.PURCHASE_TYPE.SUBS 
);

 

View original
Did this post help you find an answer to your question?

12 replies

Forum|alt.badge.img+2
  • New Member
  • 2 replies
  • January 5, 2022

I am having the same issue with Android right now. Any help would be appreciated


Kolekto
Forum|alt.badge.img+6
  • Author
  • Helper
  • 5 replies
  • Answer
  • January 5, 2022

So, I finally figured out the problem. Basically, you have to pass Purchases.PURCHASE_TYPE.SUB as the last param to `purchaseProduct`, here’s what the final signature looks like:

const { purchaserInfo, productIdentifier } = await Purchases.purchaseProduct(
  plan,
  null,
  Purchases.PURCHASE_TYPE.SUBS 
);

 


Forum|alt.badge.img+2
  • New Member
  • 2 replies
  • January 6, 2022
Kolekto wrote:

So, I finally figured out the problem. Basically, you have to pass Purchases.PURCHASE_TYPE.SUB as the last param to `purchaseProduct`, here’s what the final signature looks like:

const { purchaserInfo, productIdentifier } = await Purchases.purchaseProduct(
  plan,
  null,
  Purchases.PURCHASE_TYPE.SUBS 
);

 

Thank you for sharing! You’ve just saved me some time. Hope I can repay you someday :)


Forum|alt.badge.img+2

I have the exact same issue but not in production, I'm still in testing.

I’m using Flutter so the above answer doesn't help, unfortunately.

Does anyone know how to handle this in Flutter?


Forum|alt.badge.img
  • New Member
  • 1 reply
  • September 29, 2022

Paulo Silva
Forum|alt.badge.img+4
  • Helper
  • 5 replies
  • December 2, 2022
Kolekto wrote:

So, I finally figured out the problem. Basically, you have to pass Purchases.PURCHASE_TYPE.SUB as the last param to `purchaseProduct`, here’s what the final signature looks like:

const { purchaserInfo, productIdentifier } = await Purchases.purchaseProduct(
  plan,
  null,
  Purchases.PURCHASE_TYPE.SUBS 
);

 

This was it. Mine is working also. Thank you soo much for sharing the solution.


Forum|alt.badge.img+4

I don’t see that option availbale when using Purchases.purchasePackage


Forum|alt.badge.img
  • New Member
  • 1 reply
  • December 2, 2023

Purchases.purchaseProduct is deprecated so we can’t use this function - is this thread still alive? I’m facing similar issues - I’ve created in-app purchase products and subscriptions in the google play store, and the link between reveneucat and google play services works but I’m getting:

The product is not available for purchase

 


onlyhumn.nathan
Forum|alt.badge.img+2

My problem was that the user logging into my app was not in the Close Testing Testers list. Adding them there allows access to the products.


Forum|alt.badge.img+3
  • New Member
  • 1 reply
  • April 11, 2024

I added myself as internal tester and now everything works 


Forum|alt.badge.img+1
onlyhumn.nathan wrote:

My problem was that the user logging into my app was not in the Close Testing Testers list. Adding them there allows access to the products.

THIS. omg. I was losing my wits! lol. ty!


Forum|alt.badge.img+2

The problem for me is that I was using internal testing. When submitting for Google approval, you must use Open Test, not internal.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings