Discussion and help from anything related to RevenueCat.
Recently active
Hi community !I am new at developping applications and I am currently using svelte that I will convert with capacitor to be able to use the app on iOs and Android.I did not see any of svelte SDK in the documentaiton, is there a way to integrate RevenueCat in my svelte projet ? Maybe with simple typescript ?Thank you for reading me :)
I'm implementing a subscription system using RevenueCat with React Native Expo and Firebase, utilizing the RevenueCat Firebase extension. My current flow is:User signs in anonymously with Firebase (and implicitly with RevenueCat).User encounters a paywall and makes a purchase.User is redirected to a signup menu with the following sign up options email, Google, Apple.When the users signs up we do a account firebase upgrade from anonymous using linkWithCredential.Issues I'm facing:1. If, after upgrading their account, the user chooses to create a new account with an email and password (now it would not get linked instead this is a entirely new account), the revenueCat subscription appears on both the old and new accounts ( i believe this happens after one of these methods are ran await Purchases.restorePurchases(); await Purchases.syncPurchases();I am not sure why though, do these methods call the firebase cloud function? and should I not call them? and if I should not call them then th
Hello, I am currently developing a feature that sends push notifications before the free trial expires and the subscription begins, using webhooks. The logic is as follows:if (event.type === 'INITIAL_PURCHASE' && event.period_type === 'TRIAL') { // Schedule push notification} else if (event.type === 'CANCELLATION' && event.period_type === 'TRIAL') { // Cancel scheduled push notification}Will the above logic work as intended? I am curious if the `period_type` is correctly transmitted as the current subscribed product, regardless of the event type.
Hi,i want to publish my App in the AppStore. There is everything set up and working in the simulator with the StoreKit (as descripted in https://www.revenuecat.com/docs/test-and-launch/sandbox/apple-app-store#ios-14-only-testing-on-the-simulator).When i give it in the AppStore Connect review and adding the subscription (1st time) then they getting an error - it can’t fetch a product. So thats obviously cause the subscription in AppStoreConnet are notactive now. I don’t get the logic… So, how can i set up my App for productivity so that they can test a subscription that not exists yet?The StoreKit is only for XCode, right? So i nedd to set it up for Sandbox?I Thought i better ask here befor getting rejected 20x times and waiting every time like 12 hours :)Thanks!
I’m trying to use the web sdk in my javascript code but I can’t even pass the initial stage. I’m loading the sdk from unpkg. Here’s my code:<script src="https://unpkg.com/@revenuecat/purchases-js@0.11.1/dist/Purchases.umd.js"></script><script>const api_key = “PUBLIC_API_KEY”const appUserId = “MY_APP_USER_ID” // Replacing with my own useridconst purchases = Purchases.configure(api_key, appUserId);</script>And just this gives me the error:Purchases.configure is not a functionWhat am I doing wrong here?
In EU it seems that Google allows refunds within 48 hours. This means that the user can technically consume the subscription and its benefits for two days and then request accidental purchase refund. Are there any workarounds around this kind of abuse and what should I do to block these users or their in-app benefits?
In the last 24 hours I have been having issues connecting to iOS store with revenueCat. here are the logs, from a “production” bundleERROR: 😿‼️ The operation couldn’t be completed. (RevenueCat.BackendError error 0.) error 21:32:38.863784-0600 IdentaFly WARN: 🍎⚠️ StoreKit 2 product request took longer than expected (83.86 seconds)error 21:32:39.133027-0600 IdentaFly WARN: 🍎⚠️ StoreKit 2 product request took longer than expected (84.12 seconds)error 21:32:40.346549-0600 storekitd AMSURLSession: [2e64_SK2] Session decoder failed. Result = (null); Error = Error Domain=AMSErrorDomain Code=301 "Invalid Status Code" UserInfo={NSLocalizedFailureReason=The response has an invalid status code, AMSURL=https://sandbox.itunes.apple.com/commerce/messages/app/inbox?bundleId=com.identafly.production&guid=00008110-0005046601E2801E&status=1, AMSStatusCode=410, NSLocalizedDescription=Invalid Status Code}error 21:32:40.346623-0600 storekitd AMSURLSession: [2e64_SK2] Task completed with error =
Hi, how to align the dashboard timezone to my timezone? Thank you.
With latest MAUI SDK and .NET 8.0.403 getting the following error on build”```C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.143\tools\Xamarin.Android.Common.targets(1544,3): error XA4215: The Java type `kotlinx.parcelize.IgnoredOnParcel` is generated by more than one managed type. Please change the [Register] attribute so that the same Java type is not emitted.```Any idea how to have workaround for it?
Hi, The Cordova plugin has this deprecation message: This library is now deprecated. We suggest using our Capacitor SDK instead. (from https://www.npmjs.com/package/cordova-plugin-purchases) How would I use the Capacitor plugin in a Cordova app? I can’t find any instructions about how to do that. I did find https://github.com/ionic-team/capacitor-plugin-cordova-compat, but it says that the Capacitor plugin must have support for the Cordova compatibility layer. I can see that the RevenueCat Capacitor plugin doesn’t have this (see point 10 - the properties mentioned are missing from package.json). It seems to me that Cordova is just simply no longer supported? That’s a bummer. If it is the case, the deprecation message should be fixed to say something like: Capacitor uses should use the Capacitor SDK. Cordova support is deprecated Thanks,Graeme
IOS IAP promo codes are not working in Production app but the RC dashboard is recording each redemption as actual purchases, given that the user gets a prompt for purchasing the product each time they try to redeem the code. strangely I tried to test it out one time but I uninstalled the app and installed it through the redemption process and it worked, just for that one time and then it stopped working again.
Goal: Run campaigns on Apple Search Ads and give them a different Offering and Paywall.Idea: We should be able to use AdServices.AAAttribution.attributionToken() to get the token. I’m assuming this is what the Purchase SDK does. If we have a token then we can request a specific revenueCat offering.Success. If the API finds a matching attribution record, the payload returns attribution=true. If the API doesn’t find a matching attribution record, the payload returns attribution=false. In this case, the 200 OK response is acknowledgment of the receipt of the data request.Question:Does the SDK support this feature without me calling AAAtribution? If I’m calling AAAtribution could that possibly break anything? I’m assuming apple would return the token twice if we both call it.
How would you use targeting to show a unique paywall/offering based on a user’s subscription status? For example, if someone has subscribed at a lower tier, show them a discounted offer to upgrade to a higher tier. Or if someone was once a subscriber and has since churned, show them a discounted offer to resubscribe. I know there are custom attributes that can be passed to RC but this is data the RC already has and should be accessible somewhere (maybe?) but I don’t see it in the targeting rules.Thanks, -O^O-
Hi, I recently see strange behavior on several accounts with purchase transfers to anonymous IDs.This one particular user has renewed his subscription which shows in the User Panel events, but was not given an entitlement. The event also shows couple transfers.Restore purchases does not work for the user as seemingly from the sdk response there is no purchase to restore to.Pictures shows several things that are off. Purchases made but no entitlement Total spend = 0 2 transfers back to back (I’m seeing this on several users)How can I fix this user and give him his entitlements? for context:not in the picture, but the user has an userId alias, not only the anonymous id I’m using the ‘transfer if no active subscriptions’ setting Within in the app I configure RC on app start, but only after a registration I call login with the dedicated userId. Edit: I checked the other user which there has been the transfers, it’s the same user but with different anonymous IDs. I was able to transfer th
The following code in your Android SDK (located in Footer.kt) crashes on some devices: uriHandler.openUriOrElse(it.toString()) { val msg = context.getString(R.string.no_browser_cannot_open_link) Toast.makeText(context, msg, Toast.LENGTH_SHORT).show() Logger.w(msg) } Here is the stacktraceFatal Exception: java.lang.IllegalArgumentExceptionCan't open https://mywebsite.com/terms_of_use.html.androidx.compose.ui.platform.AndroidUriHandler.openUri (AndroidUriHandler.android.kt:36)com.revenuecat.purchases.ui.revenuecatui.extensions.UriHandlerExtensionsKt.openUriOrElse (UriHandlerExtensions.kt:12)com.revenuecat.purchases.ui.revenuecatui.composables.FooterKt$Footer$3$2$1.invoke (Footer.kt:147)com.revenuecat.purchases.ui.revenuecatui.composables.FooterKt$Footer$3$2$1.invoke (Footer.kt:141)com.revenuecat.purchases.ui.revenuecatui.composables.FooterKt$Button$1$1$1.invoke (Footer.kt:213)com.revenuecat.purchases
Do I need to create an introductory offer or a promotional offer in App Store Connect?
Hi, I am facing an issue with the iOS version of my react native app. As the title suggests, when I perform an action in the app which causes the paywall to open (subscription paywall), it closes itself after a second or two of being visible with PAYWALL_RESULT of CANCELLED. It works fine on Android (only tried it in a test environment using open testing) and allows me to step through the process of purchasing a subscription.I created my app with expo but to test on a physical iOS device have used prebuild to create an ios folder which after running pod install has the .xcworkspace file required to run a build in xcode. They physical device I am testing on is signed in to a sandbox account that is linked to my apple developer account.I am using react-native-purchases version 8.2.3 and the same version number for react-native-purchases-ui.I cannot seem to find any other people who have documented experiencing this issue, and there are no warnings or errors thrown in xcode or the metro t
If I post a receipt to RevenueCat when a Stripe customer begins a subscription (as described here), will I receive webhooks from RevenueCat the same as for the App Store (i.e., trial start, payment made, subscription cancelled events)?
Hi!I'm trying to integrate Revenuecat service for a subscription (work on flutterflow). I've already reviewed all the tutorials several times, changed different options, but it still gives an error. I've been trying to solve the problem for a whole weekI'm running it on an Android smartphone via a cable from a PC.HELP PLEASE!. Here are my screenshots.I used the tutorials:https://docs.flutterflow.io/integrations/payments/revenuecathttps://blog.flutterflow.io/in-app-subscriptions-using-revenue-cat/
Hi Guys,I am having an annoying issue in-app purchase payment with RevenueCat.Purchase modal is properly displayed and I can always proceed with payment (). Problem is : about 4 times out of 10, the following callback is not called.Purchases.shared.purchase(package: package) { [weak self] transaction, info, error, other inWhich means we cannot retrieve the transaction info or properly inform the user.I am pretty confident the purchase worked, as the system displays a purchase confirmation an alert (see attached screenshot).The following logs also suggest that both purchase and receipt were properly handled :2023-01-11 19:08:23.124231+0100 XXX[4003:1210683] [Purchases] - DEBUG: ℹ️ SKReceiptRefreshRequest started2023-01-11 19:08:23.232600+0100 XXX[4003:1206279] [Purchases] - DEBUG: ℹ️ applicationDidBecomeActive2023-01-11 19:08:23.675919+0100 XXX[4003:1206279] <SKReceiptRefreshRequest: 0x28161e3e0>: Finished refreshing receipt with error: Error Domain=ASDErrorDomain Code=603 "Reques
I’m using TestStoreProduct to create Packages for my Previews, but I’d like to filter the packages based on the intro discount eligibility. These TestStoreProduct have their introductoryDiscount set to a TestStoreProductDiscount, but when using Purchases.shared.checkTrialOrIntroDiscountEligibility I get .unknown. What does it take to get it to return .eligible in my Previews?Thanks
Hi,On iOS (and eventually Mac)I would like my app to **immediately begin a free trial the first time it is used** without prompting the user to subscribe. During the trial I would like the UI to show how long is left before the trial expires. During and after the trial I would like the user to be able to purchase a subscription.(I want to do this because I believe there is a barrier to starting a free trial that rolls in to a subscription, even though it can be freely cancelled.) Is this use scenario possible? Or do I need the user to actively choose to start a trial? If the user does have to start a trial, do trials have to automatically subscribe, or can they just run out, and then the user can choose to subscribe? If this is documented, I’d be very happy to be referred to a link, but I’ve not found a description of exactly which scenarios are and aren’t supported. Thanks!
I’d love a way to get a callback on the tier toggle in the Paywalls to know which tier was currently selected and when it changed. We use the paywall footer with our own custom content behind it, so a callback would be valuable to be able to display content that reflects the current tier selection. Any idea if this is something the RC team is considering or planning in a future Paywall 2.0 update? Thanks, -O^O-
Hi, I left the StoreKit APIs alone and just signed up for RevenueCat today for my iOS app.However, there was one feature from StoreKit APIs that I really liked. Their StoreViews (specifically the subscription store view) is really nice and intuitive. But I’m confused about one thing. Looking at the RevCat docs, it looks like I should be making all purchase calls through their API. If I use a StoreView, then Apple will be handling the payment and I’m not sure if I’m following best practices here. It kind of feels like I need to choose a side. Either, use RevCat fully, or StoreKit fully, and not try to mix and match. Any thoughts?
Hello,I am trying to create a targeting rule to schedule a seasonal offer that would be available in the future, the rule should target any audience and enable the seasonal sale offering between two dates. I am getting confused on why the placement is mandatory for these type of schedules.Can I just ignore the placement and set the same offering for both the placement (which I could name default) and the default placement? I do not have the concept of placement yet in my app.What would be the best way to schedule these seasonal sales?Thank you again for this fantastic platform.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.