ProcessReceipt not working

Making a gamepass which gives you a gun, fairly simple.
It doesn’t work or show that any person is buying something

game.Players.PlayerAdded:Connect(function(plr)
	if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(plr.UserId, 19344215) then
		plr.CharacterAdded:Connect(function(char)
			local Gun = game.ServerStorage.Guns["COLT LMG"]:Clone()
			Gun.Parent = plr.Backpack --This part works
		end)
	end
end) 

local function processReceipt(receiptInfo)
	print(receiptInfo) --Does not print
	return Enum.ProductPurchaseDecision.PurchaseGranted
end
print("script working") --This works
game:GetService("MarketplaceService").ProcessReceipt = processReceipt -- Does not work

I checked and there was no other instance of the server using ProcessReceipt, what am I doing wrong?

Also: The game is owned by me, and the gamepass is for that specific game.

(Server script in SSS)

ProcessReceipt is used for developer products.

For gamepasses, you have to use PromptGamePassPurchaseFinished: MarketplaceService.PromptGamePassPurchaseFinished

Smh, my bad. Welp, I’m gonna go fix my script. Thanks.