When using iOS 26.5 simulator to test my in-app purchase module, the products were loaded from my configuration file correctly, but calling purchase on the product would always return userCancellled outcome.
Changing to iPhone15 + iOS 18 simulator resolved this issue.