Get help with your SDK implementation.
Recently active
Hi, I created a new subscription (yearly) in the Play Console. I attached an offer to it: 7 day free trial. The problem is that the freeTrialPeriod I receive from RevenueCat is null. Am I missing something here?
When does RC plan on releasing an API for creating paywalls?My app allows users to subscribe to multiple creators and each creator needs their own paywall. It is not scalable to manually make a new paywall every time we add a new creator. We already use the API to create the entitlement, product and offerings for a new creator. It makes sense to add an API to create the paywall as well. Alternatively, it would be nice to be able to re-use or duplicate an existing paywall in the RC dashboard.
I’m currently trying to develop against the beta version of the v2 api. I had hoped it was going to allow me to get information that the v1 version didn’t provide but it seems even harder to use. Am I missing something or is there no no way to get the equivalent of the CustomerInfo object. In v1 that would allow me to see all the users purchases and subscriptions but it seems in v2 I have to query for the subscriptions and purchases separately. Also, are the webhooks going to be updated to include the subscription id parameter that’s now in the subscrition object returned from the v2 webhook?
Hi all,As far as I can tell from the forums and docs, this is supposed to work in terms of setting some automatic updating of the customerInfo via listeners, but I can’t make it work in my app (React Native android). referring to addCustomerInfoUpdateListener() in this case..https://www.revenuecat.com/docs/customers/customer-info#listening-for-customerinfo-updates Purchases.getCustomerInfo() works but the listener which is supposed to update once the subscription time is over (5 minutes in test mode), isn’t triggering anything. I’m not sure if this really has been resolved or not and would love for someone to point to some working example that I can understand, besides the docs which are relatively minimal for this use case. The only thing I can think of now is to have a 5 minute setTimeout() in my app but that seems far from ideal.. :/
Our testflight apps and local dev app works just fine. The IOS and android version are showing White Screen of Death on visiting screen with Purchases. It worked before but now it doesnt. The app freezes with white screen on each visit of purchase screen by any user.
The title really says it all. Purchases.getCustomerInfo() shows an active subscription even though it expired hours ago. I even tried deleting the Sandbox customer in RC, but it still queries as having an active sub.latestExpirationDate shows "2024-06-03T20:44:00.000Z”. Is there any way to prevent me from having to wait so long for this test sub stop showing as active?
I am using EAS Build development IOS (not simulator) and when making a purchase and filling out apple ID sign in info, I get the following error:[Error: There was a problem with the App Store.]I have filled out all forms, agreements, tax info, and bank info on Apple Store Connect.I am wondering why this error is happening. Here is my code to make the purchase: const handlePurchase = async (num) => { try { const { customerInfo } = await Purchases.purchaseStoreProduct(product); console.log(customerInfo); } catch (e) { if (!e.userCancelled) { console.log(e); } else { Alert.alert("Cancelled", "Purchase has been cancelled."); } } };
Hey Everyone,I have a problem, I get this Error when I try to fetch Products: Error: There is an issue with your configuration. Check the underlying error for more details.This Happens with Android.I tried to look up the problem but couldn’t find a specific solution. any help from anyone? This is my code:
Hi there,I have checked that my offerings are not nil & I can fetch all other data so far, but the subscriptionPeriod is throwing nil every time & I am stuck at what else to do. import SwiftUIimport RevenueCatstruct PaywallView: View { @Environment(\.dismiss) private var dismiss @State var currentOffering: Offering? var body: some View { NavigationView { VStack { // Header VStack { Text("🌟 My Yarn Pal Pro 🌟") .padding(.top) // Close Button HStack { Button { dismiss() } label: { Image(systemName: "multiply") } .padding(.horizontal) Spacer() } } .ignoresSafeArea()
i can pay in testflight, can't in prod, why?
Hello, since Tauri v2 now builds iOS/Android apps, and it doesn’t have any In App Purchase support/plugin, it’s possible to implement RevenueCat in Tauri?
Hello,My iOS app features a rather intricate subscription model. Users have the option to subscribe monthly or annually, with each subscription period granting them a specific number of credits (e.g., 100 credits/month or 1200 credits/year). Ideally, customers should receive these credits immediately upon their initial subscription or each time their subscription renews automatically. However, the standard subscription options don't support this functionality with simple settings, necessitating a custom solution on my part as the developer.Firstly, I'm wondering if RevenueCat offers a straightforward solution to implement this subscription model? I've searched online resources but haven't come across any suitable solutions.Secondly, if there isn't a simple solution available, I'd like to outline my proposed approach for addressing this issue and inquire about how I can achieve it with RevenueCat's assistance. My plan involves crediting the users' accounts each time they subscribe or re
ITMS-91053: Missing API declaration For NSPrivacyAccessedAPICategoryUserDefaultsI have updated the revenuecat dependency to the latest 4.41.2Still there is no mention of the Userdefaults usage in privacy report. Can see privacy report on purchase history. Where as Userdefaults comes under additional data. Should we be manually adding it ?
Neither Purchases.getCustomerInfo or Purchases.getProducts display the products.I did the Entitlements and Products on App Store Connect first and then imported them so I know the names are correct. My only assumption now is that I am required to upload the archive build to App Store Connect before this will work maybe.async subscriptionStatus() { try { const customerInfo = await Purchases.getCustomerInfo(); console.log('customerInfo ', customerInfo); } catch (error) { console.log('customerInfo error ', error); } try { const productIds = ['enterprise_sub_v2', 'professional_sub_v2', 'starter_sub_v2']; const products = await Purchases.getProducts({ productIdentifiers: productIds, type: PRODUCT_CATEGORY.SUBSCRIPTION, }); console.log('products ', products); } catch (error) { console.log('products error ', error); } } async restorePurchases() { try { const customerInfo = await Purchases.restorePurchases(
I’m not seeing the majority of my facebook events coming through on the facebook side, all of the events I’ve checked being sent from RevnueCat are coming from the android app.Was wondering if there’s any special setting needed to send these from iOS? Seems like it should all be handled between RevenueCat and Facebook, all other iOS data is flowing properly.
My app has a paywall post login - I need to be able to have the following : Person A has a google/apple account - uses App Account A - needs a subscriptionPerson B has a google/apple account - uses App Account A - needs a subscriptionPerson A has a google account - has Account A and Account B - needs a subscription for both is this possible with RevenueCat?
Hi, experts,I have iOS app and would like to show currency by using RevenueCat SDK (package.storeProduct.currencyCode). I have set up currency and price in Apple Store such as below, product/entitlement/offering in RevenueCat and so on so forth. But I can only get USD instead of TWD.Do I need to set up or miss anything in Apple Store? Or that SDK is not the right one to use?Please advise. Thank you.Regards,Joey
Hello, I’m having really a weird problem that i cant seems to find a solution for it.So i followed the docs and i duplicated the scheme and and i use storekit for 1 scheme and the other no. when i use storekit file i can do purchases on simulator and the products are fetched but not on real device. but when i dont i can fetch the offering on my real device and make purchase but i cant make purchase on simulator. thats why our app got rejected i’m really confused. anyone can help please?
Hello,Your system fully Down since 8 Hours. No WebHook Hits, no Recent Purchase Showing in Overview (Dashboard) , not working.please fix it as soon as possible. I m in big trouble.
I am trying to repurchase IAP item via the paywall. My paywall offers user with subscription as well as non subscription options. However, if the user has already purchased it once, the paywall do not allow user to purchase it again. It logs error message “ Ignoring purchase request for already subscribed package” How can I make this possible?
Is there any way using the v1 (or v2) API to check more directly whether an entitlement is active? The SDK has something like if !customerInfo!.entitlements.active.isEmpty but it seems like the API just returns something like: "entitlements" : { "premium" : { "expires_date" : "2024-04-23T14:43:37Z", "grace_period_expires_date" : null, "product_identifier" : "monthly", "purchase_date" : "2024-04-23T14:38:37Z" } when hitting the GET /subscriber endpoint. This means I have to check the expires_date against Date.now() or something like that which feels clunky rather than having the attribute calculated directly on the API.
Hey guys, I’m getting empty list of products after following all the quick start tutorial and also the thread below: Here is the logs I have:2022-08-30 20:44:24.710 8209-22767/com.crediswap.crediswap D/[Purchases] - DEBUG: ℹ️ Debug logging enabled2022-08-30 20:44:24.711 8209-22767/com.crediswap.crediswap D/[Purchases] - DEBUG: ℹ️ SDK Version - 4.6.12022-08-30 20:44:24.711 8209-22767/com.crediswap.crediswap D/[Purchases] - DEBUG: 👤 Initial App User ID - null2022-08-30 20:44:24.711 8209-22767/com.crediswap.crediswap D/[Purchases] - DEBUG: 👤 Identifying App User ID: $RCAnonymousID:36244bb505c14d0c8f5accb0d5a7f8a02022-08-30 20:44:24.713 8209-22767/com.crediswap.crediswap D/[Purchases] - DEBUG: ℹ️ Deleting old synced subscriber attributes that don't belong to $RCAnonymousID:36244bb505c14d0c8f5accb0d5a7f8a02022-08-30 20:44:24.714 8209-22767/com.crediswap.crediswap D/[Purchases] - DEBUG: ℹ️ Listener set2022-08-30 20:44:24.714 8209-8209/com.crediswap.crediswap D/[Purchases] - DEBUG: ℹ️ App f
Hi,We have a back-end protecting routes based on the subscription status of the user. If user has a subscription, middleware allows to access. To ensure it, after purchase or any other transaction, Revenuecat sends webhook to our server and we are comparing the expiration dates and change the subscription status of user on our server by sending Revenuecat rest api.However, in the initial subscription, if user make purchases and tries to see premium routes immediately in which webhook doesn’t recieve to our server; user may not see the premium content. In this case i have two questions:Revenuecat paywall waits webhook to be sent to be closed? If paywall waits for sending webhook to be closed, no problem. If not, should we make a control on our server by sending request to Revenuecat rest api when the paywall result is purchased?What should our approach be? We know that we mention about very small milliseconds but we have to consider each possibility that may affect the user experience.
My app retrieve subscription status when the app startsconst customerInfo: CustomerInfo = await Purchases.getCustomerInfo(); console.log('current time', getDateTimeDisplayString(new Date().getTime())); console.log('customer info when loading the app', customerInfo);however, it always loads the last cached data in my ios simulator LOG current time 2024-04-22 19:35:32 LOG customer info when loading the app {"activeSubscriptions": [], "allExpirationDates": {}, "allExpirationDatesMillis": {}, "allPurchaseDates": {}, "allPurchaseDatesMillis": {}, "allPurchasedProductIdentifiers": [], "entitlements": {"active": {}, "all": {}, "verification": "NOT_REQUESTED"}, "firstSeen": "2024-04-22T23:30:56Z", "firstSeenMillis": 1713828656000, "latestExpirationDate": null, "latestExpirationDateMillis": null, "managementURL": null, "nonSubscriptionTransactions": [], "originalAppUserId": "56de1eda-4738-a098-55b8-041900dc5f37", "originalApplicationVersion": null, "originalPurchaseDate": null, "originalPurch
As per subject, I am testing revenue cat integratoin on the ios simulator, but the prices are only showed in USD currency code.Any idea? My app is availble in multiple language or country. It is a limitation of the simulator and then on real device in production will be ok? In such a acase how revenue cat will know the price? Myabe did I miss configuration on Apple side? Thanks for any support.Here a sample if what I get rom the revenue cat api: LOG {"identifier": "$rc_monthly", "offeringIdentifier": "base", "packageType": "MONTHLY", "product": {"currencyCode": "USD", "description": "Remove Ads", "discounts": [], "identifier": "01_month2", "introPrice": null, "price": 2.9899999999999998, "priceString": "$2.99", "productCategory": "SUBSCRIPTION", "productType": "NON_CONSUMABLE", "subscriptionPeriod": "P1M", "title": "1 Month"}} LOG {"identifier": "$rc_three_month", "offeringIdentifier": "base", "packageType": "THREE_MONTH", "product": {"currencyCode": "USD", "description": "Remove Ads
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.