Can't get Promotional Offers to work

Badge +3

I have followed instructions from the official documentation ( but I can’t get promotional offers to appear.

I’m using a sandbox user, which has an expired annual subscription. When I call any of these methods, I either get 0 offers or it says that the user is not eligible for the promo offer (pay up front, x% off first year).

let d = package.storeProduct.discounts (returns 0)

let e = await Purchases.shared.checkTrialOrIntroDiscountEligibility(product: package.storeProduct) (returns ineligible)

let promoOffers = await package.storeProduct.getEligiblePromotionalOffers() (returns 0)


Here are the entitlements for the user:





latestPurchaseDate=Optional(2022-05-28 12:36:19 +0000),

originalPurchaseDate=Optional(2022-05-27 16:03:13 +0000),

expirationDate=Optional(2022-05-28 13:36:19 +0000),

store=Store(rawValue: 0),,


unsubscribeDetectedAt=Optional(2022-05-28 12:36:07 +0000),


ownershipType=PurchaseOwnershipType(rawValue: 0)


What I am doing wrong?

4 replies

Badge +3

So I created a new sandbox user and since it seems like it is not possible to speed annual subs, I also created a monthly promo offer (pay up front, 12 months).

Then, I went in Settings > App Store > [sandbox user] > Manage and cancelled the subscription.


After 3 minutes, checkTrialOrIntroDiscountEligibility for that new sandbox user returns eligible but there are still no discounts available via package.storeProduct.discounts nor package.storeProduct.getEligiblePromotionalOffers().


However, I see this in the console logs:

[Purchases] - DEBUG: ℹ️ Vending Offerings from cache

Is this the problem? Somehow my app isn’t getting a fresh offerings list?


I have the same problem with React Native, offerings list isn’t updated after changes. 

Badge +3


Badge +1

Me too