For some reason ReceiptValidation returns Valid = true for already used receipts (this also accounts for ValueToDate). We are not sure when reporting invalid receipts as valid has started
For some reason ReceiptValidation returns Valid = true for already used receipts (this also accounts for ValueToDate). We are not sure when reporting invalid receipts as valid has started
Edited: Again, thanks for bringing this to our attention. Our engineering team has determined the source of the issue. To be clear, the receipts are not being validated as "good" - no items or VC are being granted to the players. The net effect is that the purchase prices are being added to the VTD of the players and the revenue reporting for the title. The team has a bug open to get that fixed as soon as they can.
Is this issue still open? And, as you have written "the receipts are not being validate as good" we assumed the ValidateGooglePlayPurchase on the client returns an error with the appropriate error code like ReceiptAlreadyUsed. Is this the case? (because we see a huge discrepancy between google play financial reporting and our in house-analytics tool which is feed by playfabs ValidateGooglePlayPurchase successful calls to automatically decide UA budget on a daily basis)
It can be caused by the recent updates of Google Purchase Library. Few developers report that "Pay by Cash" can cause issues. Please refer to PlayFab accepting pending payments - Playfab Community. The current workaround is to validate receipts with Google before confirming the purchase.
I still don't understand why a receipt with error "Receipt Already Used" (see screenshot above) should return valid, what has this todo with pending payments?
The Valid parameter does not refer to whether the purchase should be fulfilled - it's specifically saying "yes, this is a valid receipt". The context (that determines whether or nor the purchase is fulfilled) has more to it - like whether the receipt has ever been used before. If it has, it's rejected from the fulfillment system. The issue here is that the VTD is being incremented. We're re-checking on the work item that was opened on fixing this, as it sounds like it didn't get prioritized as it should have been.
Is there anything we can do about this? Is playfab or google checking for already used receipts? Because if we manually verify such a ReceiptAlreadyUsed with google we still get valid receipt. This issue is affecting us at a pretty high scale actually
4 People are following this question.