21004 returned when purchasing CONSUMABLE

Originator:nikkovios
Number:rdar://45452223 Date Originated:October 22 2018
Status:Open Resolved:no
Product:StoreKit Product Version:
Classification: Reproducible:
 
Summary:
21004 returned when purchasing CONSUMABLE purchases. There is a thread with the same problem, but the bug still exists. https://forums.developer.apple.com/thread/76301

Steps to Reproduce:

The application name is FormaCar. https://itunes.apple.com/us/app/formacar/id1180117334?mt=8
We have consumable purchases with id's like `com.formacar.car1`. It happened, when user buy a one tuning element. After that the app sends the app receipt, fetched from Bundle.main.appStoreReceiptURL of the device. The standart procedure. We're not using `"password":"<YOURSHAREDSECRET>"` because it need only for auto-renewable subscriptions. After that server send this receipt and validate.

Expected Results:
Validation is success.

Actual Results:
Validation gives back 21004 error:  `The shared secret you provided does not match the shared secret on file for your account`. 

Version/Build:
FormaCar 2.4.9
Xcode 10.0 (10A255)

Additional information:

We tried a lot and figured out next:
1) If we use SANDBOX, than every check of the receipt by server gives back 21004 error. So users can't buy anything in out app.
2) If we use release version from the app store, than the half devices gives back a success and half - not.
3) For example iPhone 8 Plus with appleID `web_geo@mail.ru` gives 21004 error when checking his receipt.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!