Get help with your SDK implementation.
Recently active
I’m getting a “The receipt is missing” purchase error when testing my app using the Designed for iPad target on my Mac.I signed in using my sandbox account, the dialog showed I was using the Sandbox server, it said I was all set, but the purchase fails.
Some banks put an extra step in the purchase flow to verify the transaction with a banking app. We have had a report that our app doesn’t seem to work when unlocking content via an in-app purchase when this verification step happens. We use RevenueCat Purchases SDK v3 at the moment on iOS.The same issue was reported in this thread but there’s no public answer.This has been reported by a customer and I don’t know how to test or reproduce this.From the customer:I’ve been onto Apple twice and even purchased an iTunes voucher and it has still not resolved the issue. Apple have advised that it is a problem with the app and not Apple which I can agree with. All the payment information is fine, there is a credit on the account but when we go to purchase the app it takes us to the screen asking us to approve the purchase in the mobile banking app. The request is approved in the banking app but when we go back to the app screen it simply will not let us click on the button saying ‘I have approv
I experience a problem when testing purchases on a physical iPhone. i.e. showing the user subscription status for subscriptions with promo offer. While testing on the simulator the expiration date for entitlement with promo period was as expected - 7 days plus from the date of purchase (1 week free trial). But when I switched to testing on a physical device I got some issues with my code not working correctly. I’ve managed to refactor methods for showing offering details on my Paywall and the purchase of subscriptions with promo period. in “Purchases.shared.getOfferings” method changed from package.storeProduct.introductoryDiscount to package.storeProduct.discounts.first because otherwise it was not showing this 1-week free trial period. in purchasing: before performing purchase, I check if there is a discount available or not, and if available - make purchase with this method: Purchases.shared.purchase(package: package, promotionalOffer: promoOffer) { (transaction, customerInfo, erro
We have a problem where after applying a 20% / 30% discount on a product we do not fall within a price tier in Apple. For example we have 1 consumable product that is priced at £79.99. We offer 20% discount code’s to our users so we came up with a workaround to create a new product in Apple with a price of £63.99. i.e. 20% off £79.99. However we have come into an issue as Apple does not offer a price tier of £63.99. The solution we came up with, was to create a a new product with the value of £8.99 and allow the user to buy 8 of these products at the same time i.e. that would add up to £63.99. But from looking at the RevenueCat `purchaseProduct` API in React Native it does not allow you to set a quantity. Do you know if there is another way of achieving this using RevenueCat or even better, a way of using a custom price for a product in iOS?
Hello, Using func isProGranted(customer: CustomerInfo) -> Bool { if let entitlement = customer.entitlements["PRO"] { return entitlement.isActive } return false }In the Delegate Callback extension SubscriptionViewModel:PurchasesDelegate { func purchases(_ purchases: Purchases, receivedUpdated customerInfo: CustomerInfo) { self.isPRO = manager.isProGranted(customer: customerInfo) }}The problem is, it returns true when we Cancel Subscription or when it is automatically expired
I would like to have more than 2 offerings in my experiment. Is that possible? If not, can I create multiple experiments for one project
Hello everyone,I apologize for the double post, as there was an issue with the previous one where some of my private data got published unintentionally. I appreciate your understanding.Now, I'm facing a challenge while implementing subscription functionality using RevenueCat, and I could really use your guidance. Here's the scenario:When a user clicks on any subscription plan on the paywall, I disable the buttons to prevent multiple clicks. However, I'm unsure how to handle the situation when the user closes the subscription sheet without completing the subscription process. This leaves them on the paywall without re-enabling the buttons.I would greatly appreciate any advice or suggestions on how to catch this event or find a solution that allows me to re-enable the buttons in this specific case. My goal is to ensure a seamless user experience, even when users accidentally close the subscription window.Button(action: { isProcessing = true if let package = subscriptionManager.pack
First of all, Great product team!This is for macOS.I want to make sure following:Deny sandbox entitlements on AppStore AppStore reviewer should be able to access pro content after they do paymentLets say I use customerInfo.entitlements.activeInCurrentEnvironment[“pro”] to unlock access, what will happen when AppStore reviewer tests payment flow to unlock access? I assume it will not work as that environment uses sandbox for payments.I tested this on TestFlight and activeInCurrentEnvironment looks for non sandbox entitlements and does not find one.Basically this code of checking sandbox env ignores macOS TestFlight and I assume will ignore AppStore review environment also:BundleSandboxEnvironmentDetector:var isSandbox: Bool {return path.contains("Xcode/DerivedData") Also if I am doing this filtering myself instead of activeInCurrentEnvironment:For macOS TestFlight detection this gist works: https://gist.github.com/lukaskubanek/cbfcab29c0c93e0e9e0a16ab09586996Does anyone know safe way to
Sorry if it was asked before, I searched but couldn’t find anything :(What is the best way to calculate the price for annual subscription per month/week? I want to show user, how much he/she will pay for an annual subscription each month or week.I see that there is a pricePerMonth property on StoreProduct and it calculates correctly, but it shows only the numbers, without currency symbols such as $.Thank you!
Hello,I see this is a very common problem. I have waited 4 days but I still get this error. I think I have created the service and pasted the JSON file correctly to RevenueCat. My question is if there is any way to check that the credentials are correct without having to make a transaction at source code level. How could I check if the credentials are working let’s say in an external way? If I re-create the keys and set a new JSON file, will I need to way again between 24-48 hours? Or this only happens when the service account is created? I would like to continue with the development but currently I am stuck since I cannot test some notifications due to the transactions being rolled back because of the credentials issue. Thanks.
Some of our subscription prices are round numbers like $15/yr however when I use the localizedPriceString in the Package class it shows the cents part as 00 e.g. $15.00 I just want the dollar amount if the cents part is 0. I tried modifying package.storeProduct.priceFormatter to hide the fractional part but it didn’t have any effect on the string in the package.localizedPriceString property. Is there some way to just show the localized price without the fractional part via the SDK? Thanks.
I’m running into a bit of an edge case where my app might allow duplicate subscriptions to occur:Our app is iOS only. For experimentation with pricing, I have 2 subscription groups setup in App Store Connect:Group A = has monthly/bi-monthly/yearly products at default prices Group B = has monthly/bi-monthly/yearly products at experimental pricesEach of these groups is put into an Offering, and an Experiment is setup to compare these 2 offerings.(I understand that I must use 2 subscription groups here, or users could manually cross-grade to the cheaper group)Our app does not use any anonymous App User IDs -- users must create an account before purchasing. We are using the “Transfer to new App User ID” behavior for purchases with multiple App User IDs.Starting with a fresh iOS Sandbox tester ID:Create account (App User ID) UA RevenueCat SDK logIn() with App User ID = UA Experiment drives user UA into Offering A User UA purchases a Monthly subscription from Group A at Price AAfter this, th
Hi,I am processing the REST JSON output from https://docs.revenuecat.com/reference#section-the-non-subscription-object . For a scenario I need the date when the user started the current subscription. As far as I understand the “original_purchase_date” provides the original date of purchase. This is fine as long as the user does not cancel and later re-subscribes. Is there a way to get the original purchase date of the re-subscription?Best regards,
I created a new in app product and add it to the offer list in reventcat, when trying to fetch the offerings list, I only can see the current offer: Is there something I can do to see it through revneucat? I’m using com.revenuecat.purchases:purchases:5.0.0-rc3 latest sdk
When is the flutter SDK going to support andriod billing SDK 6+? At the moment Im not able to get any products to show up that are not backwards compatible and the google play store only allows you to set one product/subscription as backwards compatible.My project is using the latest andriod billing SDK and the latest revenueCat flutter plugin. Just switched the Andriod configuration to only work with 6+ and I get the below error Error fetching offerings - PurchasesError(code=UnknownBackendError, underlyingErrorMessage=Backend Code: 7728 - This SDK version is not supported for this app., message='There was an unknown backend error.') If I have it to support 6+ and backwards compatibility I only get the one product for Andriod (iOS is fine)
Will the Unity SDK documentation be built out further? I feel it’s lacking information, especially on the 4.0 RC release.
Is it possible to retrieve data on customers who have cancelled their free trial but haven't proceeded to make a purchase? I would like to better understand their behavior and potentially reach out to them with targeted offers or incentives to encourage them to subscribe.Any guidance or suggestions on how to achieve this would be greatly appreciated.
Hi all,I haven't been able to find the answer to this specific case in the docs.When a user subscribes to a product that has an introductory offer (eg: 1 week free) and they then cancel thereby when the intro period runs out they won't be charged. My question is are they then eligible for a promotional offer?I am trying to implement a win back strategy for users that cancel their subscription and for this promotional offers work perfectly but I am also trying to nudge a user that has had a trial but canceled it into a discounted subscription Thanks so much
There was a problem with the store.at node_modules\react-native\Libraries\BatchedBridge\NativeModules.js:null in promiseMethodWrapperat node_modules\react-native-purchases\dist\purchases.js:null in __generator$argument_1at node_modules\react-native-purchases\dist\purchases.js:null in stepat node_modules\react-native-purchases\dist\purchases.js:null in fulfilledat node_modules\react-native\node_modules\promise\setimmediate\core.js:null in tryCallOneat node_modules\react-native\node_modules\promise\setimmediate\core.js:null in setImmediate$argument_0at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in _allocateCallback$argument_0at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in _callTimerat node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in _callReactNativeMicrotasksPassat node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in callReactNativeMicrotasksat node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:
Hi,We are adding iOS promotional offers to our app and want to track if someone has redeemed a promotional offer or not. From reading iOS docs they say that the receipt will return `promotional_offer_id` when a promotional offer is redeemed. Would it be possible to return this in the webhook event just like you do for `offer_code`? It would be super helpful for us.Thanks,Walter
HelloI updated spm to 4.19.0 and my purchases stopped tracking. I am using RevenueCat as observer mode. And I am using storeKit v2 to make purchases.If any advice, how do I restore purchase tracking?
Was reading through the RevenueCat SDK documentation, and was wondering if there are any added benefit to using the RevenueCat attribution features rather than using the ones supplied by the Facebook SDK. One thing that comes to mind is optimizing Facebook trial start events with trial complete events supplied by RevenueCat. Is this possible?
Hi everyone,My project uses RevenueCat with React Native and testing on Android. I have completed integrate SDK and setup play service credentials by following this https://www.revenuecat.com/docs/creating-play-service-credentials, all is success.I can call Purchases.purchaseProduct function without any error, but I just receive 1 or 2 purchase data on RevenueCat Dashboard and Webhook. Then there is no any next purchase data on dashboard and WebHook after that (calling Purchases.purchaseProduct is still success)I have tried to delete my project on RevenueCat, re-create play service credentials and then just receive 1 or 2 purchase data.Anyone has experienced this? I really need some help here. Thank you,
I’ve installed revenuecat for subscription product. It’s working well for iOS. For android It’s also working well when I’m trying it as a license tester.After after I made the app live on google play, calling Purchases.purchaseProduct() method throws the below error {"nativeStackAndroid":[],'userinfo":{"underlyingErrorMessage":"Error when fetching products.DebugMessage: An internal error occurred.. ErrorCode:SERVICE_UNAVAILABLE.""readable_error_code":"StoreProblemError",'readableErrorCode":"StoreProblemError','message":"There was a problem with the PlayStore."'code":2},'message":" There was a problem with thePlay Store."'code":"2""userCancelled":false,'line":59,'column’:1119,"sourceURL":"index.android.bundle"}The strangest thing is, it’s not showing when I’m trying to purchase as license tester. Any help would be highly appreciated.
Hello,On my app, when the user taps the Purchase button, the prompt for login with Apple appears asking for password. If the user doesn't remember his AppleID password and has to look it up on another app, he will send my app to background and open another app to search for the password. As soon as he goes back to my app I have a PURCHASE_CANCELLED error, and he has to restart the process, taping the Purchase button again. Is there a way for RevenueCat to not cancel the purchase when app goes to background in the middle of purchase process?Thank you,
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.