I’m looking for some information about the ProcessReceipt callback that’s assosiated with the MarketplaceService.
I understand that we are supposed to return a ProductPurchaseDecision enum in this function, but there are a number of details here I’m unclear about.
I don’t have any questions about returning PurchaseGranted. That makes sense to me, I should only return it when the product has been granted in game successfully.
I do however have questions about NotProcessedYet. I have found posts such as this one that state that returning this enum suspends the transaction for a number of days only to attempt again if the player leaves and rejoins the game in that suspended period. If that’s true I can’t seem to find it documented anywhere officially?
If the above is true, then is there a way to fail a transaction without initiating a retry? It’s extra work for me to design a system that may have a reciept come in during a session that wasn’t actually prompted by the player.
Finally, what happens if I return nil in this callback? Is that the same as the NotProcessedYet enum, or what happens?
Any help (with supporting links to official sources) would be greatly appreciated!