RESTORE Button problem. Need urgent help.

Hello! You mean this line?

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;if event.transaction.productIdentifier == "whiskey\_bottle" then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;native.showAlert( "Shop", "Thank you! Purchase \<Whiskey bottles\> has been restored!", { "OK" }) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;whiskey:set("whiskey", "yes") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;whiskey:save()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;

if yes, then i use GGData to save some data, and i called a file that controls whiskey bottle just “whiskey”

And in event.transaction.productIdentifier my product is “whiskey_bottle” because i registered my in-app purchase in iTunes Store this way, “whiskey_bottle”)

So if i understand right i should use the name exactly the same as i used when i registered in-app in iTunes Store?

Apple told me this, when i asked them about what items should be restored:

"Thank you for your inquiry. 

Consumable products are purchased each time the user needs the item. Non-consumable products are only purchased once by users and are always available on all devices that are associated with that user’s iTunes account. 

As specified in the In-App Purchase Programming Guide:

“…if your application supports product types that must be restorable, you must include an interface that allows users to restore these purchases. This interface allows a user to add the product to other devices or, if the original device was wiped, to restore the transaction on the original device.”"

I guess that my bottles, which user can buy, should be restored if device is wiped. But they are none-consumable. 

And i can’t post here any logs because my app don’t even reach the state “restored”.

Thank you

Well… according to the guides I have read, the productID should be on the form “your-app-id.productname”, so if your app’s id is “com.mycompany.mygame” you should use “com.mycompany.mygame.whisky”. If it actually makes a difference I don’t know. You may also try to omit “_” in the name to see if it solves your problem.

The main problem is that when i tap restore button which has store.restore() in it, then store event state can’t even reach the “restored” state…

Sorry I kind of confused you when I said “one time”, I was talking about consumables.  You buy them, you use them and you are done.  The item gets used one time and its done.   Where as non-consumables, unlock content the user continues to use over and over.

Buy one time - use many.

Buy many, each use uses it it.

Well, consumables never get restored so that is what you should expect… If a consumable transaction wasn’t finished, it will try to do so the next time you call store.init, but then its the transactionListener that get the callback.