The proper function is PromptProductPurchaseFinished. Do not use this for processing purchases though, only use it if you need to determine when the prompt closes. You must use ProcessReceipt to process product purchases, give items and determine whether a purchase was granted or not so you get the sales revenue.
@TheCarbyneUniverse You don’t need a remote at all here. The client can prompt purchases to itself and use finished signals for itself as well.
PromptProductPurchaseFinished is still fine to use despite its deprecation. The deprecation is more of an informality than it is an actual deprecation, the informality being discouraging developers from using it wrongly to process products over ProcessReceipt.
ProcessReceipt is intended for acting when a product is purchased, granting items and telling Roblox whether or not you successfully handled the purchase. The returned ProductPurchaseDecision Enum will tell Roblox to either continually attempt to grant the purchase over 3 days or reject the purchase and refund the consumer. PromptProductPurchaseFinished just helps you check when the prompt is closed so you can use that for any reason, such as modifying a Gui post-purchase.