I’m developing a iOS Flutter app that is available, among others, in USA and Spain.
I’m having correct/incorrect prices on my Consumable purchases depending on the Region
The long story:
I have a paywall for my PRO subscription that it’s working well, showing the same prices I’m configuring in the App Store Connect UI for the different subscription options (depending on subscription duration). AFAIK this is true for all regions I’ve tested.
But now I’m developing a new paywall with three consumable purchases that essentially represents bulk PRO license packages (25 PRO licenses, 50 PRO licenses and so on).
The main issue here is that when I’m showing the new paywall using Spain region (the main one) the configured prices doesn’t corresponds to the ones configured in App Store Connect. More precisely, all prices are incremented by a nearly ~10% percent. The currency (EUR) looks good.
But the same code & config on the iOS simulator (an “stock” iPhone 13 with iOS 15, I haven’t configured anything about StoreKit) shows the USA version paywall with expected prices, matching 1-1 the ones that I’ve configured in App Store Connect.
Does anyone have ever had any similar issues with App Store? I’ve opened a support ticket in Apple but they takes forever to solve it and I haven’t had any feedback yet.
Best answer by codyView original
I wasted half a day on this very issue. For me, the sandbox would return the selected IAP tier -1, i.e. the IAP was set to Tier 9, and in sandbox it would return Tier 8. I do hope
@cody is right about production… 😓
I could confirm it’s not a RC issue — I’ve queried App Store Connect directly via StoreKit 2, and I got the same thing back. (Sorry for doubting you, RC.😉)
What a mess.
Our SDK pulls the prices directly from what Apple sends for the product, so it’s possible that if you have recently changed prices then it hasn’t had time to propagate.
Also, if you’re testing in sandbox mode, it wouldn’t be out of the ordinary for things to not work exactly like it would it production. Apple’s non-production environments are notoriously unreliable, and we’ve even seen cases of TestFlight builds only returning US prices even if the region is different on-device.
I wouldn’t expect this to persist into production- especially once the system in-app purchase sheet is presented, it should reflect the expected prices for that region. I’d recommend testing the purchase flow itself, making sure that the purchases are being processed correctly.
Does that make sense?
I am facing (I think) the same problem
I set up revenue cat for both iOS and Android in a flutter app. I am currently in the internal testing phase, both on PlayStore and on TestFlight.
On android I see all the correct prices, while on iOS I see some strange behavior.
I have 4 prices for consumables packages: (in euros)
On iOS I see:
What puzzles me is that I fail to find any correlation between the two values. I thought of some currency problem, but according to my log console these values are all correctly displayed in €.
Reading your answer, I should that these behaviors are due to being in testing phase, am I right?
My question is: should I trust there is no problem and publish my app as it is? Is there any other test I can do to be sure there is no other problem?