2

I would like to know the mapping offline on the server side for reporting and data analytics.

This question includes a list of apis for iTunesConnects but I could not find an api for querying the price by country in fastlane or the reporting tool.

Thanks

Community
  • 1
  • 1
little
  • 2,927
  • 2
  • 25
  • 36

2 Answers2

6

The only possible way to retrieve that kind of information might be with the iTunes Search API: https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/#searching

Example App: Facetune

https://itunes.apple.com/lookup?id=606310581&country=kr // price 4.39

https://itunes.apple.com/lookup?id=606310581&country=us // price 3.99

https://itunes.apple.com/lookup?id=606310581&country=id // price 59000.00

As you get the responses in JSON, you can extract the price and currency based on the store front.

Max
  • 5,972
  • 1
  • 24
  • 34
  • 1
    Thanks. That is a good way to find the price for the application per country but not the in app purchase price. – little Oct 26 '16 at 06:04
  • If you specify the use case / what you actually wanna achieve we might be able to help you better :) – Max Oct 26 '16 at 09:30
  • 1
    It is basically for reporting reasons, I would like to know each day the price that users paid for in app purchases in the app. I would like to know it real time (not delayed like in appsfigures or iTunesConnect) and in the currency that the user payed them. – little Oct 27 '16 at 11:53
3

I ended up with this solution:

  • The client side is sending the pricing and currency code (From the SKProduct object) as the user see it to the server as part of the purchase process.
  • The server side save the pricing, the currency code and the receipt data in the DB. Having a table per money transaction to hole the localized price, currency code, the USD price and pointer to the receipts table.
  • Upon renewals, revalidating the receipt and if there was a renewal adding another entry to the money transaction with the same amount as was in the original money transaction (based on having the same receipt).
  • For cancellation, adding a money transaction entry with minus the amount in the original transaction (again, based on the receipt).
little
  • 2,927
  • 2
  • 25
  • 36
  • 1
    Probably makes most sense, as there is no realtime API available anyway. – Max Oct 27 '16 at 15:07
  • Have you found a better approach in the meantime ? It's been 5 yrs since your message and I still can't find a better solution. – mmdumi Jan 20 '22 at 20:06