Get help with your SDK implementation.
Recently active
I add a free trial offer to an existing base plan, which is been online for a few months. But I cannot get free trial data from SDK. Using code below:val freeTrialOffer = packageItem.product.subscriptionOptions?.freeTrialI have checked this answer below:I use a new device with an account never subscribe any plan before. The free trial offer eligibility criteria is Developer determined.
I am using Revenue Cat to set up in app purchases in my React Native app. I want to build an API that extends the susbcription renewal date using the App Store Server API for my iOS users. This is the PUT API call:https://api.storekit.itunes.apple.com/inApps/v1/subscriptions/extend/{originalTransactionId}The path parameter includes the originalTransactionId (required, the original transaction identifier of the subscription receiving a renewal date extension). However, I am unable to find the originalTransactionId on Revenue Cat.Here is the Apple documentation: https://developer.apple.com/documentation/appstoreserverapi/extend_a_subscription_renewal_dateHow do I find the originalTransactionId?
Hey,I’m formatting price strings that are returned from RevenueCat (localizedPriceString) in my iOS build but I also need access to the users app store region code to format the currency to and from a floating point number while keeping the correct currency formatting before and after.The number formatter in xcode uses either ‘Locale.current’ (which the user can change in the phone settings leading to possible incorrect formatting) or a manually specified region code. I need the app store region code to ensure the values that I format are returned in the correct currency format.Is there anyway RC can supply this?Cheers,Matt.
I’ve set up a synced StoreKit Configuration file for my app. On simulators it fetches all the offerings without a hitch, but when running on device it doesn’t. Is this a known limitation or is there something I’ve missed?
Hey,I am currently working on implementing Offers and Discounts into my paywall for flutter, and I'd appreciate assistance with a couple of issues I've encountered.Firstly, everything appears to be working as expected for the AppStore. When I inspect the StoreProduct object, I can see that both the introductoryPrice and discounts fields correctly reflect my setup on AppStore Connect. However, the situation is different for Android/GooglePlay. It seems that only the introductoryPrice is being set, and the discounts field remains empty. Can you confirm if my assumption is correct, and Android never populates the discounts field since the PlayStore does not offer that capability?Secondly, I am a bit confused about how to handle purchases of a Package using discounts and intro prices. On iOS, I successfully used the method Purchases.purchaseDiscountedPackage to buy a package using the StoreProductDiscount. However, I'm unsure how to make a purchase at the introductoryPrice. Could you pleas
I occasionally get an error when fetching offerings. This doesn’t only occur in debug but on the production build as well:2022-11-09 16:03:23.930001-0500 MyApp[39824:849629] [Purchases] - DEBUG: ℹ️ API request started: GET /v1/subscribers/$RCAnonymousID:841e99c6a78a4a14b3c78cfd9b256d73/offerings2022-11-09 16:03:24.005633-0500 MyApp[39824:849650] ATS failed system trust2022-11-09 16:03:24.005682-0500 MyApp[39824:849650] Connection 11: system TLS Trust evaluation failed(-9802)2022-11-09 16:03:24.005738-0500 MyApp[39824:849650] Connection 11: TLS Trust encountered error 3:-98022022-11-09 16:03:24.005770-0500 MyApp[39824:849650] Connection 11: encountered error(3:-9802)2022-11-09 16:03:24.006350-0500 MyApp[39824:849650] Task <CF90CCFF-F001-4DE9-BB4F-1ECE50D343C9>.<4> HTTP load failed, 0/0 bytes (error code: -1200 [3:-9802])2022-11-09 16:03:24.006618-0500 MyApp[39824:849634] Task <CF90CCFF-F001-4DE9-BB4F-1ECE50D343C9>.<4> finished with error [-1200] Error Domain=NSUR
Is there an ETA on when the `purchases-unity` package might be updated to add support for the newer-style Android subscription configurations? My team is getting ready to implement subscriptions for the Android SKU of our Unity app, and I’d rather not redo it all from scratch in a few weeks. :)
When is the update for Google Play Billing Library 5 planned for the Unity wrapper? It seems that the included Android version of RC is a major version behind.Unity wrapper: Android 5.8.2Native Android: 6.5.0
See the link https://developer.apple.com/app-store/promoting-in-app-purchases/Also in app store:App Store Promotion (Optional)To promote this subscription on the App Store, add a 1024 x 1024 pixel promotional image below. It'll appear on your app's product page and when a customer redeems an offer code. Promotional images may also appear in search results or be featured by the editorial team. You can promote up to 20 in-app purchases at a time. Make sure your app supports either PurchaseIntent or paymentQueue(_:shouldAddStorePayment:for:). Learn MoreFound that it is possible with native code.But on react-native sdk i don’t know is it possible if not want to feature request. Thanks.from a different library solution does revenuecat have this ?https://github.com/iaphub/react-native-iaphub#onbuyrequest---event-triggered-when-a-purchase-intent-is-made-from-outside-the-app-like-a-promoted-in-app-purchaseedit:i found that flutter sdk andreact-native handles this problem via addShouldPurchaseP
Hello,I’m receiving the following errorRNPurchases.purchasePackage was called with 4 arguments but expects 5 arguments. If you haven’t changed this method yourself, this usually means that your versions of the native code and JavaScript code are out of sync. Updating both should make this error go away.when callingPurchases.purchaseDiscountedPackage(package, paymentDiscount)with the following SDK versions:react-native-purchases 6.3.0 PurchasesHybridCommon 5.3.0 RevenueCat 4.24.1When I append null as an argument in the purchases.js file as part of the method’s definition, similar to the regular purchasePackage method...RNPurchases.purchasePackage(aPackage.identifier, aPackage.offeringIdentifier, null, discount.timestamp.toString(), null)...the error goes away, but I get a rejection with the following content instead:{ "code": "2", "message": "There was a problem with the App Store.", "domain": "RevenueCat.ErrorCode", "userInfo": { "readableErrorCode": "STORE_PROBLEM", "readabl
I am using the Cordova RevenueCat plugin. I've read through the documentation https://www.revenuecat.com/docs/ios-subscription-offers#promotional-offers. The code examples there don't mention Cordova/Ionic. So then, I've looked through the Cordova plugin source code but was still unable to find out how to let a user purchase a product with a promotional offer. Is it possible to allow a user to utilize a promotional offer using the Cordova plugin? If so, how?
Please forgive my poor English.I am currently using react native,There is no purchase issue in the ios local test (Real device).Currently, it is not possible to proceed with the payment with the following error message on android (Real device).============================================================DEBUG: ℹ️ Vending Offerings from cacheDEBUG: ℹ️ Checking if cache is stale AppInBackground falseDEBUG: ℹ️ Offerings cache is stale, updating from network in foregroundDEBUG: 😻 Offerings updated from network.DEBUG: 💰 Purchase started - product: com.revenuecat.purchases.models.ProductDetails@8d0ec795 - offering: standardDEBUG: 💰 Purchasing product: beans_12DEBUG: ℹ️ API request started: GET /subscribers/%24RCAnonymousID%3A0e02ff09c4ad4e249624e9c4056b9672/offeringsDEBUG: ℹ️ API request completed with status: GET /subscribers/%24RCAnonymousID%3A0e02ff09c4ad4e249624e9c4056b9672/offerings 304DEBUG: ℹ️ Requesting products from the store with identifiers: beans_12DEBUG: ℹ️ Products request
I have installed the lasted version of revenue cat in my expo app and all work fine in IOS but when I created a build to test on android it crashed with ```Your app just crashed. See the error below.com.amazon.a.a.o.a.b: Executing thread must be thread: 2, was: 206at com.amazon.a.a.o.a.a.a(Assert.java:59)at com.amazon.a.a.o.a.a.a(Assert.java:48)at com.amazon.a.a.o.a.a.a(Assert.java:31)at com.amazon.a.a.k.c.a(ResourceManagerImpl.java:50)at com.amazon.a.a.k.c.<init>(ResourceManagerImpl.java:34)at com.amazon.a.a.b(AppstoreSDK.java:171)at com.amazon.a.a.<init>(AppstoreSDK.java:155)at com.amazon.a.a.a(AppstoreSDK.java:234)at com.amazon.device.iap.PurchasingService.registerListener(PurchasingService.java:89)at com.onesignal.TrackAmazonPurchase.setListener(TrackAmazonPurchase.java:107)at com.onesignal.TrackAmazonPurchase.<init>(TrackAmazonPurchase.java:84)at com.onesignal.OneSignal.handleAmazonPurchase(OneSignal.java:978)at com.onesignal.OneSignal.init(OneSignal.java:855)at
I created a subscription offer that the developer decides when to apply it. In the docs on how to use it there is this Kotlin example PurchaseWith(offer) and then you can do it like that. I am looking in the Flutter SDK and I can’t find a way to do it. purchaseDiscountedPackage() and other functions say “iOS only”. I want to apply a discount named x to this line:Purchases.purchasePackage(offerings!.current!.monthly!);
I have implemented Consumable In app Purchase in my Android and IOS app. When I implemented only in Android the price of products were correctly appearing. When I configure app with iOS now I’m getting IOS products price inside my Android App. I have created two different apps separately for Android and IOS platforms and used different keys inside app on platform conditions based to display in app products with respect to platforms.
Hello, when a customer buys, 'type": "NON_RENEWING_PURCHASE" appears in the Webhook Events section, but when there are returns, no data is sent to my panel, how can I overcome this problem? When the return is made, I expect it to come to my revenuecat panel as 'CANCELLATION, but despite the return, no data is coming to my panel.
I read this doc which seems to suggest it is a requirement:https://www.revenuecat.com/v2.3/docs/macosiOS and macOS (including Catalyst) use different bundle Ids, meaning any purchase on either platform completely separate from each other. To share a subscription across both platforms a consistent user identifier needs to be set in the Purchases SDK.But, I also saw this other Q&A that seemed to indicate that a restore purchases button will allow the user to access their subscription between devices if they are logged in to the same Apple ID. So wanted to clear up for myself - can an iOS app, macOS app, a watchOS app, and an iPad app that only use anonymous IDs but logged into the same Apple ID share a subscription regardless of on what device the purchase was made?
I have a SwiftUI app that has iOS and macOS versions. They share the same code except for the the initial OS specific app view as well as user settings view.All 5 of my in-app purchases are consumables There are no subscription items.The iOS version of my apps works fine and I have been able to successfully make sandbox purchases. It populates the various purchases on the “purchase screen” and everything works as expected.The problem is the Mac app. It will not load and populate any purchases. This has me stumped because the code is the exact same code as used in the iOS version. When I run the iOS version of the app, I see no errors at all in the debug window. But when I run the Mac version, I get the following error every few seconds.2023-07-03 15:10:42.801947-0700 TurboAI[81346:6961607] [Purchases] - ERROR: 🍎‼️ Store products request failed! Error: Error Domain=SKErrorDomain Code=0 "An unknown error occurred" UserInfo={NSLocalizedDescription=An unknown error occurred, NSUnderlyingE
During calling Purchases.logIn(userUid);I very often get an error : PlatformException (PlatformException(10, Error performing request., {code: 10, message: Error performing request., readableErrorCode: NetworkError, readable_error_code: NetworkError, underlyingErrorMessage: thread interrupted}, null)) I do not have any network connection problems and after restarting the app problem is gone. Does anyone face such problem too?
I have an Annual Subscription with one base plan and offer 7 days of free trial. According to migration note, I changed :product.getFreeTrialPeriod()toproduct.getSubscriptionOptions().getFreeTrial()Now the free trial is not shown in my app. Both the base plan & the offer are backward compatible.
Dear all,I am trying to implement promoted IAPs feature by using PurchasesDelegate. I have the latest iOS SDK installed. Whenever I use the test link as described here: https://developer.apple.com/documentation/storekit/in-app_purchase/testing_promoted_in-app_purchases, nothing happens in the delegate method, and all I receive from the console is this:[Daemon] [SKPaymentQueue]: Tried to send purchase intent: pretty.ios.avatarai.monthly to delegate, delegate does not respond to method paymentQueue:shouldAddStorePayment:forProductDelegate method being used is:func purchases(_ purchases: Purchases, readyForPromotedProduct product: StoreProduct, purchase startPurchase: @escaping StartPurchaseBlock) { startPurchase { (transaction, info, cancelled, error) in } }Can anyone give me a hint what I am doing wrong? Implementation with previous versions of SDK were working, with old delegate methods.Aleksandar
Yesterday I have published my first app on the Appstore and all my clients faced the same problem. When they made a subscription for trial or even purchase - the operation ended up with success. They received the receipt from Apple about it or money were taken from their account (in case of in-app purchase) but then they fall into this error: "Purchase succeeded but program is not active". From my code this means that entitlement is not active. here is the code: Purchases.shared.purchase(package: package) { (transaction, customerInfo, error, userCancelled) in if let error = error { completion(.failure(error)) print("error - failed to complete the purchase") } else { if customerInfo?.entitlements[program]?.isActive == true { completion(.success(true)) } else { print ("Purchase succeeded but program is not active") let error = NSError(domain: "com.ex
Offerings offerings = await Purchases.getOfferings(); Offering? offering = offerings.current;List<StoreProduct> prds = await Purchases.getProducts(['identifier']);print("products " + jsonEncode(prds));print("packages " + jsonEncode(offering?.availablePackages));have added benefits to the subscription in play store dev console in the flutter app when fetching packages or products like above, i am missing description and benefits is there a different SDK API that i need to look into ?
Hey, I have a problem with auto-renewable subscriptions. When I click on purchase it trigger the Apple bottom sheet with subscribe, then when I click on subscribe it says successfully purchased but it doesn’t complete the transactions. Debug shows me this → [Purchases] - INFO: 💰 Finishing transaction 'number' for product 'identifier'. I test it in simulator with store kit configuration
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.