Apple in-app purchase amount varying From Euro to Dollar - ios

Apple in-app purchase currency conversion from euro to dollar not seems correct. I have declared in euro as €19.99 but in dollar it shows $16.99.
In App store connect, I created in-app purchase consumable product with price of €19.99 but when I try to buy this product from United States It asking $16.99. Conversion is not seems correct. Someone please explain me how this money conversion will work and how to make same price in both currency?

Related

How to fetch InApp Purchase Product Prices in Local currency in iOS?

I am implementing InApp Purchase Products in AppStoreConnect where we get to choose the price in Dollars($). Let's say I have created a Product with the Price of $0.99 which is equivalent to £0.89. Now I want to display the equivalent price of United Kingdom in my App. But unfortunately All I am able to achieve is to get £0.99 from different solutions that provides locale price based on the settings. But this is wrong as I want to ideally display the actual price in GBP which is only 0.89 and not 0.99.
Any help in resolving this would be very helpful.
P.S:- I have tried solutions from How to get locale currency price for in-app purchases in iOS? but none seem to work properly.

Get subscription price from a SKPaymentTransaction

My app offers in-app subscriptions. When a subscription is bought or renewed, the app is notified with a SKPaymentTransaction, that contains in-app product identifier. I can query that in-app id to retrieve the purchased SKProduct. That product may contain a regular price, an introductory price (or trial), and one or more discount prices (since iOS 12.2). In case of a renewed subscription, the current regular price may differ from the price the user had been subscribed in the past.
My question is how to tell which is the price the user has paid:
current regular price;
introductory price/trial;
discount price;
something else, available in the past for that user.
You can't get the actual price of the transaction directly, but you can look at the product price and some other receipt fields to approximate what the user paid.
You'll need to save the price and introductoryPrice from the SKProduct then you can look at the is_in_intro_offer_period flag on the SKPaymentTransaction to determine if the price field or introductoryPrice is what the user will be charged.
Note that the SKProduct prices will be in the user's currency so you should be saving the locale too if you want to convert everything to the same currency.
The fact that price is not in a receipt still blows my mind :)

Apple Pay iOS Swift Apply Coupon

I have In-app purchase in my application but now I want to apply the backend manageable coupon codes to be applied on the subscription.
For example if I apply a coupon code the amount should be reduced and effective amount should be less then current; Suppose a 10% coupon code on USD$1000, the price to USD$900.
The problem is amount is linked to the product and charged by Apple.
How can I do this?
You can't use coupon codes to decrease the price of an in-app purchase.
For auto renewing subscription IAPs you can offer introductory pricing.
You could also use a coupon code to unlock visibility of a different in-app product in your app that is charged at a lower price, but if it is a subscription then that lower price would be charged ongoing.
Perhaps you could try combining the two; The coupon code makes a subscription with an introductory price available. Without the coupon code the user only sees the subscription without the introductory price.
You can create two in app purchases in appstore connect
for example if your purchase is called fun pack
then you can have a purchase called fun pack in app store connect priced at 9.99 and have another fun pack priced for 7.99
so if your user uses a coupon then you should call the purchase method so that it purchases the 7.99$ iAP . if they purchase it without a coupon then just purchase the 9.99$ pack. I hope this makes sense

Editable price in in-app purchase with iOS

I have an idea for an app but I want to know if it's possible to make the price of the in-app purchase elemet editable? Kind of donation where people can choose the amount they want to spend? I also want to know the limit(the maximum price) I can use for normal in-app purchase element.

Non Consumable and Dynamic in app purchase

I am having an issue implementing the kind of in-app purchase that my application demands, Basically we need to sell story books but the books and their prices are not fixed as the book list comes from some server. The price range is fixed i.e a book will be having price from this 3 prices(0.99$, 1.99$, 2.99$).Apple demands the purchase of books to be a non-consumable purchase, the issue is that we create 3 in-app purchase that I mentioned but there can be any number of books having the price 0.99$ but once we have purchased a book with in-app id of price 0.99$, if we purchase another book with same in-app ID it will say you have already purchased this item.We just want is to create a single in-app id and use them with multiple books of same price.Please help me out with some solution regarding this issue.
For non-consumable in-app purchase you will need to create an in-app purchase code in iTunesConnect for each product. You can't use a generic product code as content purchases need to be restorable (and you would also have the problem that you pointed out of not being able to purchase more than one product at each price point).
Each content in-app purchasable item needs to be submitted to Apple for approval.
Maybe you can try to let users purchase virtual currencies in your app. Then let them use those currencies to buy your books. In this case, you don't have to worry about the dynamic price and all you have is a single IAP item(currencies). But your server has to handle the purchase history carefully.
Not sure if this helps, i am dealing with the same problem in subscription items.
You can create three consumables IAPs; a 'One dollar book' consumable, a 'two dollar book' consumable and a 'three dollar book' consumable. Each consumable can be used by the user to download (or otherwise secure access to) one book in that price category. Alternatively you could just sell Tokens and require that the user cash in 1,2 or 3 Tokens to buy a book in each of the three (or more) categories. You would need to keep track of the user's purchases or create some way of allowing the user to transfer rights from one device to another device. iCloud (each App has a key-value object) is good at managing that.

Resources