Discussion and help from anything related to RevenueCat.
Recently active
Hi, recently in one of our apps the integration betweenĀ RevenueCat and OneSignal is failing, im aware of the changes in the API as stated hereĀ https://www.revenuecat.com/docs/integrations/third-party-integrations/onesignal#11-user-centric-api-versions-of-onesignal-110-and-abovewe have two types of problems first of all some of the request send empty bodies and some others returnĀ {"errors":[{"title":"No subscription with alias We have this integration working in two apps withĀ exactly the same implementation, one is working fine and the other is always failing.as of today which type should we use with flutter and why one is failing?Here is a little snippet of the integration: final oneSignalUserId = OneSignal.User.pushSubscription.id; OneSignal.login(revenueCatUserId); OneSignal.User.addAliases(<String, dynamic>{ 'revenuecat_id': revenueCatUserId, }); await _corePurchases.setOneSignalId(oneSignalUserId!)Thanks.
I just made my first iOS sandbox purchase using the RevenueCat Flutter SDK. Then I went to my dashboard and could not find the fake purchase. I looked at the docsĀ and it claims I need to toggle my view sandbox data ON. The issue is that this toggle is disabled. When I hover I get the ānot-allowedā cursor. Why would this toggle ever be disabled?Ā
I have the same problem as this post:Ā Ā but im using react native sdk, after completing the purchase onDismiss is called
I am facing an issue with my Flutter app. I have a subscription that includes two products: an annual and a monthly option. Both products are correctly set up in Apple and RevenueCat. However, in my Flutter App when I fetch the offerings the annual product appears, while the monthly product shows up as null. Why is this happening?
Hi all.we have the issue of very high numbers of new customers ā numbers that we donāt see in App Store nor Mixpanel. Last year we tried to solve this issue with RC support, but failed. We did make some changes around how we call logout method but it didnāt help. Now, weāre hoping maybe someone from the community has/had the same/similar issue and could help us.Ā We already saw that there are a couple of posts around the topic: https://community.revenuecat.com/dashboard-tools-52/how-to-reconcile-the-new-customers-data-1387 https://community.revenuecat.com/dashboard-tools-52/double-new-customers-since-july-15-1843 The answers on them didnāt help us.Ā Ā Our iOS setup is as follows:We call configure inĀ didFinishLaunchingWithOptionsĀ with no appUserId Until user logs is we rely on RC anonymousID Once user logs inĀ we call login with our userID Itās also possible that user buys a subscription without being logged in, and in that case we also call loginĀ but with yet another id AĀ user can have
Iām trying to generate an In-App Purchase Key on App Store Connect as thatās a mandatory step in the set up process for iOS apps. However, App store connect wonāt let me, and also wonāt tell me whatās wrong. When I try to generate a key, I get aĀ āerror, please try again laterā error and then immediately redirected to the home page. In the chrome devtools console, I see a 403 forbidden error. Wtf?
I upload theĀ P8 key file from App Store Connect to the revenuecat with myĀ Key IDĀ and IssuerĀ ID. Everything is correct but it still says that āCredentials are not configured yetā what should I do more to get my credentialsĀ validated ?
In the Customer Info (https://www.revenuecat.com/docs/api-v1#tag/customer_info_model) `subscriber` field, there is a dictionary of identifiers to subscriptions. It looks like the identifier is the product identifier from the respective stores. What happens if the same identifier is present on the App Store and Google Play?Ā Ā Ā
During the Apple review process, the reviewer encountered an "Error 23" message indicating a configuration issue. This has happened twice now, even though I havenāt made any changes to my RevenueCat setup or code since my last successful reviews. In the previous reviews, the reviewer was able to complete the subscription process successfully but rejected the app for an unrelated reason. Now, when I test the subscription flow, everything still works perfectly on my end, so Iām unsure why itās failing for them.Do you have any insights on what might be causing this issue or how I can resolve it? Could it be related to Apple's sandbox environment, or is there something specific I need to check or adjust in my RevenueCat configuration(even though it worked in the past and is still working)? Would uploading a new build and resubmitting help? Iāve seen others try this approach, but Iād appreciate your advice.Thanks for your help!
Hello,Iāve been looking on already posted questions but didnāt found the answer about that.Iāve been sending some promo codes for my Android and Apple application, the Apple promo code redeemed are marked as TRIALĀ in my console, but the Google Play ones are marked as a regular purchase with the real priceĀ while in the Google Play Console itās marked with a 0.00⬠revenue.Ā My issue here is that I suppose that itās counted in the MMR (andĀ thus iāll pay 1% on the revenues if i reach the 2500$ threshold) while it doesnāt make me earn money, so in fact iām losing money by giving promo codeĀ š« ? Or maybe the real MMR is recomputed after with the real transactions amount ? I donāt know.Ā Thanks for the clarification :)
Is there a way to add a video to the existing fullscreen paywall in place of the image?
Within a local Xcode testing environment we sometimes run in to the following error (which is received from RevenueCat):Error Domain=RCBackendErrorDomain Code=7638 "There is another request in flight trying to perform the same action."This is the error that we receive back when we try and make a purchase (within the following code block): func purchase(package: Package, completion: @escaping (InAppPurchaseResult) -> Void) { purchasePackage(package) { _, purchaserInfo, error, userCanceled in if userCanceled { completion(.userCancelled) } else if let error = error { completion(.failure(error)) print(error) print(error.localizedDescription) } else if purchaserInfo?.entitlements.all["unlocked"]?.isActive == true { completion(.success) } else { // According to RevenueCat doc it should never happen } } }Even though we receive
Hi All,I have more than 15k active user and only handfulĀ of people having this issue. The customer created the account but we are unable to see his transaction history, upon further inspection we found out that the user is already paying for the subscription, itās just RC donāt recognize it.After following the below doc, I realize that we might have to add restore Purchase functionality to overcome this issue.Ā After testing in sandbox we got a weird issue which says :-āšæā¼ļø There is already another active subscriber using the same receipt.ā which is coming from the API with endpoint ā/v1/receiptsā.Ā NOTE:- Both the sandbox and app account are new so there is no way that the sandbox had an previous purchase history.Ā Now I am a bit confused and really want to sync everything for these users, I am looking forward for a saluting from this community.Ā Thanks & RegardsĀ Mayank Sharma
Hi,Ā I thought the only values you see for the period_type field are: TRIAL, NORMAL, PROMOTIONAL. However, see attached. I see a PREPAID value? In the attached picture, the product is a recurring subscription (as opposed to a prepaid/non-recurring product). So the period_type value doesnāt seem to match.Is this a bug in RC? If not, what does this period_type mean? iOS subs continue to use the NORMAL period_type, so am I expected to field different period types, depending on the store?Ā Thanks,Ā Toby
When I try to sync purchases on one of my devices, I get the following error:Error syncing purchases StoreTransaction(orderId=null, productIds=[plus_upgrade], type=INAPP, purchaseTime=1641997886514, purchaseToken=<redacted>, purchaseState=UNSPECIFIED_STATE, isAutoRenewing=null, signature=<redacted>, originalJson={"productId":"plus_upgrade","purchaseToken":"<redacted>","purchaseTime":1641997886514,"quantity":1,"developerPayload":null}, presentedOfferingIdentifier=null, storeUserID=null, purchaseType=GOOGLE_RESTORED_PURCHASE, marketplace=null, subscriptionOptionId=null, replacementMode=null). Error: PurchasesError(code=UnknownBackendError, underlyingErrorMessage=Backend Code: 7651 - The payment for this non-subscription product is not complete., message='There was an unknown backend error.')On the Play Console, I see that this in-app purchase has been refunded and it has a proper order ID.Any idea?
Hey RevenueCat Community, we are currently migrating from Glassfy and are also using the Paywalls feature.Ā What I am missing here from Glassfy is the customisability in Paywalls and not being dependent on Templates as much. As you can see in the Screenshot, there are more values to adjust, variable Button count, Image Carousel, Paddings, Sizes, Margins etc.Ā What I am proposing are similar features in the RevenueCat Paywalls feature. For example:Styling like in CSS: Sizes, Paddings, Margins, Borders (Radiuses)Flexible positioning and amount of ElementsWe are aware that it is aways Possible to natively create a Paywall, but here the huge use-case is that its a no-code solution, so customers can easily adapt and implement Paywalls themselves.What do you think of it and what are your experiences migrating from Glassfy?
Hi, Iāve been using Paywall with React Native, and itās been great so far, but it doesnāt handle subscription upgrades/downgrades for Google Play, which is a major issue.Without this essential feature, Paywall becomes almost unusable for managing multiple subscriptions on the Play Store.Are there any solutions to make RevenueCatĀ Paywall work for upgrades/downgrades with Google subscriptions in React Native?
I am using Flutter, fyi.How do I check that the user is logged into their google account (and Play Services) on their device, so that I donāt get an error when I show the paywall?
Hi all,Iām testing the Scheduled Data Export integration but I donāt understand one thing. So thereās this option to only include new and updated transaction records, but how do I know which records are new and which are updated? And for the latter, how do I know which record it replaces?Ā Last question, is there a way to get user events history from api?Ā
offering] DEBUG: ā¹ļø Skipping products request for these products because they were already cached: ["pinqin_10_skill_coins"][purchases] INFO: š° Purchasing Product 'pinqin_10_skill_coins'[error] ERROR: šæā¼ļø The operation is already in progress for this product.[purchases] ERROR: š° Product purchase for 'pinqin_10_skill_coins' failed with error: Error Domain=RevenueCat.ErrorCode Code=15 "The operation is already in progress for this product." UserInfo={NSLocalizedDescription=The operation is already in progress for this product., readable_error_code=OPERATION_ALREADY_IN_PROGRESS_FOR_PRODUCT_ERROR, source_function=addPurchaseCompletedCallback(productIdentifier:completion:), source_file=RevenueCat/PurchasesOrchestrator.swift:986}along with this whenever I am restarting the project , it works fine without this error.
Hi RevenueCat Support,I'm encountering an issue with my app,Ā which was recently released on the App Store. When making a conversion via a sandbox account, the entitlements are not activating, and the CustomerInfo object consistently shows no active entitlements. Hereās an excerpt from the debug log:[DEBUG] Transaction: Optional(<StoreTransaction: identifier="2000000720835399" product="XXXMONTHLY" date="2024-09-20 20:48:21 +0000" quantity=1 >) [DEBUG] PurchaserInfo: Optional(<CustomerInfo: originalApplicationVersion=1.0, latestExpirationDate=Optional(2024-09-20 20:53:21 +0000), activeEntitlements=[:], activeSubscriptions=[:], nonSubscriptions=[], requestDate=2024-09-20 20:53:49 +0000, firstSeen=2024-09-20 20:51:57 +0000, originalAppUserId=EF36029C-E740-4B3C-B14C-1E179B37FD8D, entitlements=["PRO": "<EntitlementInfo: \"\nidentifier=PRO,\nisActive=false,\nwillRenew=false,\nperiodType=PeriodType(rawValue: 0),\nlatestPurchaseDate=Optional(2024-09-20 20:48:21 +0000),\noriginalPurc
Iām quite new to RevenueCat, and Iām currently working on a Flutter app targeting all OS.Since the purchases_flutter package is not available for Windows or Linux (please do something about it!), I assume that I need to use Stripe, connected to my RevenueCat account, to display a web page with a Stripe paywall (I use a Payment Link to keep it simple), and then call the RevenueCat REST API to:list my offerings purchase a product through Stripe check if a user has purchased my one-time payment product or not recover a one-time payment purchaseSo I have 2 questions:Is it the right way to do? Why do I need a secret API Key (that, I assume, I need to store on a server), while I only need a public API Key for the Android, iOS and macOS version of my app?Thanks for your help.
Is there a way to send customer data when you useĀ presentPaywall?Ā All of my customers are anonymous.App User ID$RCAnonymousID:dad1b19971024dfcbb968e83ac87e288Iām using the react node package,import RevenueCatUI from 'react-native-purchases-ui';await RevenueCatUI.presentPaywall({displayCloseButton: false,});
Hello,Iām using Revenuecat SDK in flutter (purchases_flutter 6.30.2).I have an app on Google Console with a free phase of 10 days.When I callĀ Purchases.getOfferings(), I'm gettingĀ it, but the duration is expressed as below:period shows P1W3D = 10 days (ISO 8601), which is ok.periodNumberOfUnits = 7 days, which is wrong.Is there a problem in my interpretation or the data returned is inconsistent ?Ā I found the same problem in freePhase.billingPeriod:Thanks for your supportChris
It was working fine a few weeks ago, but now it just crashes every time I try to configure RevenueCat. Issue goes away when I donāt configure it.What do I do?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.