Changes In-App Receipt Format outside United States?

We are validating our in-app purchase receipts locally in our app code (instead of server side). As part of that validation, we are looking for the `original_application_version` field to offer our older customers free access to subscription tools which we introduced a few years later.


We are basing it on this information:
https://developer.apple.com/library/archive/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html


This code has been working fine for a few years now. But when we released an update on March 3rd, we started hearing form customers outside the United States that they were no longer able to access their subscription tools.


The validation hasn't changed, and it continues to work for customers in the United States.


Has the receipt format changed for people outside the United States? Has anyone run into this problem?

Debuging receipt validation is usually problematic at best, but we are finding it particularly difficult to diagnose and debug this problem since we are unable to reproduce it here locally.


Thanks for any help anyone can provide.


Shawn

Replies

I have no information regarding ex-US receipts. Sorry.


One thing that trips people up when they implement what you have done is that, for an iOS app, the relevant entry is the 'Build' number (CFBundleVersion) not the 'Version' number (CFBundleShortVersionString):


"This corresponds to the value of

CFBundleVersion
(in iOS) or
CFBundleShortVersionString
(in macOS) in the
Info.plist
file when the purchase was originally made.

In the sandbox environment, the value of this field is always “1.0”."

Thanks for the reply, PBK.


Yes, historically the `original_application_version` has returned the bundle version for us. That's what our code was based on. We are wondering if that has changed in non-US receipts, or if the field has moved or been renamed? We assume not, but that's our only theory at the moment, without having an actual non-US receipt to test.

And.....


"customers outside the United States that they were no longer able to access their subscription tools" -


it's always best to ask, politely, for the user's emailed receipt from Apple, or a screenshot from their device, indicating that they are, actually, purchasers of the subscription tools. Many users never respond to that request perhaps because they discover they never actually purchased the subscription.

These are not subscribers reporting the problem.
We had a paid app before we went to a subscription model for our Pro Tools years ago, and we had gifted those users access to the Pro Tools for free, based on this `original_application_version` value in the digital receipt, which is suppose to indicate what version (or bundle version) they had originally purchased. It is those users we are getting reports from now.