Discussion and help from anything related to RevenueCat.
Recently active
New to RevenueCat and cannot seem to find the solution to what to do after making a purchase with this code in Flutter:PurchaserInfo purchaserInfo = await Purchases.purchasePackage( _selectedPackage);How do I properly determine if the purchase to a subscription was successful or not successful so that I can navigate the user properly?
Good afternoon. In addition to monthly/semi-annual subscriptions, we have an opportunity to make one-time purchases (consumable), when a user buys for example 1/5/10 items, his internal balance is replenished and he can spend it at any time. With the current settings on the tests there is no possibility to buy an item more than 1 time. Could you please tell me what's the problem? All done according to the instructions. And also when paying with a test card returns an error in the callback, how to fix
My purchases are successful on real devices. But I am getting the error log in the simulator. This results in a rejection by the review team. What's the solution? (I created and installed the certificate in the document for test device purchases.) Here is my LOG 2022-01-07 00:49:54.151515+0300 ScoutAppFUT21[7770:194248] [boringssl] boringssl_metrics_log_metric_block_invoke(151) Failed to log metrics2022-01-07 00:51:25.634886+0300 ScoutAppFUT21[7770:194001] [Purchases] - DEBUG: ℹ️ applicationDidBecomeActive2022-01-07 00:51:26.017855+0300 ScoutAppFUT21[7770:196034] [boringssl] boringssl_metrics_log_metric_block_invoke(151) Failed to log metrics2022-01-07 00:51:26.320790+0300 ScoutAppFUT21[7770:194001] [Purchases] - DEBUG: ℹ️ Vending PurchaserInfo from cache.*********User is not Premium*********2022-01-07 00:51:26.344411+0300 ScoutAppFUT21[7770:194001] [Purchases] - DEBUG: ℹ️ Vending Offerings from cacheUser is not yet Premium2022-01-07 00:51:27.356642+0300 ScoutAppFUT21[7770:194001] [Pu
Hello! I created the Service Account following all the instructions in the documentation, I've integrated the json file on RevenueCat correctly and more than 36 hours have passed (4 days have passed since). After some trials I'm still getting the credentials issue on Android, whereas on iOS everything works like a charm. Could you help me understand where the problem is? I had a before Christmas due date for this integration but this is taking longer than I thought unfortunately.Here is the code I’m getting:ERROR(30208): 🤖‼️ There was a credentials issue. Check the underlying error for more details.I’m using Flutter with the purchases_flutter version 3.3.1Thank you in advance!
Hi. I am still designing my project architecture, Im planning to use revenue cat as the payment for may application. Process1 - User buys an item in the App2 - User are now able to view the details (videos, images etc.)How am i going to sync the revenue cat data to my own personal database which is going to be either of the ff (MySQL, DynamoDB, MongoDB etc.)Where should i verify if the user has already purchased the item ?Is it from the revenue cat or in my personal database ?Thank you everyone. Have a good day!
Hi,I recently change the Service Account JSON because the old one did not work after moving app to another account on Play Store Console. I changed it 48 hours ago and I still have Invalid Play Store credentials.I verify that the Service Account JSON hasn’t any space after copied it from RevenueCat page. I double checked that everything is ok after following your guide.You say in the guide that it can takes 36 hours, in the support, you say 48 hours. What the max time should I wait before recreating the service?For the spaces, I entered the JSON with spaces but when I download it from your site, there isn’t any space, you remove them automatically?Do you have on your side more information to help me?Thanks
Hei there.We are getting closer and closer to finally launch the app :)But yesterday we found that not all RENEWAL events are send to our server.For one test purchase I got 8 Emails from Google (initial purchase, 6 renewing and cancelling)In the RC Dashboard I only see 3 events for this user, INITIAL_PURCHASE, RENEWAL, CANCELLATION.In a previous test I got 4 events from RC, this time there were 2 RENEWAL events inbetween INITIAL_PURCHASE and CANCELLATION.Why is this happening? And a Bonus question is about the BILLING_ISSUE and the CANCELLATION events. When the subscription ends, like in this case because the user did not pay anymore, shouldn’t there be both events fired? Or do they just show up as one event in the RC dashboard?
https://docs.revenuecat.com/reference/receiptsOn this link, I’ve tried post request with my sample data.But I got this error.{ "code": 7227, "message": "Content-Type not application/json"}How can I resolve it?Thanks
We have a subscription info screen in which we show the user’s current subscription and its price.We couldn’t find a way to get this price.We can get the offerings and use the `purchaserInfo.activeSubscriptions` to find the related product and its price, but the offerings could change with time.. We would like to know the price that this user is currently paying.
Please check below details about bug. User has purchased subscription from application. Once user close the app and open again within same day or within some time. We are getting purchase info. with active status true. So, in this case it’s working well. But if user reopen app after a day or couple of days, we are getting purchase info. NULL(Purchases.shared.purchaserInfo) even my purchase is still valid. Now if user restore it then it’s again working well and I am getting purchase info. in restore purchase request. Can you please help me out for this? I don’t know why it’s happing and what is the solution for this. Also, I am seeing dozens of user Aliases in Revenue-cat portal, Aliases are created on daily bases. Not sure why so many aliases created for particular user even subscription is not expired.
I migrated my app to RC, however my previous users are having the sync problem.Previously, I was not using a back-end for the subscriptions, so I was using the client-side receipt validation on iOS (React Native IAP package).I am trying to sync my previous users, but a little bit confused about the steps;if (isSubscribedInOldSystem && !isSubscribedInRevenueCat) {Purchases.syncPurchases();} 1 - What should I provide to the syncPurchases() function?2 - If I need to provide the receipt, should I provide full receipt? or just the receipt body? I mean, I was using this validation method;const receiptBody = { 'receipt-data': receipt, // Should I provide this to RC? password: 'PASSWORD', }; await IAP.validateReceiptIos(receiptBody, false) .then(response => { try { const renewalHistory = response.latest_receipt_info; const expirationDate = renewalHistory[0].expires_date_ms; const isExpired = Date.now() > expirationDate;
Hello,I’m using Qt (version 6), with cmake builder to create an app on IOS and Android.The code is in C++ for major part of logic, QML for UI, Objective-C and Java for platform-specific logic. The previous version of my app, use Qt5 and QtPurchasing to manage in-app purchase and I have only one non-consumable product to unlock premium features.I have updated my app to Qt6, and make in-app purchase works with qt example with native code.But now, I want to manage auto-renewable subscriptions and I have difficulty with native code to manage it.So I look for RevenueCat but I don’t achieve to install the SDK in my project. I started with IOS integration.I have look the GitHub purchase-ios and try to make direct integration.I have successfully include Purchase.h in my Objective-C file but purchase-ios is not build so linker not found RCPurchase symbol. I have try Swift package but I encounter problems with a Xcode bug which block swift package dependency adding, and failed during loading of
I have a customer who signed up for a 7 day trial on 12/20/2021. This is listed correctly in the Customer History in the Customer report. In the same customer report it shows “Trial converts on 2021-12-29”. Why would a 7 day trial go 9 days? In the customer history there is no activity other then :First seen using the app (also on 12/20/2021) Started a trial (12/20/2021) Last opened the app (in last day)Looking at the event data for the Started a trial event the expiration (which should be the conversion) is listed correctly as 1640639521296 which is 12/27/21 - 7 days after trial started.
I am building a Tip jar in my App which I have configured as a Consumable In App Purchase (IAP) on App Store Connect.At present I have added those consumable IAP as products in my Revenue Cat dashboard with associated product IDAfter going through the docs as well as online tutorials most of them focus on Subscriptions which should be packaged as offers.Even the API that I am using to fetch the products in my app points me in the direction to use offers instead.So I am a bit confused, should I be using offers with each IAP being a separate offer ? or should I continue using my current setup of 3 products with no offers & entitlement ?
Hi RevenueCat, I’m glad that RevenueCat exists to help bridge the gap for in-app payment/subscription on the different platforms. For my app, I’m currently using Flutter SDK to get in-app auto-renewable subscription setup for both Android and iOS. I have read through the setup docs and have already done the setup, and I’m testing this locally in iOS simulator on iOS 15/14.5.I’m aware that iOS 13 and below, is not compatible with testing in iOS simulator but with 14 and above, it should be compatible. I’m using the latest flutter SDK (purchases_flutter: ^3.8.0)These are the following things done:App Store Connect:In-app purchase package creation App-specific shared secretXcode:Adding In-app purchase feature Package setup StoreKit configurationRevenueCat:Bundle ID setup Package creation to be the same as App Store connect Uploaded StoreKit public certI am able to retrieve the packages that are setup in the Flutter app correctly. However, when the code is called for Purchases.purchasePack
Hi, so we are using ionic capacitor framework. Everything works fine on IOS but we have problem with Android. So when we start the build we are running into this errors. Tried different gradle versions 4.2.2 and 7.0.3 - 7.0.4 "@angular/common": "~12.1.1", "@angular/compiler": "~12.1.1", "@angular/core": "~12.1.1", "@angular/fire": "^6.0.5", "@angular/forms": "~12.1.1", "@angular/platform-browser": "~12.1.1", "@angular/platform-browser-dynamic": "~12.1.1", "@angular/router": "~12.1.1", "@angular/service-worker": "~12.1.1", "@bugsnag/js": "^7.13.2", "@bugsnag/plugin-angular": "^7.13.2", "@capacitor-community/fcm": "^2.0.2", "@capacitor-community/firebase-analytics": "^1.0.0", "@capacitor-community/native-market": "^0.1.4", "@capacitor/android": "3.1.2", "@capacitor/app": "1.0.2", "@capacitor/browser": "^1.0.2", "@capacitor/core": "^3.1.2", "@capacitor/device": "^1.0.3", "@capacitor/haptics": "1.0.2", "@capacitor/ios": "^3.2.
Hi,I have an iOS App that requires users to log in and an in-app subscription to access to Premium features. Currently all available in-app subscriptions are individual and non-family shareable. I would like to start selling new in-app subscriptions that can be shared between all family members. My App currently does NOT implement any in-app subscription restore capability. In your documentation it says that there’s nothing to be done in our Apps to support subscriptions that are set as Family-shareable in AppStore Connect. My question is: is it required or not to implement the in-app subscriptions restore functionality in my App to enable another family member of the user that made the initial Family-shareable subscription purchase to access to the Premium features of my App?Thanks for your help.
Is there a way to calculate LTV easily?Can you add an LTV parameter in the dashboard?
Hello, I am working on updating all my Frameworks including Purchases, specifically trying to get rid of all my PODs and moving them as Swift Packages Dependency. Also, for this I decided to start doing it on the latest version of Xcode in beta and the upcoming iOS 15. I recently noticed that while testing, two things are happening that were not happening before. Products are being displayed on the simulator. The Sign in With Apple ID window is appearing.While testing on the simulator for iOS 14, I was never able to download the products from Revenue Cat, therefore I was only able to test on an my device. But I noticed that it now brings the products and is able to display them on the simulator. However I have not tried to do a purchase from there as I assumed is not going to work as expected. ( This, is actually a good thing because it allows me to test on simulator how my paywall is going to look and react to changes )However, on the second point for some reason, the “Sign in with
Hi all,I have a mobile app in the App Store, that has its own RevenueCat Project and Amplitude Project.I am currenlty in the Starter Plan, but I am thinking about upgrading my account to the Pro Plan to be able to integrate the RevenueCat in-app subscription events into my Amplitude Project.I have the following problem: I use the default ReveneuCat anonymous user ids in my RevenueCat project and in my Ampltiude project I use the RevenueCat anonymous user ids but I remove the “$RCAnonymousID” prefix. Based on your docs (https://docs.revenuecat.com/docs/amplitude) I must use the exact same ID for the amplitude project as well. This is the point where removing the prefix earlier bites back. As the event sent from RevenueCat will contain the prefixed id, but such an Id will not exist in my Amplitude project.I can fix the issue for all future users by setting the exact same RevenueCat anonymous user id for the Amplitude user. But what will happen to my old user? What will be the result of t
In the process of debugging some other issue (separate post), I removed all my Apple products from my app’s configuration in RevCat. However, the app is still loading these products. I expected the app to get a blank result or some exception when callingawait Purchases.getOfferings();(React Native / Expo app)Is my expectation wrong here? If not, is there some known delay between when I remove the products and when the apps stop getting these back?Thank you!
Hello, We have 3 auto-renewable subscription products setup with a 30 day free introductory offer and we just went live with RevenueCat :) So there is a user who subscribed with the trial and upgraded after a few hours. We received the `PRODUCT_CHANGE` webhook with the correct `new_product_id`. However, we did not receive any webhook afterwards. We expected a `RENEWAL` webhook with the new product id as `product_id` as per the documentation here. Our webhook listener simply listens to all events and then poll the RevenueCat api and update the database at our end for the `product_id` which was sent from the webhook. It is important for our server to be up-to-date as the entitlements are handled by our server. Could someone let me know what can be done in a situation like this? I did happen to see this but not very sure if they are related. Thank you!
Hey there,Fetching the offers works as expected, but purchasing them results in an app crash.The crash only happens on android, ios works fine.I am on react-native-purchases v4.5.0.Testing on a Real Android deviceI am coming from the react-native-iap (5.2.14) package, I uninstalled the react-native-iap package already, but I am not sure if it might is related to that lib, something i forgot to clean up?I checked that the Purchases instance isConfigured:const configured = await Purchases.isConfigured();I tried both methods, purchaseProduct and purchasePackage, both crashed.LOGS:revenueCat Logs:💰 Retrieved skuDetailsList: SkuDetails: {"productId":"com.docomondo.yearly","type":"subs","title":"docomondo Premium (docomondo - dein smarter Dateimanager)","name":"docomondo Premium","price":"CHF 42.00","price_amount_micros":42000000,"price_currency_code":"CHF","description":"Benefit from all available Features!","subscriptionPeriod":"P1Y","freeTrialPeriod":"P4W2D","skuDetailsToken":"AEu..."}💰
Question: Can any errors made on Revcat products possibly cause an app to crash upon initializing?Background story: We created new products for Black Friday and implemented them via Firebase Remote Config. After Black Friday was over, when I switched to our usual old lifetime subscription product via remote config, the purchase screen started crashing. Then I discovered that there was a missing entitlement (or an attachment) for that product and clicked on “attach”- it is interesting that how this product hasn’t been crashing before even though we’ve been using it all along for years.Anyways, after “correcting” the product, the issue was fixed, however, starting from that day, we started getting crashes on app initializing (it either crashes or the “initializing” screen stays forever).Note: There hasn’t been any updates on the app around that time. 60% of the crashes came from iOS 15 & iPadOS 15.
When i run app of flutter in debug mode then displaying the products and submitted build on testflight and installed it then not displaying the products.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.