Pretty simple, I am encountering mixed responses when asking fellow developers about this particular part of the MarketPlace API. I am finding that when players in one of my games purchase DevProducts for their character slots, sometimes they will be charged for the purchase but will not receive the product (the slot). This is pretty rare but does happen. I was under the impression that returning Enum.ProductPurchaseDecision.NotProcessedYet within the callback the player would NOT be charged Robux, but when testing in studio I am finding this is not the case. Players ARE charged their robux regardless of if Enum.ProductPurchaseDecision.NotProcessedYet is called or not. More complications: It is my understanding that when Enum.ProductPurchaseDecision.NotProcessedYet is returned, the MarketPlace API will try to process the purchase if the player rejoins the same server or makes another purchase until Enum.ProductPurchaseDecision.PurchaseGranted is returned. The problem is that all my devproduct purchases are done in solo servers (the loading area).
If anyone has any experience with developer products and how to handle this issue, please let me know.
Edit: To further clarify, I am looking for a solution to ensure players receive what they are paying for: Should I add other handlers in the event Enum.ProductPurchaseDecision.NotProcessedYet is returned, where I attempt to repeatedly grant the player the product?
Important Note: I am using a modified version of what is listed in the Creator Hub under DevProduct purchases.