Enum.ProductPurchaseDecision.NotProcessedYet

Heya! Thank you for your help
Quick questions

  1. How often MarketplaceService attemps to do the callback to grant the purchase?

  2. If I return NotProcessedYet, the robux gets deducted or not?

  3. If the purchase ID has a custom function, does the callback attemps to run that function again until the purchase is granted?

Any comment is appreciated

1 Like

Enum.ProductPurchaseDecision.PurchaseGranted means the player bought the devproduct
Enum.ProductPurchaseDecision.NotProcessedYet means the purchase request has been sent but not yet processed.

2 Likes

Thank you :3 I know that. Any information about my questions?

1 Like

If u return NotProcessedYet no robux should get deducted i think because no one made a purchase

Emm, someone made the purchase, the custom function runs, but something went wrong, then we return NotProcessedYet, Roblox will try to validate that purchase many times after that.

And thats when my questions starts

1 Like

I don’t think that NotProcessedYet deducts Robux. I always get an error if my purchase does not get Processed, thus I do not lose Robux.

1 Like
  1. It’s specified in the documentation that the callback is fired once again when the player joins the game or purchases another product until PurchaseGranted is returned. I ran some tests and this is true. However, the callback is only fired again if the player joins the same server it made the original purchase in. Same thing applies for the second statement, the callback is only ran again if the product was purchased in the same server the original product was purchased in.

  2. No, returning NotProcessedYet doesn’t deduct the Robux.

  3. Yes, Roblox will still run the callback again whether it’s a custom function or not. It will follow the conditions I talked about in the first answer.

Sorry for being very late, hope this is still helpful!

4 Likes

I know this is a old post but NotProcessedYet does deduct Robux, when returning ‘Enum.ProductPurchaseDecision.NotProcessedYet’ it takes the robux out of the account, unless this classifies as a bug.

I think it does this in studio because the message pops up saying “purchase successful” but i’m not sure in a live game. Unless anyone is willing to test?

I believe it should be deducted even with NotProcessedYet, but the next time the player joins the game back, the function resume and continue to give the player the things they should receive, then the purchasegranted will be returned (assuming the developer made a correct function for these as explained in Marketplaceservice page), because if NotProcessedYet would not take robux, the next time the player joins back, the function would resume and deduct the robux? that would be way more bad cuz the player either dont want the purchase anymore, or the player have less robux next time they join the game back

2 Likes