[Closed] Can restore only some baught non-consumable IAP items.

I am using Unity IAP Plugin. I have problem on restore only some IAP item.
Details are as follow.

1.) I have about 10 non consumable IAP items. First, I can restore all these items.
2.) I add comment to the following line that add product in InitializePurchasing()

  • builder.AddProduct
    3.) Run this app on android one time. Then remove comment from the same line,
    And run the app again. Now I can not restore any items.
    4.) Click to buy 3 more items from my app. Then reinstall the app on android device.
    5.)Run the app, now I can restore only newly 3 items just baught in step 4. The old
    10 items that have baught before add comment to that line can not be restore at all.

How can I restore all those 10 items that have baught before I add comment to
builder.AddProduct line?

PS. I put restore code in ProcessPurchase() module. And all 10 and 3 items are non consumable items.

I have clear google app catch and my app catch already. But it can not be solved.

@jacksilver007

Would you be able to provide a copy of your purchasing script?

This is my c# script for purchasing. It include all functions and procedure
for dealing with IAP.

3211754–245893–gbInAppPurchase.cs (6.58 KB)

Or if you need the project file, I have created a simple test project
for you to investigate. You can download from the link below.

http://www.web1081009.com/temp/SpaceWords7050.zip

Can you download the zip file?

@jacksilver007

It is a best practice to not remove products from the catalog. You can disable the UI for purchasing them without removing them (or not including them) in the Initialization.

That said, there are probably better ways we could handle this situation. I have notified the IAP team about this issue and it should be addressed in a future version of the plugin.

For the time being, I would encourage you to keep your product catalog consistent, only adding products in new versions, but not removing them.