Skip to main content
Question

Trial dont shown in ios native purchase bottomSheet

  • November 18, 2025
  • 4 replies
  • 21 views

Forum|alt.badge.img+2

KMP SDK version 2.2.7+17.16.1


Dont understand how to include trial.

Here is how I fetch data

override suspend fun loadProducts(): List<Package> = suspendCoroutine { cont ->    Purchases.sharedInstance.getOfferings(onSuccess = {        val packages = it.getOffering("default")?.availablePackages        packages ?: cont.resumeWithException(            PurchasesException(                PurchasesError(                    PurchasesErrorCode.StoreProblemError,                    PurchasesErrorCode.StoreProblemError.description                )            )        )        cont.resume(packages!!)    }, onError = {        cont.resumeWithException(            PurchasesException(                PurchasesError(                    it.code, it.message                )            )        )    })}

 

Here is how I purchase
 

override suspend fun purchase(storePackage: Package): PurchasesError? =    suspendCoroutine { cont ->        Purchases.sharedInstance.purchase(            storePackage,            onSuccess = { transaction, customer ->                cont.resume(null)            },            onError = { err: PurchasesError, userCanceled: Boolean ->                cont.resume(err)            },        )    }But the problem is that I have added trial in app store. And in app I choose tral + weekly it opens native bootomSheet and there is no info about trial, only weekly subscription price

 

4 replies

joan-cardona
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • November 19, 2025

Hi ​@kamancho,

This is the sheet that comes straight from Apple - if you don’t see the trial there it can be due to two things:

  • The user is not eligible for a trial: Users can only use trials one time per subscription group. If you have already been subscribed then cannot redeem a trial again.
  • It’s wrongly configured in App Store Connect: Trials are Introductory Offers, make sure you have not confused them with a promotional offer.

Let me know if this helps!


Forum|alt.badge.img+2
  • Author
  • New Member
  • November 19, 2025

@joan-cardona 
I am testing with sandbox tester account.
Could my problem be that my subscriotions in app store in status “Ready to Submit”?


Forum|alt.badge.img+2
  • Author
  • New Member
  • November 19, 2025

@joan-cardona 

As I see in logs package contains trial, but native bottomShit dont show it

 

override suspend fun purchase(storePackage: Package): PurchasesError? =

            suspendCoroutine { cont ->

 

                KydraLog.info {

                    "intro: price=${storePackage.storeProduct.introductoryDiscount?.price?.formatted}, " +

                            "period=${storePackage.storeProduct.introductoryDiscount?.subscriptionPeriod?.unit}, " +

                            "numPeriods=${storePackage.storeProduct.introductoryDiscount?.subscriptionPeriod?.value}, " +

                            "type=${storePackage.storeProduct.introductoryDiscount?.paymentMode}"

                }

 

                Purchases.sharedInstance.purchase(

                    storePackage,

                    onSuccess = { transaction, customer ->

                        cont.resume(null)

                    },

                    onError = { err: PurchasesError, userCanceled: Boolean ->

                        cont.resume(err)

                    },

                )

            }


Here is log result:

intro: price=USD 0.00, period=DAY, numPeriods=3, type=FREE_TRIAL


joan-cardona
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • November 28, 2025

Hi ​@kamancho,

The products should be in “Ready to submit” when testing, they return the trial correctly. Did you already have a trial when using this sandbox account? They work the same way as in production, it can only be redeemed once.

Best,