Discussion and help from anything related to RevenueCat.
Recently active
Very strange, never had this issue before. It’s occurring in production as well. Tested it on several different phones and accounts, it appears to be happening to one of my co-workers on both prod and Testflight. I’m using react-native-purchase v7.27.3happens when calling Purchases.getOfferings Seen there was a post from a year ago talking about it, but it doesn’t seem like there was a solution to the issue.
I am getting this error from sandbox and the app in app store =>flutter: PlatformException(8, The receipt is not valid., {code: 8, userCancelled: false, readable_error_code: INVALID_RECEIPT, underlyingErrorMessage: The receipt is not valid., message: The receipt is not valid., readableErrorCode: INVALID_RECEIPT}, null)Also I’ve checked this stepsApp Store Connect App-Specific Shared Secret is correct My public api key is correctWhat is the solution?
This is from an expo 53 react native implementation.The errors[StoreKit] [b86562ee] Request failed with error Error Domain=StoreKit_Shared.StoreKitInternalError Code=7 "(null)"[StoreKit] [3e167164] Request failed with error Error Domain=StoreKit_Shared.StoreKitInternalError Code=7 "(null)"[StoreKit] [b86562ee] Error updating Storefront: Error Domain=StoreKit_Shared.StoreKitInternalError Code=7 "(null)"Error Domain=ASDErrorDomain Code=509 "No active account" UserInfo={NSLocalizedDescription=No active account}occurs when calling // Set API key based on platformconst apiKey = Platform.select({ios: process.env.EXPO_PUBLIC_IOS_RC_API_KEY || 'appl_xxxxxxxxxxxxxxxxxxxxxxxxxx',android: process.env.EXPO_PUBLIC_ANDROID_RC_API_KEY || 'your_android_api_key_here',});// Enable debug logs in developmentif (__DEV__) {await Purchases.setLogLevel(LOG_LEVEL.DEBUG);}// Configure RevenueCat with anonymous IDawait Purchases.configure({apiKey,entitlementVerificationMode: Purchases.ENTITLEMENT_VERIFICATION_MO
Hello,I have my React Native app fully functioning on iOS. I am currently testing my app under a closed testing group on the Play Store. I have found that selecting restore purchase on Android will automatically give my test users premium (without having made any previous purchase). This is something that doesn’t happen on iOS so I’m wondering is it because it’s under closed testing?
How to make hard paywall in react native?
Hello, where are the API keys? In the docs says it's under "project settings" but there's no tab or anything with API keys there. I created the project, and confirmed under the "project settings” > “collaborators" that I've the "Owner" role. I also verified my email. I also signed out and in again. Still nothing with API keys. Thanks.
Hi, I’m considering reworking my onboarding. However, I might delay that if RC is going to release remotely configurable and AB-testable onboarding as a new feature in the near future. I understand that’s private info and even if you’re planning on it, the timing might be hard to predict. But can you give me any sort of rough estimate as to if/when you might do this? Also, if/when you do release this, will I be able to implement basic logic (e.g. if select these goals, show them this page, but if select those goals, show them that page). Any info you have on functionality would be much appreciated! Thanks, Toby
I've been trying to update the text in Paywall V2, but the editor doesn’t work in any of the browsers I’ve tested. I’ve tried Chrome, Safari, Firefox, Brave, and Arc — the issue persists across all of them. I'm unable to edit the text or styles at all.Even when I duplicate components, they appear on the paywall, but I still can't modify the styles or label text.Can someone help me with this? I need to update my paywall content.
Hello!We use RevenueCat as our app subscription management platform and as a single location to monitor our revenue across iOS and Web (Stripe).From iOS, users can only purchase subscriptions, and everything displays as expected. However, from Web (Stripe), users have multiple options for purchasing our product. Some Stripe Payment Links combine non-renewing products with renewing products (subscriptions), while others are only have non-renewing products.When someone follows a Stripe Payment Link to purchase multiple non-renewing products, then in the RevenueCat Dashboard, we see multiple separate “One Time” purchase line items, and all revenue is properly tracked.However, when the Stripe Payment Link includes both non-renewing products and a subscription, then in the RevenueCat Dashboard, we see only 1 “New Sub” line item, and only the revenue from the subscription is tracked. The rest is untracked. It’s all a bit inconsistent and confusing. Thank you for any help with tracking all of
Hey folks,Hoping someone here can shed some light on a perplexing issue I'm seeing with subscriptions in my app.I had a user kindly inform me that their annual subscription (purchased via Apple) recently failed due to insufficient funds. The weird part? They're still able to access all the premium features in the app.I've checked in App Store Connect, and I don't have any grace periods set up. What's even stranger is when I look at this user's profile in RevenueCat, it shows them as having an active annual subscription with no indication of a payment issue whatsoever.This has me scratching my head, so I'm wondering:How does Apple typically handle these failed payments, and how does RevenueCat usually reflect them? Any idea why a user would still have premium access after a payment fails? How long might this access last? Is there a way to configure things (either in Apple's settings or RevenueCat) so that premium access is immediately revoked if a payment fails, and only restored once t
Hi. Whenever I supply custom metadata in my Web SDK purchase call (as described here https://www.revenuecat.com/docs/web/web-billing/custom-metadata), the Event Data for the purchase shows a “metadata” value of null, and the webhook request body for that event then also shows a “metadata” value of null. I’m using a web billing app.The exact request I’m making is: const { customerInfo } = await Purchases.getSharedInstance().purchase({ rcPackage: pkg, metadata: { org_id: "01970d2a-3f5b-724c-b306-5aca641ffba3", event_id: "01972cdb-f765-756b-ae95-203f516ff6e6" },});I can see the metadata being set correctly in the POST request to https://api.revenuecat.com/rcbilling/v1/checkout/start, it just never seems to actually be stored and associated with the event once the checkout is completed.I’m using the @revenuecat/purchases-js library on version 1.4.3. Is there something I’m doing incorrectly or am I missing something? Or is there just a bug with processing this metadata on the b
https://community.revenuecat.com/sdks-51/getofferings-work-fine-for-iphone-testfligths-app-but-not-working-on-ipad-testflight-app-6403?tid=6403&fid=51 I had a similar problem here, but unfortunately there was no change for me after I did this solution. My terminal output shows these problems. Where exactly could the problem be?ERROR: 🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)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). More information: https://rev.cat/why-are-offerings-emptyERROR: 😿‼️ There is an issue with your configuration. Check the underlying error for more details. 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
With macOS Tahoe released today, I wanted to see how my app ran on it. But I ran into a compile error when using the RevenueCate Swift package: Protocol 'StoreKit2PurchaseIntentType' requires 'id' to be available in macOS 14.4 and newerI know RevenueCat just got their hands on the new SDK today, but I wanted to post my issue here to get the ball rolling on using RevenueCat with the new OS 26 versions.This error was within the StoreKit2PurchaseIntentListener.swift file.
Hi,I just wanted to get to know, what to implement additionally in my Flutter App for iOS introductory offers. I am not using the RC Paywall, but my own screens inside the App and I have already implemented IAP subscriptions for my App & the App is active inside the AppStore.The plan is to have a trial period of 3 days before the full price is charged. My app uses an App Extension that needs to know the expiration date and refers to the in-app-purchase page of my Flutter App if a subscription expires. Therefore I absolutely need to make sure that I get the Trial Period from RC:My expectation would be that when the User subscribes and is eligible for the trial period, I get a price of 0.0 USD for the product and an expiration date of 3 days from RevenueCat. Additionally, the introEligibilityStatusEligible flag is returned, so I can show a corresponding text to the user.Is this correct ? Do I additionally also get the effective price that is charged after the Trial period ends ?How i
I’m attempting to use Postman to get test data back to incorporate into my server.As a test, I ran this as a GEThttps://api.revenuecat.com/v2/projects/{project_id}/customers/{customer_id}Replacing {project_id} with my project id from general → project idAnd using a customer_id from the overview dashboard.Setting the header as show using the secret API key generated via API Keys → Secret Api Key → NewHowever I receive this error: How can this be resolved.Thanks
Hello, I did everything correctly via integration Firebase, but my conversions in Google Ads doesn’t have a value so ROAS can’t optimise How can we solve this issues? Thanks
I use webhooks to credit users for purchases in my app, I noticed I started to receive a new event type, INVOICE_ISSUANCE. I looked at the documentation but I have no idea what I would use this event for. The documentation says: A new invoice has been issued for the purchase. This event is sent when a new invoice is created for a subscription or non-renewing purchase that has not yet been paid. This event is only available for Web Billing purchases.Does this mean a user saw the web paywall or they clicked purchase and you just haven’t collected the funds? Will other events still be emitted? Would love a bit more documentation about why someone might care about the event.
I see transactions in overview:But no customers in sandbox list
I created a paywall, started testing and everything worked fine. But then I deactivated the offer in Google Play and added a new one and after that errors started appearing in the window and now the basic screen is displayed. I have already recreated the offer, but nothing has changed. I’m used Flutter and packages purchases_flutter: ^8.9.0 & purchases_ui_flutter: ^8.9.0W/[Purchases](10485): The Paywall references a package with id '$rc_monthly', but Offering 'new-default' does not contain such a package. It has these packages instead: [$rc_lifetime, $rc_weekly, $rc_annual]. Either add the missing package to the Offering or remove it from the Paywall.W/[Purchases](10485): Displaying default template due to validation errors.W/[Purchases](10485): Could not process value for variable 'sub_offer_duration' for package '$rc_lifetime'. Please check that the product for that package matches the requirements for that variable. Defaulting to empty string.W/[Purchases](10485): Could not proc
Hello RevenueCat Team,I’m facing a circular issue during the App Store review process and would appreciate your guidance.I’ve implemented a hardcoded paywall UI on the client side (not relying on dynamic offerings), and completed all setup: Subscription products are created in App Store Connect These products are added to a new Offering in RevenueCat The Offering is configured, but the product has not yet been approved by Apple During app review, since the in-app purchase product isn’t approved, the Offering isn’t accessible via the RevenueCat SDK.Because of that, Apple sees the paywall but encounters a missing product error when attempting to make a purchase, leading to a rejection under Guideline 2.1 - App Completeness.Ironically, Apple is telling me they can’t approve the subscription product until it’s accessible in-app, but I can’t access it in-app until it’s approved and synced to RevenueCat.Despite explaining this situation to the App Store reviewers, our submissions continu
Hello!Is there a way to track shipping fees charged to our customers via Stripe Payment links in RevenueCat? We want to use RevenueCat as a central location to track all sources of revenue and this would be very helpful. Thank you for any help with tracking all of our revenue!
Neither Google Pay nor Apple Pay is functioning with the Web Payment Link because of the following error (in console):stripe.js:1 Uncaught (in promise) IntegrationError: Invalid value for click event resolve callback: applePay.recurringPaymentRequest.regularBilling.recurringPaymentStartDate should be a future Date. You specified: "2025-06-09T18:19:18.915Z". at le (stripe.js:1:191329) at pe (stripe.js:1:191408) at Za (stripe.js:1:355332) at stripe.js:1:388185 at stripe.js:1:380848 The monthly and annual plans can’t be purchased due to the error above. But the lifetime plan works just fine.Here is an example of my payment page https://pay.rev.cat/sandbox/nhscxmehgplykyuc/useridDoes anyone know how to fix it?
When building iOS simulator build from react native, with the react-native-purchases 7.0.0, and XCode is 16.4 (if that matters).I use this command: eas build --platform ios --profile development-ios --localThen during the [RUN_FASTLANE] I see:“'SubscriptionPeriod' is ambiguous for type lookup in this context”. However, I don’t see it if I build with eas (not locally).I understand Flutter fixed this issue recently. 1) Which version was this fixed in for react-native-purchases? 2) Why do I only see it when building locally?
Hello RevenueCat community,I'm facing an issue with my app "Flight Canvas" being rejected by App Review. The reviewer attempted to make in-app purchases but encountered errors.App Review Feedback:"When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple's test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code 'Sandbox receipt used in production,' you should validate against the test environment instead."Current Situation:The app works perfectly in TestFlight with sandbox purchases RevenueCat logs show successful offering fetching and subscription recognition Customer info shows proper entitlement activation in testing Using RevenueCat for all IAP handling (no custom receipt validation)Question:Is there a setting in RevenueCat I need to change to handle this specific App Review scenari
I am struggling to implement a paywall with many (22) subscriptions. Because our subscriptions are based on the number of users, we have a lot of options for the users to pick from. However, when I start adding the packages to the Footer, instead of the subscriptions being scrollable, it seems the footer just grows to fill the entire screen and then cuts off the additional subscription options. What is the recommended way to approach this?
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.