I think maybe you have misunderstood slightly.
It is perfectly acceptable for your game to say “you get a blue player for 700 coins or 0.99$” but only if the price the user will pay is actually 0.99$.
You cannot say the price is 0.99$, if when the IAP popup appears it says 1.24$. However what you can do is find out the prices BEFORE you show your own UI that shows a price. You can do this by using the store.loadProducts() function to find out the exact price. This will give you the user’s local price as well as the currency symbol. Then insert that price into your own UI.
Here is a very simplified version of what I mean (not tested at all but it should give you an idea):
local myIAPItemCodes = { "com.mygame.blueplayeriap", "com.mygame.redplayeriap", "com.mygame.greenplayeriap", } local function loadProductListener(event) for i=1, #event.products do local currentItem = event.products[i] print(currentItem.title) print(currentItem.description) print(currentItem.localizedPrice) print(currentItem.productIdentifier) print(currentItem.priceCurrencyCode) if currentItem.productIdentifier == myIAPItemCodes[1] then setThePriceFoPurchasingBluePlayer(currentItem.localizedPrice) elseif currentItem.productIdentifier == myIAPItemCodes[2] then setThePriceFoPurchasingRedPlayer(currentItem.localizedPrice) elseif currentItem.productIdentifier == myIAPItemCodes[3] then setThePriceFoPurchasingGreenPlayer(currentItem.localizedPrice) end end end store.loadProducts( myIAPItemCodes, loadProductListener )