question

robert avatar image
robert asked

ReceiptValidation (ReceiptAlreadyUsed) suddenly returning Valid = true

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

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

brendan avatar image
brendan answered

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.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

robert avatar image
robert answered

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)

5 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Seth Du avatar image Seth Du ♦ commented ·

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.

0 Likes 0 ·
robert avatar image robert Seth Du ♦ commented ·

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?

0 Likes 0 ·
brendan avatar image brendan robert commented ·

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.

0 Likes 0 ·
robert avatar image robert Seth Du ♦ commented ·

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

0 Likes 0 ·
brendan avatar image brendan robert commented ·

Yes, any previously-used receipts return that specific error.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.