Discussion and help from anything related to RevenueCat.
Recently active
Hi, this is our first in app purchase (annual subscription) and the first time using RevenueCat, Overall everything seems to be working except for the following code which is never call Please help. Thank you. - (void)purchases:(nonnull RCPurchases *)purchases receivedUpdatedCustomerInfo:(nonnull RCCustomerInfo *)purchaserInfo {// handle any changes to purchaserInfo NSLog(@"\n\n\n Purchase Updated INFO: %@", purchaserInfo); [self CheckForSubscription];}
Hi!Im having problem updating the firebase extension and are stuck on 0.1.4.I get a 400 http error when pressing update, with response:{ "error": { "code": 400, "message": "Request had 1 validation errors: `allowedEvents.com.revenuecat.v1.non_renewing_puchase`: allowed event type 'com.revenuecat.v1.non_renewing_puchase' is not listed in the extension spec.", "status": "INVALID_ARGUMENT", "details": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "fieldViolations": [ { "field": "allowedEvents.com.revenuecat.v1.non_renewing_puchase", "description": "allowed event type 'com.revenuecat.v1.non_renewing_puchase' is not listed in the extension spec" } ] } ] }}
Hello. I always get same error. My real device: iPhone 11 Pro, official iOS 16.0. I setup sandbox account and confirmed it. Beta version of Xcode (version 14.0). I did everything that your partner Chris showed in the video (https://www.youtube.com/watch?v=11A0hUjbCb4).
Hi,I want to offer a subscription with a free trial, and I’m following these instructions: https://www.revenuecat.com/docs/ios-products#adding-introductory-offers-and-free-trialsThe instructions say select auto-renewable subscription. I do not have that option. I’ll I see is: Any idea what’s going on?
Hi! I’m fairly new (started today) to using Revenue Cat so I may have missed it in the plethora of documentation. But when a user purchases an item, is there a way to tell what type was purchased?So, for example, if I wanted to open sections of my app based on whether they subscribed or if they bought a temp access.Would this be the correct way of implementing it:do { let result = try await Purchases.shared.purchase(package: package) self.isPurchasing = false if !result.userCancelled { if result.customerInfo.entitlements["lifetime"]?.isActive == true { vm.isUserFullAccess = true } if result.customerInfo.entitlements["subscription"]?.isActive == true { vm.isUserSubscribed = true } }} catch { self.isPurchasing = false print("[x] Error: \(error.localizedDescription)")}Understandably, everywhere I need to check for access I use the: // -- subscription accessPurchases.shared.getCustomerInfo { customerInfo, error in if customerInfo?.entitlements.all["subscriber"]?
Hi, I’m looking into migrating from my in-app purchase code to Rev Cat. I currently only have consumable and non-consumable products. I’m looking to add a subscription and figured I’d give this a try. I’m a bit confused on how to migrate my existing non-consumable items to rev cat.. or do I just use rev cat for the subscription only?I’ve added a few of my non-consumable items to rev cat and they are showing up via the api in my app.. but rev cat doesn’t know they have been purchased. I did try:[RCPurchases.sharedPurchases syncPurchasesWithCompletion:^(RCCustomerInfo *customerInfo , NSError *error) { NSLog(@"Synced! %@ %@",customerInfo, error);}]; And I get an error “The receipt is missing” So my guess is this is only looking for subscriptions? So I’m wondering if I know that someone has purchased a non-consumable via my existing in-app code, can I send a command to rev cat to register that they have purchased it? Should I need to do that or would rev cat be able to commun
I am using revenuecat in my product.Currently, I already setup the “Offerings” as “Lifetime”.My expectation is that if I call method: Purchases.purchasePackage(package) multiple times, then there is only one time purchase.But, each time I call above method, I still can buy a new IAP.What should I do to prevent that ?Currently, I have to try to “restore purchase” and check, if restore failed => buy new purchase.
I am trying to implement the IAP in the Amazon Appstore. I am doing the setup just like the docs says: await purchases.Purchases.setDebugLogsEnabled(kDebugMode); purchases.PurchasesConfiguration? configuration; if (Platform.isAndroid) { configuration = purchases.PurchasesConfiguration('goog_key'); if (storeHelper.store == Store.amazonAppStore) { configuration = purchases.AmazonConfiguration('amzn_key'); } } else if (Platform.isIOS) { configuration = purchases.PurchasesConfiguration('appl_key'); } if (configuration != null) { await purchases.Purchases.configure(configuration); await premiumService.load(); } When I call Purchases.getOfferings() the call hangs. The native side does not respond to the Dart call. I am reproducing this issue launching in debug and when download from the Live Testing service. I am using purchases_flutter 4.2.1 I am executing adb shell setprop debug.amazon.sandboxmode debug Tested in a Samsung device w
Google now uses the new Subscriptions API, I would like to know if this version is already supported or if it is still using the InAppProduct API
Hello, at Lake Coloring we are in process of migration to RevenueCat. At the moment we are just forwarding receipts from our backend to RevenueCat API. We are migrating to RevenueCat SDK in our iOS app but have a problem with mainland China, more specifically api.revenuecat.com seems to be blocked in mainland China. Since our backend is reachable by vast majority of provinces and operators in China(but not all of them, so we do understand the difficulties with the region) we would like to have at least similar reachability for RevenueCat.All suggestions how to work around this issue would be greatly appreciated.Thanks
I got rejected by the App Store due to a strange error (any help with that is also appreciated) but I can’t figure out where these alerts are coming from on purchases. I don’t see any alerts in my code but I also don’t see any in the react native library. Anyone see this behaviour before?
My problem is this. I have an app that gives me an unknown error (error build: Command PhaseScriptExecution failed with a nonzero exit code) during the build in Xcode. The only plugin I have not updated - my current version is 3.9.2 - is purchase_flutter.I would like to know if the error could depend on the plugin. If it is necessary to upgrade to the latest version.I ask this because I would like to avoid it for this interim release and implement it in the new version next yearThanksThis is my configuration.Translated with DeepL [✓] Flutter (Channel stable, 3.0.5, on macOS 12.6 21G115 darwin-x64, locale it-IT) • Flutter version 3.0.5 at /Users/carlosacchetti/Developer/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision f1875d570e (3 months ago), 2022-07-13 11:24:16 -0700 • Engine revision e85ea0e79c • Dart version 2.17.6 • DevTools version 2.12.2[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3) •
Our Flutter app has subscriptions and consumables that are wired through RevenueCat.For this specific new feature, after a consumable purchase, some entries must be updated on the server-side. We do have endpoints to inform the back-end that a purchase was made, however, this purchase needs to be validated in the server so that malicious users won't abuse that endpoint.I found another thread with a similar issue, mostly described in this comment. We do have differences, however, which are that we need to send specific parameters (related to the purchase) to that endpoint and also that the Client must see the results with little to no delay, so using webhooks does not look like a good solution.We require some sort of purchase/transaction ID that is received by the client right after the purchase and that can be sent to the server for validation. What would be the best way to achieve this?Thank you in advance.
Hello! I’m trying to implement iOS Offer Codes in my app and I’m stuck.The documentation says that Apple does not provide a callback to determine if the code redemption was successful. Since the Purchases SDK will automatically pick up on new transactions that enter the underlying transaction queue, you should implement the receivedUpdated delegate or listener to respond to changes in CustomerInfo. Once we sync the Offer Code transaction, we'll automatically refresh CustomerInfo. The following things are not clear to me as I plan to implement the receivedUpdate listener,What changes would happen in CustomerInfo? Will I be able to see which offer code was applied inside this listener? Can you please share how? Is there any way the CustomerInfo can retrieve the discounted price which was set on AppStore for this offer?TIA
Crashes on iPhone5 (iOS 12.5.4).It runs fine on iPhone13 Pro MAX, iPhoneXS MAX, iPhoneSE, etc.Is 32-bit CPU unsupported?Start from Xcode.[RCPurchases configureWithAPIKey:@"public_sdk_key"];It crashes on the above line.#1 abort_with_payload_wrapper_internal#2 abort_with_payload#3 dyld::halt(char const*)#4 fastBindLazySymbol(ImageLoader**, unsigned long)#5 dyld_stub_binder#6 type metadata accessor for @MainActor @Sendable ()
I'm using revenuecat + google play with purchases_flutter.I got a mail from a user saying that they can't buy the premium version of my app due to currency issues. They get an error saying that the "currency is not supported".Apparently it's only a problem for my app, he also says that the price-tag they get is in dollars, when it should be in their own currency for their country.What could the problem be?
Hey, before anything else I just want to clarify that I have checked the previous topics about this issue and tried to apply (if there were any) the fixes. So my problem basically is as the title says, my iOS app gets rejected from AppStore with the following issue; There was a problem with the App Store ExceptionRejection due to exception; There was a problem with the App Store.But the interesting part is that I can make test subscription purchases successfully on my iOs device while running through Xcode or Android studio;Sandbox (ios device) subscription purchase successfulIt is a Flutter cross-platform application, so the code-base is the exactly same as Android and here are Android vs iOs debug logs;Android debug log, runs 100% fineiOs debug log, runs fine on testing but gets rejected by Apple for previously mentioned exception.Are the debug logs telling me something I fail to see or understand? I have noticed that on Android I got skuDetailsList debug that it isn’t nowhere to see
We would like to display something to the user before swapping the subscription to a different user ID. That would mean knowing, when possible, the subscription status of the AppleID or Google Play account.Is there a way to fetch the local subscription status with the SDK? Of course that information could be incomplete on iOS without a user-approved Restore, but it would still cover a large enough number of cases to help with the customer support.
Hey, I know it is “not possible to differentiate” between regular purchases and promo codes you give out for your app on the Apple App Store. I think there’s a way.This obviously only matters when your audience is small and/or your app is first released and you’re obsessing about your first 100 users, but I think it would help people who are starting out with RC to support this.I noticed on some transactions I can see in the history that they purchased and cancelled immediately. Like, 100% immediately and have the same `event_timestamp_ms`. This clearly indicates a promo code purchase as they do not renew. So surely these can be binned & flagged as promo code purchases when the purchase + unsubscribe happen within say 500ms of each other, and so filtered out from most of the reports? I’m sure it wouldn’t be perfect, but it’s got to be better than me having to go in and look at individual transactions or use App Store Connect to show only the true purchases. I’ll die of old aged bef
How can i set the FirebaseAppInstanceID in flutter, there is no method for it in the flutter SDK
Hi everyone, I have two projects on one RevenueCat account. I don’t want to have products for the two websites on one Stripe account. So I created two Stripe accounts.I couldn’t find a way to add separate stripe accounts to each RevenueCat project, but Sharif wrote in this post: “we can manually connect one or two additional accounts”Did I understand it correctly? RevenueCat can manually connect a second Stripe account? If yes, what would you recommend?Let RevenueCat manually connect second Stripe account or create a new RevenueCat account for the second Stripe account. So each one RC account would have one Stripe account. I hope you understand my problem description.
We recently migrated from the legacy version (aliases) to transfer purchases. Will this behavior take effect immediately or will there be a lag time till this behavior takes effect?
Hi,We are trying to implement in-app subscription on android and iOS. On Android it work but on iOS app return the errorPlatformException(23, There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used) We checked the Apple Store Connect console and it seems all ok:RevenueCat Apple config is filled out with all fields We use In-app certificate and Apple Store Connect Key as credential the subscriptions plan is in “Ready to submit” and “In review” status We also have tried with StoreKit cert file for testing on simulator what is missing? Thanks
Hi,I followed your tutorial to convert our Paid app to Subscriptions - https://www.revenuecat.com/blog/converting-a-paid-ios-app-to-subscriptions.In sandbox mode everything works as expected, but in production it seems that ‘CompatibilityAccessManager’ cannot convert old users without reopening the app. So my guess is that ‘func isActive(entitlement: String, result: @escaping ((Bool, Purchases.PurchaserInfo?) -> Void))’works only after some delay or 2nd time in production.I configure entitlements on ‘appDidFinishLaunch’ to grand access with this method:‘func configure(entitlements: [BackwardsCompatibilityEntitlement], completion: ((Purchases.PurchaserInfo?) -> Void)? = nil)’. Also I set ‘PurchasesDelegate’ to catch updates and configure UI.When should I check ‘isActive’ state with CompatibilityAccessManager? Can I rely on ‘PurchasesDelegate’ or it’s better to use some timers to recheck again ‘isActive’ state?Can we test this problem on production with promo-codes?
Problem: from my app’s perspective purchases seem to be working, but I see no record of them anywhere on the RC website (recent transactions, customers in sandbox, etc).Package: RevenueCat 4.11.0, Xcode 14 beta 6I used RC for my last app and was very happy with the experience. I want to use it again for my next app, which is for iOS 16 only. It’s the same scenario as the last app: no subscriptions, one non-consumable “pro” upgrade, three consumable “tips”. I used the same code as in my last app, with obviously a different public key. I went through the same setup steps as last time on ASC and RC websites. When I start the app (with debug logging on) I see the new product names I created for this app being pulled down. My tips View is being properly populated with my tip names and prices. When delete the app, reinstall it, and I purchase the non-consumable Pro it properly warns be that I’ve bought it already. I’m making purchases with a valid Apple account. I’m testing from an iPhone
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.