MarketPlaceService.ProcessRecipt not working the way i intended to

so i have a bunch of “paintings” with click detectors and whatever and they all have this in the script
image
if i buy paintings of the same type they work, but when i buy a different type of painting (requires a different product id) the script thinks i paid for the other painting

first painting: (works and prints that “3”)
image

second painting: (first 2 lines lines of output are good but then the 3rd line says the product id is for the old one)
image
is something in my script wrong or is there any way to patch this?

all of the scripts are server scripts and each painting has it’s own script

Do You have multiple ProcessReceipt functions?

no i only have one and i fixed it by using PromptProductPurchaseFinished instead