Discussion and help from anything related to RevenueCat.
Recently active
On my React-Native app, which is configured with RC, tested and working completely fine on development builds and .apk installations, the purchased subscriptions expire after 5 minutes and do not auto-renew with revenuecat.Also, if you try to purchase the item again google play store throws an error indicating the user is already subscribed. Strangely, the issue only arises in closed testing signed .aab build from the google play console. On .apk’s and dev-builds the subscriptions auto-renew without any issues, and the “active” array remains with the purchased subscription. The issue seems to be on the side of the revenuecat api, which for some reason returns an empty “active” array after the 5 minutes have expired on the production builds. Is this expected behaviour in .aab build/closed testing environments? Apologies if that’s the case, I’ve been looking at the documentations and forum posts, there doesn’t seem to be anything written about this. Below are the screenshots of the app,
Using react-native-purchases v5.0.2 and I can’t seem to get Purchases.addCustomerInfoUpdateListener to fire when I make a purchase (it’s not a subscription in case that matters). Testing in both simulator and a device and neither seems to work.I have a hook to track “premium” status and I want my tab view to automatically update when premium is unlocked from a different screen. I could hack in a manual call to `getCustomerInfo` when a screen regains focus but this is error prone so I’d really like to avoid it. Also, in case it matters. The documentation mentions:This will fire whenever we receive a change in purchaser info on the current device and you should expect it to be called at launch and throughout the life of the app.But I’m not seeing it “called at launch” either. Any help here is greatly appreciated.
I’ve encountered an issue using Xcode 14 beta 4. Updated to RevenueCat 4.9.0 and still seeing the issue. If I use a StoreKit config file with an iOS 16 simulator, when I attempt to make a purchase, the iOS pay dialog never appears and I get RevenueCat.ErrorCode Code=1 "Purchase was cancelled." If I switch to an iOS 15 simulator, it works fine. If I switch to a different scheme that doesn’t use StoreKit, I get the iOS dialog to sign in. If I try this on my own iOS 16 device, it works fine. It seems to only be an issue while using the simulator with iOS 16. Here is what I get when I print out the error.Error Domain=RevenueCat.ErrorCode Code=1 "Purchase was cancelled." UserInfo={source_file=RevenueCat/SKError+Extensions.swift:33, source_function=asPurchasesError, readable_error_code=PURCHASE_CANCELLED, NSLocalizedDescription=Purchase was cancelled., NSUnderlyingError=0x7f85d1a9e2e0 {Error Domain=SKErrorDomain Code=2 "(null)" UserInfo={NSUnderlyingError=0x7f85d1a9e260 {Error Domain=ASDErro
Hey! Im using webhooks triggers when testing data (sandbox). The webhooks only trigger when i have the app open or interact with the app. Why is that? Is this the behaviour of webhooks? Does it not trigger and send notification to my server if the user don’t interact with the client?
Buying Flow: >> Display IAP Consumable>> User Buying Consumable>> Ask For Login (Fedrated Sign In Flow)>> Get Unique User ID>> Store User ID on Server (Fire Store)>> Call RevenueCat SignIn>> Initiate Buying on underlying platform>> On Successful transaction RevenueCat will update Fire Store DB using webhook>> On Platform, call fire store DB to validate transaction>> Allow user to consume Product Restore Flow: >> User asked for Restore >>>> Ask user to login>> Get Unique User ID>> Validate on Fire Store>> Restore Consumable Does above flow looks good? or do we have simple alternative?Is fire store is better & simpler ?Does FireStore Auth provides multiple provider sign in Option ?Do we get Unique user id on Sign In from Google, FB, Apple etc.? any guide for implementation?
The sample app is pretty light when it comes to restoring purchases: Button("Restore Purchases") { Task { try? await Purchases.shared.restorePurchases() } }There are 3 possible outcomes when it comes to a subscription:Success Failure due to lack of active subscription ErrorI want to be able to show an alert of sorts in all 3 cases.My view has two variables:@Environment(\.isPremium) var isPremium@EnvironmentObject var customer: CustomerWhere customer is Purchases’ delegate and has the CustomerInfoand isPremium derives its value from that customer, an @ObservedObject of my app:.environment(\.isPremium, customer.isPremium)The button to restore looks like this. Button(action: { isRestoringPurchase = true Task { do { let _ = try await Purchases.shared.restorePurchases() } catch {
Hi there, May you please assist. Im am using purchases_flutter: ^4.3.1 ❯ flutter --versionFlutter 3.3.6 • channel stable • https://github.com/flutter/flutter.gitFramework • revision 6928314d50 (6 days ago) • 2022-10-25 16:34:41 -0400Engine • revision 3ad69d7be3Tools • Dart 2.18.2 • DevTools 2.15.0 The issue is -After filling in apple id + passwordClicking on either ‘Cancel’ or ‘Ok’ I always get the error below PlatformException(1, Purchase was cancelled., {userCancelled: true, code: 1, message: Purchase was cancelled., underlyingErrorMessage: , readableErrorCode: PURCHASE_CANCELLED, readable_error_code: PURCHASE_CANCELLED}, null) I am OKAY with getting the exception when user clicks cancel, but I don’t understand why I get the error when user clicks OK Please note: Android implementation working fine. Only iOS affectedAlso all offerings displayed on screenshot below are coming from RevenueCat without any issues.
Hello everyone We are facing one bug with Revenuecat and firebase integration when reporting subscribed users. our system uses firebase and firebase assigned ids to the users, and we use the same ids to report a subscription, and revenuecat assigns it as an alias in the revenuecat dashboard. The bug show when a user transfers his entitlement to another account, like this example:here it’s transferring it to anonymous userin the attributes it’s showing fine the firebase app id then we move to the new account created after transferring the entitlements:it’s not showing firebase app instance id, and reporting the user as anonymous revenuecat user this is for the first time.the second time, for another user something similar happened and here what happened: the user transferred the entitlements to another user, so main account it was completely fine:the attributes for the main user had firebase app instance id there.in the transfer event it was as followsso it created an anonymous id for t
I have installed cordova-plugin-purchases on my app which works fine on the android version.But on IOS while i am following all the documentation on both physical device and simulator and while my setup seems ok, i cannot trigger any purchases related action/function.I did all the stuff described here: Testing purchases in App Store SandboxThe actual behavior seems like all plugin functions are empty of code.I do not get either a success or an error callback at all from whatever method i ‘ve tried to call.I have tried in both actual devices and simulator with xcode builds.If needed i can post sample code.
Hi, We need to transfer all the users from a RevenueCat account A to another RevenueCat account B.I’ve read this article about it but I was wondering if there is a way to do the migration automatically as RC should have all the data already no or do it server-side? Thank you, Damien
IssueWhen publishing my Android app to the Internal Testing or Closed Testing track through Google Play Console, no products are being fetched and shown. However, it works when running the app locally from Android Studio and launching it on a physical phone. In this scenario, both fetching products and making purchases (that shows up in RevenueCat sandbox environment) works as expected.What I’ve verified so far:Made sure that the product identifiers in RevenueCat matches the Subscription Product ID (but not Base Plan ID) in Google Play Console. Made sure that the Base Plans and Offers are active and backwards compatible (I can not activate the Subscription from what I can see). Made sure that the package name matches what's in Google Play Console. Uploaded a signed App Bundle to a closed track, which has been reviewed and published. I have added my gmail address as a tester for the closed track. I have added my gmail address as a license tester with License response: RESPOND_NORMALLY T
A long time ago we implemented in app purchases in our application through RevenueCat and it was working fine until we got this two issues from users.1)First -errorCode: PurchasesErrorCode.storeProblemError,details: {code: 2, message: There was a problem with the App Store., readable_error_code: STORE_PROBLEM, userCancelled: false, underlyingErrorMessage: An unknown error occurred, readableErrorCode: STORE_PROBLEM},It appears in logs when users are trying to press "subscription buy button".We didn’t touch any implementation of this and configuration in App Store Connect or RevenueCat so it’s just happening for some reasons of App Store?Also, maybe this information will be helpful - previous build was rejected in first attempt because of ‘cannot locate iAP’ after build was approved but in this build appeared this issue. 2)Second - errorCode: PurchasesErrorCode.ineligibleError,details: {code: 18, message: The User is ineligible for that action., underlyingErrorMessage: User is ineligible
Our company is working on healthcare educational software that allows users to pay for multiple years via Stripe. While this is not the norm in software, it is somewhat normal with healthcare and educational software. From what I can tell, RevenueCat does not allow entitlement or subscription modification of any kind, nor does it allow manual assignment of entitlements (outside of a one-year promotional entitlement) via the API.Is there any way to programmatically grant/modify a user’s entitlement with RevenueCat, or expire a user’s entitlement via the API?
I have been following the revenuecat doc to set up a google sandbox testing. I have added testers and uploaded an aab file. But I still can’t head to the subscription section and begin to set up any products, it asks me to upload an apk file.I saw the doc and it says that ”You don’t even need to roll out the release. Just upload the APK.“I checked the play console and it says under tester that “The link will be shown here when you publish your app.”The release of the aab is still in review, is it that I must wait for the review to be over before I can continue setting up subscription in play console? Or did I miss something here? Thanks a lot for looking into this.
Hi, I appreciate this question has been asked a lot, but I’ve looked through the other answers and none match my case. I’ve looked at:This guide Help requests such as this I am using the Android emulator and I want to view my paywall with offerings. I am getting the following logs: DEBUG: ℹ️ API request started: GET /subscribers/ID/offerings2022-11-01 18:51:38.254 5392-6969/com.app D/[Purchases] - DEBUG: ℹ️ API request completed with status: GET /subscribers/ID/offerings 3042022-11-01 18:51:38.260 5392-6969/com.app D/[Purchases] - DEBUG: ℹ️ Requesting products from the store with identifiers: monthly_subscription_packs, yearly_subscription_packs, year1_30pct_off2022-11-01 18:51:38.261 5392-6969/com.app D/[Purchases] - DEBUG: ℹ️ Requesting products from the store with identifiers: monthly_subscription_a yearly_subscription_a, year1_30pct_off2022-11-01 18:51:38.695 5392-5392/com.app D/[Purchases] - DEBUG: ℹ️ Starting connection for com.android.billingclient.api.BillingClientImpl@625820
I am trying to submit an update to my Flutter app to Apple, but it has been rejected a few times now.Initially the error was during restorePurchases(), the error was a PlatformException:PlatformException(0, Unknown error., {readable_error_code: UNKNOWN, code: 0, userCancelled: false, underlyingErrorMessage: The receipt is missing., readableErrorCode: UNKNOWN, message: Unknown error.}, null)Following the RevenueCat docs about missing receipts, I asked the reviewer to re-login with their Apple account, but the issue persisted. Then a similar issue occurred when the reviewer saw that they could still purchase the product, and so pressed purchase:PlatformException(9, The receipt is missing., {underlyingErrorMessage: , readableErrorCode: MISSING_RECEIPT_FILE, readable_error_code: MISSING_RECEIPT_FILE, code: 9, message: The receipt is missing.}, null)According to this Apple tech note (outdated?): “The absence of the appStoreReceipt is typical when the application is installed using Xcode or
The below Swift code works for authenticating subscribed purchases but does not always work for family sharing (Family Sharing is recognized by Apple but revenueCatManager.isSubscriptionActive returns false).Purchases.shared.getCustomerInfo { (customerInfo, error) in if customerInfo?.entitlements.all["Regular"]?.isActive == true { revenueCatManager.isSubscriptionActive = true let purchasedProductSet = customerInfo?.activeSubscriptions for purchasedProduct in purchasedProductSet! { product_id += purchasedProduct } let expireRenewalDate = customerInfo?.expirationDate(forEntitlement: "Regular") ?? Date() let formatter = DateFormatter() formatter.dateFormat = "MMM d, y"//"EEEE, MMMM d, yyyy h:mm:ss a zzzz" renewalDate = formatter.string(from: expireRenewalDate) } else {
Success building iOS RevenueCat Framework 4.11.0 and earlier (Xcode 13.2.1 13C100)Fails with errors building iOS RevenueCat Framework 4.12.0 and after (Xcode 13.2.1 13C100)Reproduction: Empty project (iOS ‘Application’ template) with RevenueCat framework added via File > Add Packages. No additional changes or code.(Xcode 13.2.1 is the final available for MacOS BigSur 11.6.5)Suggestions? Sample errors (see attachment): purchases-ios/Sources/Support/ManageSubscriptionsHelper.swift:37:78: error: converting non-sendable function value to '@MainActor @Sendable (Result<CustomerInfo, BackendError>) -> Void' may introduce data races fetchPolicy: .cachedOrFetched) { result in ^ purchases-ios/Sources/Misc/OperationDispatcher.swift:58:47: error: converting function value of type '@MainActor @Sendable () -> Void' to '@convention(block) () -> Void' loses globa
Hello! If a subscription is extended for a user via the AppStore’s subscriptions/extend/ endpoint, will Revenue Cat recognize the user is a subscriber even though the store side renewal date has changed?In the RevenueCat endpoint (subscribers/{app_user_id}/subscriptions/{product_identifier}/defer) that allows to do that for an Android user, I read “If the response is successful, it will contain the updated Subscriber object.” so is there is subscriber object updating to be done manually in the iOS case via RevenueCat endpoints ? 😊
Hi,I don’t know why I am getting this error. It was working well before on iOS, except on catalyst.Then I’ve broken all this!Purchase failed. Error Domain=RevenueCat.ErrorCode Code=0 "Unknown error." UserInfo={source_function=purchase(sk2Product:promotionalOffer:completion:), NSUnderlyingError=0x600001be9080 {Error Domain=RevenueCat.ErrorCode Code=8 “The receipt is not valid." UserInfo={source_function=convertUnsuccessfulResponseToError(), Note that after purchasing the product I see a message saying: “You’re all set, your purchase was successful.” Do you have an idea where to look at?I triple checked all keys & config. (bundle id, shared secret, ...) Thanks
I'm trying to make a purchase using the method below, it prompts me to enter the password, it works fine but the completion block is never called. It seems to be a bug in iOS 16, because in iOS 15 everything works as expected.I'm using this code to make the purchase: [[RCPurchases sharedPurchases] purchasePackage:obj withCompletion:^(RCStoreTransaction *transaction, RCCustomerInfo *customerInfo, NSError *error, BOOL cancelled) { }]; How do I enable the StoreKit 2 in Objective-C? Maybe it will work using StoreKit 2. Thank you!
I have configured the revenue cat react native SDK. The products are configured in the offerings sections and they are getting fetched properly. All good until this moment. Once I clicked Buy now, The popup of Apple login opens up and after adding sandbox user credentials It says “purchase success-full” with “tick” sound on physical Iphone.Once that’s done, I get new popup saying “You are all set mode:[sandbox””. After dismissing this popup my app freezes. Nothing happens. Even I am not getting the `custmer_info` or `puchase_info` after the successful purchase.Please help try { Purchases.setDebugLogsEnabled(true); console.log("initiated purchase") // this will execute const purchaseData = await Purchases.purchasePackage(incomingPackage); console.log("purchaseData", purchaseData); // not getting this line console.log("done puchase") // not getting this line } } catch (e) { console.log(JSON.stringify(e, null, 4)) // this also doesn't execute
Has Anyone been successful integrating RevenueCat and Squarespace? I know squarespace is setup to use webHooks, however RevenueCat does not have an endpoint setup to receive Squarepace notifications. Has anyone had success integrating these? I’m not a web dev so I’m trying to better understand the workflow/integrations.
I’m currently unable to create builds in Unity for Android because RC/Gradle fails to resolve its dependencies from jcenter. As jcenter becomes unreliable the more time passes and should not be used anymore, it would be great when you could replace these dependencies as quickly as possible.
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.