A customer can buy all IAPs apart from one?

Hi all, strange one this…

I have a customer that can purchase any IAP in my game apart from one.  A few months ago he had a failed purchase (same IAP).  The purchase shows completed and invoiced on Google play but something went wrong and he wasn’t credited in game for his purchase and I think store.finishTransaction(transaction) was never called.

In hindsight, I probably should of refunded the original purchase but instead I manually credited him with the virtual currency.  Now he cannot purchase that particular IAP - presumably because it never fully completed.

Obviously his original transaction is now way out of scope… so there is no way to call store.finishTransaction(transaction) retrospectively.  What is the best way of handling this situation?

Thanks

Adrian

Have you tried store.restore()?

Hi Rob, I’m not sure that will help in this situation as that will just re-download his original purchase?

Because the (Google) IAP is managed and was never finalised the user can never purchase that particular IAP again.  My question is, how to handle this situation retrospectively.  It seems to be a logic hole… if for some reason finaliseTransaction() doesn’t get called on that IAP for the user (app crashes, phone dies, etc.) - that IAP is forever locked out for the user.

Correct, but I’m hoping that it will let you finalise the transaction and clear it up. If not you may have to contact Google’s support on it.

Rob

Have you tried store.restore()?

Hi Rob, I’m not sure that will help in this situation as that will just re-download his original purchase?

Because the (Google) IAP is managed and was never finalised the user can never purchase that particular IAP again.  My question is, how to handle this situation retrospectively.  It seems to be a logic hole… if for some reason finaliseTransaction() doesn’t get called on that IAP for the user (app crashes, phone dies, etc.) - that IAP is forever locked out for the user.

Correct, but I’m hoping that it will let you finalise the transaction and clear it up. If not you may have to contact Google’s support on it.

Rob