I’ve finally figured it out! (sort of)
I decided to log the receipt numbers, and there I could see that the purchased and cancelled events had different numbers. I then matched the receipt numbers in my Google Merchant account.
The purchased receipt corresponded to the new purchase. The cancelled receipt was for a previous purchase, that was cancelled.
It seems like we’re experiencing the “Google wait factor” here, where we have to wait x number of hours/days for cancelled test-transactions to get flushed from the system.
The only thing I don’t understand is why we’re getting repeated callback “bundles” (cancelled:receipt=123->purchased:receipt=987) and then *another* (cancelled:receipt=123->purchased:receipt=987) both “bundles” with the same receipt numbers for their respective events (in the example above I’ve just given fake receipt numbers to illustrate what I mean).
This also happens when I use Google’s test products. I tested with “android.test.purchased”, and got 2 callbacks. One purchased callback for the above Google test-product, and then a cancelled callback for a cancelled *real* transaction from another session where I was using my own product id. However in this case I only got one “bundle” (purchased->cancelled)
Anyway, this will be my last post about the subject on this thread as I now see that Google’s system is behind the behavior. I don’t have any updates planned for this app for at least another month, and by then all transaction from my test account should’ve been flushed.
[import]uid: 70847 topic_id: 29859 reply_id: 136648[/import]