The script is to give the player an amount of cash when they buy it. When tested only one script (ount of four) work.
Working script:
local MPS = game:GetService("MarketplaceService")
MPS.ProcessReceipt = function(receiptInfo)
if receiptInfo.ProductId == 1087304694 then
local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
player.leaderstat.Cash.Value = player.leaderstat.Cash.Value + 1000
return Enum.ProductPurchaseDecision.PurchaseGranted
elseif receiptInfo.ProductId == 0 then
local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
print("Cannot buy")
return Enum.ProductPurchaseDecision.PurchaseGranted
end
end
Failing script:
local MPS = game:GetService("MarketplaceService")
MPS.ProcessReceipt = function(receiptInfo)
if receiptInfo.ProductId == 1087304716 then
local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
player.leaderstat.Strength.Value = player.leaderstat.Strength.Value + 1000
return Enum.ProductPurchaseDecision.PurchaseGranted
elseif receiptInfo.ProductId == 0 then
local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
print("Cannot buy")
return Enum.ProductPurchaseDecision.PurchaseGranted
end
end

2 comments
You can only have one script in the game that gives a function for ProcessReceipt, that's why only one works.
Okay