Discussion and help from anything related to RevenueCat.
Recently active
I migrated my app to 4.0 of purchases-ios and released it on Testflight.When I install the app on a device with an active subscription, the subscription status is lost (with all the associated features).If I re-install the App Store version, the subscription status is back.Purchasing works correctly in Xcode / debug.Any idea what’s happening?Thanks
I followed this guide to send events directly from Stripe to RevenueCat. I also saw this link for sending our tokens to RevenueCat which must be done before the above events (I think). I send the token during “checkout.session.completed” but it doesn’t look like that event is happening. Should we be posting receipts from “invoice.payment_succeeded” ? Might be good to put something about this in your docs.
I'm having a problem with Android users, they purchase the subscription, but does not receive the subscription, instead they are asked to open the App to confirm the subscriptionReact Nativereact-native-purchases: 4.5.2
We recently upgraded to a Pro account so we can use the integrations such as Branch. However, even after our account shows “Pro” as our current plan, certain apps that require “Pro” plans are still locked. Has anyone else experienced this?
Calls to -- customerInfo?.entitlements[ “myEntitlementID” ]?.isActive seems to be generating Debug message log noise.I’m unsure how to fix/quiet these messages, does anyone know if this is a problem or a way to resolve whatever might be casing this? I’m assuming this is a problem with the .json being returned by the RC rest endpoints as its being decoded… This is the console output:_____________________2022-03-31 20:12:40.544032-0400 astrx[50240:2136091] [Purchases] - DEBUG: 👤 Identifying App User ID2022-03-31 20:12:40.551928-0400 astrx[50240:2136091] [Purchases] - DEBUG: ℹ️ Debug logging enabled2022-03-31 20:12:40.552073-0400 astrx[50240:2136091] [Purchases] - INFO: ℹ️ StoreKit 2 support enabled2022-03-31 20:12:40.552118-0400 astrx[50240:2136091] [Purchases] - DEBUG: ℹ️ SDK Version - 4.1.02022-03-31 20:12:40.552159-0400 astrx[50240:2136091] [Purchases] - DEBUG: 👤 Initial App User ID set2022-03-31 20:12:40.572296-0400 astrx[50240:2136091] [Purchases] - DEBUG: ℹ️ Key 'CodingKeys(strin
I migrated my app to RC, however old subscribed users are having a sync problem. Previously, I was using react-native-iap library for subscriptions and receipts validations in the client side. if ( isSubscribedInOldSystem // not able to get this information && !isSubscribedInRevenueCat) { Purchases.syncPurchases();}Because of RC, I had to remove react-native-iap from my packages.json to prevent crashes and libraries incompatibilities.I never stored any users subscriptions informations and I am now unable to get the isSubscribedInOldSystem to syncPurchases. I need your help. Is there any way to proceed? Thank you in advance,Paul
ENVreact-native 0.67.4yarn 1.22.10node v14.16.0 dependencies"dependencies": {"@openspacelabs/react-native-zoomable-view": "^2.0.0","@react-native-community/cameraroll": "^4.1.2","@react-native-community/segmented-control": "^2.2.2","@react-native-community/slider": "^4.2.1","@react-native-picker/picker": "^2.4.0","@react-navigation/bottom-tabs": "^6.2.0","@react-navigation/native": "^6.0.8","@react-navigation/stack": "^6.1.1","@rneui/base": "^4.0.0-rc.1","@rneui/themed": "^4.0.0-rc.1","react": "17.0.2","react-native": "0.67.4","react-native-gesture-handler": "^2.3.2","react-native-image-picker": "^4.7.3","react-native-safe-area-context": "^4.2.4","react-native-screens": "^3.13.1","react-native-vector-icons": "^9.1.0"},
I’m implementing Non-Subscription Purchases (in Flutter). While testing I discovered that the Google Play store offers an option to select a quantity. When I submit a quantity greater than 1 the webhook JSON and Subscriber Info retrieved by the REST API do not reflect the selected quantity. Am I missing something or is this something that needs to be added to RevenueCat.I’ve included a picture of the purchase screen and the webhook JSON. You’ll note that the ‘price’ shown in the JSON reflects the amount for a quantity of three, however, there is no other indication that multiple units were selected. Webhook:{ "event_timestamp_ms": 1648663628931, "product_id": "com_phonelynk_prepaid_phonenumber", "period_type": "NORMAL", "purchased_at_ms": 1648663624258, "expiration_at_ms": null, "environment": "SANDBOX", "entitlement_id": null, "entitlement_ids": [ "voice_calls", "texting" ], "presented_offering_id": "default_offering", "transaction_id": "GPA.3327-0411-9732-1xxxx",
Hello. I'm testing AppStore subscription via TestFlight.I started a subscription via my app.Then the first notification was "RENEWAL" view WebHook.I remember PlayStore is start with “INITIAL_PURCHASE". In case of AppStore, is this right? best regards.
I'm not seeing my offerings show up when I try to fetch offerings through the RC Amazon SDK.The SDK is configured using AmazonConfiguration.Builder I've enabled the products in the Amazon Developer Console I've setup the Amazon Live App Testing I've added products to RevenueCat and add it to my Offering and Entitlement I've followed everything on this postEvery time I open the paywall I get: DEBUG: ℹ️ No cached Offerings, fetching from network. No errors, but no Offerings showing up either when querrying through Purchases.getSharedInstance().getOfferingsApp works fine in regular Google Play mode.Would it be possible to get step-by-step instructions on how to actually setup the Amazon SDK?
Hi,We have noticed that there are no webhooks for when a user’s billing issue gets resolved in the app store/play store. This means that currently when we are looking at user events streams we are not actually able to tell if a user still has a subscription or not until we receive either a renewal event or an expiration event. I was wondering if there is something we are missing and if there is some way to know when a billing issue has been successfully resolved.Many thanks,Lydia
We are currently testing restore purchase behavior on the Test Flight version of our app. When evoking the restore purchase behavior the app was able to locate the current subscription and unlock pro level features, but we never received a TRANSFER webhook. Are TRANSFER events available in Sandbox/Test Flight environments.
Hello all, i am new to the app space. I used a no code app software and I completed my app. The last part is the subscription part. The subscription is for use of the entire app. So here’s where I need help oe guidance:Flow:-User downloads my app in Appstore or Google PlayStore.-They set up an account.-Payment wall opens and they pay.Heres the help that I need to understand: How do I update user info to show they paid so they can have access, and when they cancel, they wont have access? Do i use a webhook to accomplish this?Can anyone explain a webhook and how to use it. I think my understanding of webhooks is my missing link. So right now, i can manually update a user profile and enter “true” for their entitlement. Then I can get a notification showing cancellation, then manually enter a “false.”This is no problem if i have 20-40 subscribers. If I have 1000, then this is a huge problem. Can anyone share any advice or knowledge, thanks.
“Identifying Users” is listed as a developer responsibility in https://docs.revenuecat.com/docs/implementation-responsibilitiesUsing apple’s CKContainer CKRecord.Id as and iOS in-app purchase identity seemed like a no-brainer...but is there a "better" method for this. I see there is identy merge behavior in RevenueCat for anonymous user ids, but does this solve the issue on its own?The app I'm developing has zero-need for a user account, other than supporting review guideline [3.1.3(b) Multiplatform Services], the use of the CKRecord.Id seems like it would be a perfect, frictionless way to achieve subscription persistence across devises, since it persists the same value across all of the users devices without bothering the user... except for the quirk - of requiring "iCloud Drive" to be enabled. Which make total sense if you are looking to save documents to iCloud. but..I don’t need that part.This all feels like reinforcement of the notion that using this service in this way should not
Hey! I am being asked to put in my apple ID password every time I try and subscribe. For nearly every other app I use this is done automatically. Can someone please point my in the right direction. Thanks
Hi there!The date range selection in the MRR movement chart does not seem to work correctly. Even if I select all times, the data of the last month is displayed.Am I doing something wrong? :)
Context:We have two different environments/backends for our appTest BE Production BETheoretically it is possible to have the same app id of users created on test vs user created on prod BE, as they are separate backends. FYI: For test env users, we use the RCat sandbox for subscriptions.Scenario:User A is a test BE user (app id: 123), has an active subscription on RCat sandbox. This can be seen on the RCat user profile by enabling the sandbox toggle. User B is created on production BE, with the same app id (app id: 123), and does NOT has any active subscription. Question:Q1: Will these two users have the same user profile on RCat (allowing to switch between them through the sandbox toggle on top), or will they both have different profiles?Q2: Will User B be able to access the sandbox subscription from user A in any way? This user is not a licensed tester.
We added RevenueCat to an existing application that already had in app purchases.We would like to hide some from RevenueCat as to avoid the MTR fee. Is there a way to do this?We are using RevenueCat for new In App subscriptions but would like to separate these from previously implemented purchases.
Hi, We have a scenario where a user wants to do a crossgrade within the same subscription group. i.e. move from a monthly to annual subscription. However at the moment we have an introductory offer on our annual subscription where a user pays £79.99 for the first year which run until this Saturday (26th March). I have a few questions: If a user initiates a crossgrade today (i.e. going to the managementUrl in Apple App Store and subscribing to the annual subscription) will the introductory offer work for them? From reading your blog online it says that they wont be charged for the crossgrade until their month is finished. However at this point the introductory offer will not be live anymore. So seen as they initiated the crossgrade today will they still get the introductory offer price? Can a user avail of an introductory offer if they crossgrade to a new product within the same subscription group? From reading online it seems they will only be eligible for an intro offer if they haven'
HiMy testing with Play Store sandbox always cancels due to a billing error. Sometimes at the first renewal and other times after 2 or 3.Is this intended behaviour?I see that other users are seeing this issue but with no resolution from RevenueCat. Had their subscription of remove_ads_monthly cancelled due to a billing errorView detailStarted a subscription of remove_ads_monthly for GBP 0.492022-03-19 1:48 PMLast opened the appIn the last dayHad their subscription of remove_ads_monthly cancelled due to a billing error2022-03-16 11:12 AMRenewed their subscription of remove_ads_monthly for GBP 0.492022-03-16 10:44 AMStarted a subscription of remove_ads_monthly for GBP 0.492022-03-16 10:37 AMCreated a new alias $xxxxxxxxxxxxxxxxx2022-03-16 10:37 AM
Hi,I’m a currently facing an issue in sandbox mode with renewal subscriptions in Android.When I purchase I get the activeSubscriptions property within the UpdatedPurchaserInfoListener(onReceived) but after some time, if I kill the app and relaunch it, the listener will return an empty activeSubscriptions.And still, after some time, killing the app again and relaunching it will give me the expected activeSubscriptions.This is happening before the subscription gets cancelled after the 6th renewal.So why do I get this empty activeSubscriptions property whereas the subscription is supposed to be active ? It’s really annoyingThanks for helping
I’m trying to set up Purchases on a watchOS app which has a companion iOS app.I thought I could consume a Swift package for multiple targets at the same time but as per this post on SO it’s not quite straightforward as I thought it would be.I followed Diego Carrera’s solution and added the Purchases framework in the Watch extension like this:General tab, and in Frameworks, Libraries and Embedded Content press +, select the package and press AddThis did the trick for me and on my Watch App Extension I can finally see the import Purchases option.I also added a shared singleton class to manage Purchases’ delegate, both for the iOS and the watchOS app. There, I configure everything, set the delegate to self and retrieve the purchaser info.This is all good if I run everything on the iOS app but when I do the same on my watch, Purchases won’t work and I get no information at all:<PurchaserInfo originalApplicationVersion: (null), latestExpirationDate: (null) activeEntitlements: {}, activeS
I have an AppStore Connect “Sandbox Test User” account with “INTERRUPTED PURCHASES” enabled; This user is signed into the simulator’s iCloud account (I’m using XCode StoreKit file), however the purchase is still successfully being processed. This project is using the RevenueCat 4.0.0 swift package for integration.Does RevenueCat offer its own method to manufacture/force a failed purchase? Is there something else that must be done to flex error handling code? I plan to attempt the same as above on a physical device as soon as I regain access to my test device… but is that mandatory for purchase interruption to work?
Hi there, we are currently using the RevenueCat integration with Segment which is really helpful, however we have noticed a couple of webhooks that don’t trigger events to Segment, EXPIRATION and PRODUCT_CHANGE. I was wondering if there was a specific reason that these are excluded or whether this is just something that hasn’t been developed yet, and if so whether it would be possible to add those? Many thanks, Lydia
I’d like to get a better understanding of how refunds are treated with respect to the active subscription data. If someone refunds their subscription, I understand that they are excluded from the revenue data, but are they also excluded from the active/expired subscription charts?Thanks!
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.