MarketplaceService.PromptPurchaseFinished will not fire for pass or product

I’ve been debugging for some time and still couldn’t find a solution, I’ve went through countless dev forums posts yet none seem to do it.

  • Gone through a few posts like post1 and post2
    yet none of the fixes reported there seem to work.
MarketPlaceService.PromptProductPurchaseFinished:Connect(function(UserId, ProductId, IsPurchased)
	print(UserId, ProductId, IsPurchased)
end)

MarketPlaceService.PromptGamePassPurchaseFinished:Connect(function(Player, ProductId, IsPurchased)
	print(Player, ProductId, IsPurchased)
end)

this is the script, nothing fancy just printing something



the first one is disabled, so only the first one is active

Just to make sure:
Are you 100% sure that that part of the script is being reached?
If you add print statements before/after them, do they fire?

I haven’t though about that, although its quite weird because it worked last time I tried.

Could you please provide a testing video?

Check ProcessReceipt

https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#ProcessReceipt

Depending on their use case, ProcessReceipt may not be what they are after, as it only fires on a purchase

  1. Are you using devproducts or gamepasses
  2. Send the whole script so we can see
  3. Use basic debugging to see if this connection is actually being run
  4. Describe the use case of this; do you want to process the receipt or just see if the user clicked on it