Indeed, storing the state on the server only (still have to figure out what to do with no connectivity), and verifying receipts on the server will mostly get it fixed.
Thanks, we found that many app developers are unaware of how much in-app purchase hacking is taking place these days. So it was important for us to share.