Question about importing iOS receipts from the server side

  • 19 August 2023
  • 3 replies


Currently, we plan to use observer mode to import iOS receipts from the server side into RevenueCat. However, we do not have currency and price information. I noticed in the receipt API documentation that it's possible to infer this information using store_country and ip_address. Where does this information come from? If I synchronize all iOS products with RevenueCat, will it obtain this information from the product details?

3 replies

Userlevel 3
Badge +6

Hi @yhyhyh

The store_country comes from the store, while the ip_address comes from the device - we then can geolocate using this information to infer the user’s currency. If we already know what the price of that product is in that currency from other purchases, then we’re all set. Otherwise, there may be a period as new purchases are made in that currency and product until we can infer the transaction price. 

This is because stores often don’t allow developers to see individual prices for transactions, so RevenueCat infers transaction prices based on the price of the product when it was originally purchased. Importing receipts without currency or price information results in a similar process but can sometimes take longer.

Let me know if you have any other questions!

Hi @kaitlin,


I would like to inquire about the following scenario:

I have an order A with the following details: product_id: PP, price: 2, currency: 'USD', store_country: 'US'.

Later, due to a price adjustment, there is another order B with the same product_id: PP, price: 3, currency: 'USD', store_country: 'US'.
Same store_country and product_id.

I would like to know whether the next renewal price for order A will be 2 or 3.

If the price is 2, is there a way to update it to 3?


Thank you very much.


I saw document here

Is this what I'm looking for?

Userlevel 3
Badge +6

Hey @jerrywen1230,

That’s the document you’re looking for! In the scenario you describe, RevenueCat will assume that the product will renew at the price of 2. There’s a couple of things you can do if you don’t want to grandfather users in at the old price and also want metrics to be accurate:

The first option is best if you only intend to make one price change, while the second option is best if you intend to make price changes often. This should allow us to listen for price change events and make the necessary adjustments.