We just launched our game on the Amazon Android Store with their new In-App Purchase SDK. We are seeing a few sale that resulting users not getting the virtual good they paid for. I've have reproduced one use case that will cause this to happen every time.
Basically the user initiates and IAP, they are taken to the Amazon purchase dialog, they make the purchase and they are given Amazon's purchase confirmation dialog.
If the user, clicks the Close button on the Dialog or the Back button on the Options Bar at the bottom of the screen (with a Kindle Fire), the dialog closes and the IAP process sends a message to the app the purchase has been a success. I get the message and process it, all is good.
However, if the user hits the "Home" button the purchase confirmation closes and the user gets dumped to the Home Screen, the app never receives the purchase Success message.
I'm trying to get some sort of work around since users are not going to care about the vagaries of message receipts in the Amazon's IAP implementation, they just care that they paid for something they didn't get. We've got 1 non-consumeable good which isn't a problem since our app checks for previous purchases on start up. But the consumable goods are another issue. You can't restore those.
Is there a workaround?