Fixing the bug with In-App subscriptions (Google Play) in React Native
Task Description: A React Native developer is required to fix a bug in the logic of in-app purchases (Podocard project). Everything works fine on iOS (App Store), the problem is only in the Android version (Google Play).
Problem Essence: The application has two paid plans: Pro and Team.
The initial purchase of the Pro plan is successful.
When trying to upgrade (switch) from the Pro plan to the Team plan, a failure occurs: either the automatic cost recalculation (proration) does not trigger, or the application crashes with an error.
Stack:
React Native
Subscription management library RevenueCat
What needs to be done:
Debug the Android version and identify the cause of the crash/error in recalculation when changing plans.
Fix the subscription upgrade logic for Google Play Billing.
Ensure that the transition from Pro to Team works correctly and without crashes.
Please indicate your experience with Google Play Billing and in-app subscriptions in React Native in your response.
-
Hello!
We are dZENcode – a full-cycle digital solutions development company: from design and programming to integrations and post-release support. We take on projects from scratch and also engage in the refinement of existing solutions.
We can assist with debugging and fixing subscription logic in React Native for Android.
1. Is there already access to the Android crash logs or RevenueCat logs for the problematic upgrade scenario?
2. What versions of Google Play Billing and RevenueCat SDK are currently used in the project?
… You can find detailed information about our services and rates on our website:Freelancehunt
Take a look – after that we can discuss the details and agree on the next steps.
⚠️ After clarifying all the details, we will determine the scope, suitable format of cooperation: task-based, outsourcing, or outstaffing, and the final cost.
With us, projects are guaranteed to reach release:
• 10+ years providing IT services;
• 90+ in-house specialists;
• 250+ public reviews since 2015;
• We support the product under SLA after launch;
• We work under NDA and contract with the company!
-
I will fix the subscription upgrade logic in your Android app Podocard, eliminate native crashes, and ensure correct proration when switching from Pro to Team via RevenueCat.
I have deep technical experience with frontend application architecture, mobile interfaces, and payment system integration, where a clear understanding of data lifecycle and error handling allows for the creation of stable premium products without failures.
Have you already checked if the correct googleProrationMode flag is being passed in your React Native code during the purchasePackage method call, and if both plans are combined into one subscription base (Subscription Group) in the Google Play console? Without this, RevenueCat cannot physically perform the upgrade and causes the app to crash.
I am ready to quickly connect a debugger, identify the exact error log, and resolve this bug — we can discuss details and timelines in private correspondence.
Similar completed project: В модулі OpenCart виправити 5 проблем повязаних з Facebook API
-
Hello, I worked on a fitness training app with a comprehensive Pro/Premium subscription system through RevenueCat in React Native, where I set up seamless transitions between plans with automatic cost recalculation - 100% success rate for upgrades.
I am curious whether the proration issue occurs only under specific transition conditions, or if it is a systemic error in the Google Play Billing API?
I suggest we get in touch; I will provide you with free technical consultation and we can outline a development plan + I will tell you about my team!
-
13013 67 0 Hello! I will complete your task quickly and efficiently. I will make adjustments in React Native.
My recent works:
https://indexfast.pp.ua - fast website indexing
https://mono-bank.pp.ua - everything about Monobank
https://mamamia.pp.ua - online store
https://programist.pp.ua/ua/portfolio/ - portfolio of works
https://monitortest.pp.ua - monitor testing
https://keytest.pp.ua - keyboard testing
… https://pctest.pp.ua - computer testing
My portfolio: https://freelancehunt.com/ua/freelancer/romas6ka.html#portfolio
Message me, I can start working today. I would be happy to collaborate with you!
-
2116 20 0 I understood the technical specifications: RN application Podocard, RevenueCat as a wrapper over Google Play Billing. iOS works as expected. Android has a bug when upgrading from Pro to Team: either proration breaks (automatic cost recalculation), or it crashes.
In 95% of cases in this setup, the reason is one of four.
The first is an incorrect prorationMode in the purchaseProduct call. In RevenueCat's SDK for subscription replacement, you need to explicitly pass UpgradeInfo with oldSKU and prorationMode (IMMEDIATE_WITH_TIME_PRORATION, IMMEDIATE_WITHOUT_PRORATION, DEFERRED, etc.). If this parameter is not passed or is passed as undefined, Google Play Billing 6+ does not consider it an upgrade and breaks either on recalculation or on confirm. This is not an issue on iOS because StoreKit handles proration automatically without explicit parameters — hence the difference in behavior between platforms.
The second is a mismatch of base plans. Google Play 6+ requires that Pro and Team be either in the same subscription group or explicitly linked. If RevenueCat entitlements are configured correctly, but the products in Play Console are in different groups, the upgrade will fail with error ITEM_ALREADY_OWNED or cyclic restoration of the old subscription.
The third is stale cache in RevenueCat. If syncPurchases or Purchases.invalidateCustomerInfoCache is not called before the upgrade, the SDK may retain old CustomerInfo and consider both rates active. This bug manifests specifically on Android because iOS periodically refreshes CustomerInfo through background StoreKit notifications.
…
The fourth is a race condition in the onPurchaseUpdated listener. If there is a custom handler over RevenueCat in the code and purchaserInfoUpdateListener is not used, after the upgrade the UI continues to consider the user on Pro, and the next restore call also breaks.
What I plan to do. I will take Google Play Billing logs (adb logcat with a filter for BillingClient + RevenueCat tag) during the reproduction of the upgrade. At the same time, I will look at the code in the places where purchase/upgrade is called in the JS layer. After reproduction — either fix prorationMode and UpgradeInfo, or switch the rates to one subscription group in Play Console, or invalidate the cache. We will test through a test account (closed testing in Play Console with test payment methods) and regressively check that the initial purchase of Pro and downgrade back work.
Please clarify: what version of react-native-purchases (RevenueCat SDK) is being used, are there logs of the last crash from adb logcat, and are you testing on a debug or release build. For debug on the emulator, Google Play Billing does not work correctly at all — tests until.
-
95862 1272 1 10 Hello. I work with React and React Native. I am ready to collaborate. Feel free to contact me.
-
9972 117 0 Hello.
I am a NodeJS developer. I have experience with React. I am ready to take on the task. Write to me, and we will discuss.
-
7391 34 0 Good day, Yevhen
I have 10 years of experience in development, working with the tech stack on React Native (+TypeScript), React.js (Next/SSR +TypeScript), backend Node.js (Express/Nest) + MongoDB, Firebase + TS.
Can I take a look at the code?
Feel free to write, I would be happy to collaborate.
Sincerely, Oleksii.
-
667 4 0 Hello, I have experience with subscriptions on RevenueCat.
Feel free to message me privately.
I will be happy to help you!
-
246 1 1 Good day, I am ready to fix this bug, efficiently and quickly.
-
471 1 0 Good day. Please send the source code of the project. I will fix the error using a local neural network, so your code will not be sent to external servers or cloud AI services. I guarantee complete confidentiality and security of your data.
Current freelance projects in the category Javascript and Typescript
Support and development of the cleaning company's website
21 USD
I'm looking for a web developer/webmaster for long-term support and development of a cleaning company's website. Website: https://donely.ca About the project DoneLy Home Services is a cleaning service company in Canada that is actively growing and expanding its geographical… Javascript and Typescript, Web Programming ∙ 1 day 19 hours back ∙ 59 proposals |
Development of a website according to the specifications on FramerYou need to create a website based on the parameters in the technical specification. https://docs.google.com/document/d/1ODO2C9Krb4AaMiJz9wfbNzWlAyA2FwCCHL8r0biajUY/edit?usp=sharing Please provide your actual rate based on this design. HTML & CSS, Javascript and Typescript ∙ 2 days 20 hours back ∙ 27 proposals |
Development of an interactive Palworld map for the websiteWe need to develop an interactive map for Palworld based on the example: https://palworld.gg/map We need not just a static image, but a full-fledged interactive map where users can view locations, toggle object categories on/off, search for specific points, and interact with… HTML & CSS, Javascript and Typescript ∙ 4 days 11 hours back ∙ 32 proposals |
Development of the AM Mobility platform (car service, parking, insurance, car rental)
5794 USD
We are looking for a team or an experienced Full Stack developer to create the MVP of the AM Mobility platform. AM Mobility is a unified digital ecosystem for motorists, combining in one application and web platform: parking; car service; tire fitting; car wash; car rental;… Javascript and Typescript, Web Programming ∙ 9 days 17 hours back ∙ 119 proposals |
Gsap animations
22 USD
Good day. Corrections need to be made in the current project. A specialist is needed who works well with gsap/lenis. Animation of cards needs to be done. Detailed specifications here:… Javascript and Typescript, Web Programming ∙ 9 days 23 hours back ∙ 21 proposals |