question

krzysztofpieta avatar image
krzysztofpieta asked

NoMatchingCatalogItemForReceipt because non existing in-app id is in receipt.,NoMatchingCatalogItemForReceipt for an in-app that was removed from iOS store.

Due to some circumstances, we had to remove in-app from AppStore. In result, we removed it from PlayFab catalog Item list. Now the problem is that, when we are trying to validate our receipt via PlayFab ValidateIOSReceipt request, the old product_id is included in the receipt (because we are using sandbox tester accounts), which cause PlayFab to throw NoMatchingCatalogItemForReceipt. Now as I understand we cannot add missing product_id into Playfab catalog items as will throw other error stating that product_id cannot be found on AppStore (and we cannot add in-app with the product_id that was once removed). So my question is, can be anything done? I was trying to find out how to clear receipt history for tester account and it is impossible. Furthermore, I created new tester account into the sandbox environment, and it occurred that for all sandbox tester accounts there is one receipt history (or I am doing something wrong).

,

Due to some circumstances we had to remove in-app from appstroe. In result, we removed it from PlayFab catalog Item list. Now the problem is that, when we are trying to validate our receipt via playfab ValidateIOSReceipt request, the old product_id is included in the receipt (because we are using sandbox tester accounts), which cause PlayFab to throw NoMatchingCatalogItemForReceipt. Now as i understand we cannot add missing product_id into playfab catalog items as will throw other error stating that product_id cannot be found on appStore (and we cannot add inapp with the product_id that was once removed). So my question is, can be anything done? I was trying to find out how to clear receipt history for tester account and it is impossible. Furthemore, I created new tester account into the sandbox enviroment, and it occured that for all sandbox tester accounts there is one receipt history (or I am doing something wrong).

sdks
1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

krzysztofpieta avatar image krzysztofpieta commented ·

I am sorry for duplication :(

0 Likes 0 ·

1 Answer

·
Sarah Zhang avatar image
Sarah Zhang answered

I'm wondering if you could provide a specific application scenario. Under what circumstances would you like to do this ValidateIOSReceipt request? To restore the purchase of this old item or new purchase? Why do you think that sandbox account may cause this issue? I'll be grateful if you can provide more detailed info.

1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

krzysztofpieta avatar image krzysztofpieta commented ·

I have just found out what was the problem. Firstly answering to your question. ValidateIOSReceipt request is being called to make sure that receipt has not been corrupted or malfunctioned by the user. However because ios receipts are Grand Unified Receipt they contain the entire history of transactions that user has done, it can cause a problem when we delete in-app from AppStore and Playfab because Playfab will be not able to recognize historical in-app transactions via their Product ID. And it will happen despite the fact that I am trying to test/buy completely different Product ID.

Now as for my problem. I had to change sandbox tester so that a new one will have Grand Unified Receipt without old Product IDs. The problem was that I was changing my AppleID on my device however didn't notice that there is a Sandbox Tester ID option to select :D And despite the fact that I was changing the Apple ID, the receipt was still full of old Product IDs.

So what I have learned is not to remove my old in-app's from AppStore. If the user has bought in-app with Product ID that has been removed, Playfab will be not able to validate given receipt anymore as it will throw an exception.

3 Likes 3 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.