Not sure if this is because it just isn’t designed to work for developer products - if this is so, expect a feature request soon, as there is no other way to listen for the ending of the purchase sequence.
I’m working on a shop system, and am wanting to stop the user from doing anything with the UI until the purchase is cancelled or completed.
But PromptPurchaseFinished does not seem work, so I have no way of re-enabling the UI if the player does not complete the purchase.
Here’s my code (all variables and the rest of my code work):
For developer products you should use ProcessReceipt.
PromptPurchaseFinished works for all other assets than gamepasses and products.
PromptGamePassPurchaseFinished works for gamepasses.
You can read more here: Documentation - Roblox Creator Hub
The method you’re looking for is PromptProductPurchaseFinished. It is deprecated in place of ProcessReceipt, but for determining when the prompt closes it has its uses.