I have this Perk Shop script:

local MarketplaceService = game:GetService("MarketplaceService")
	local AddHealthID = 20433249 --ENTER
	local AddSpeedID = 20438665  --PASS
	local AddGearID = 21739855   --IDS
	local AddGear2ID = 21739858   --IDS
	local AddGear3ID = 21739864  --HERE
	local PurchaseHistory = game:GetService("DataStoreService"):GetDataStore("PurchaseHistory")
	MarketplaceService.ProcessReceipt = function(receiptInfo)
	    local playerProductKey = receiptInfo.PlayerId .. ":" .. receiptInfo.PurchaseId
	    if PurchaseHistory:GetAsync(playerProductKey) then
	        return Enum.ProductPurchaseDecision.PurchaseGranted
	    end
	    for i, player in ipairs(game.Players:GetPlayers()) do
	        if player.userId == receiptInfo.PlayerId then
	            if receiptInfo.ProductId == AddHealthID then
	                player.Character.Humanoid.MaxHealth = player.Character.Humanoid.MaxHealth + 50 --Adds 50 to their current health
	                player.Character.Humanoid.Health = player.Character.Humanoid.MaxHealth
	            end
	            if receiptInfo.ProductId == AddSpeedID then
	                player.Character.Humanoid.WalkSpeed = player.Character.Humanoid.WalkSpeed + 15 -- Adds 5 to their current Walkspeed
	            end
	            if receiptInfo.ProductId == AddGearID then
	                game.ReplicatedStorage.DualVenomshanks:Clone().Parent = player.Backpack -- put the gear in ReplicatedStorage then put the name of the gear in the GEARNAMEHERE
	                -- game.ReplicatedStorage.GEARNAMEHERE:Clone().Parent = player.StarterGear -- Add this back in if you want them to get this item till they leave the game, Like renting it
              end
	            if receiptInfo.ProductId == AddGear2ID then
	                game.ReplicatedStorage.GravityCoil:Clone().Parent = player.Backpack -- put the gear in ReplicatedStorage then put the name of the gear in the GEARNAMEHERE
	                -- game.ReplicatedStorage.GEARNAMEHERE:Clone().Parent = player.StarterGear -- Add this back in if you want them to get this item till they leave the game, Like renting it
	            end
	            if receiptInfo.ProductId == AddGear3ID then
	                game.ReplicatedStorage.Jetpack:Clone().Parent = player.Backpack -- put the gear in ReplicatedStorage then put the name of the gear in the GEARNAMEHERE
	                -- game.ReplicatedStorage.GEARNAMEHERE:Clone().Parent = player.StarterGear -- Add this back in if you want them to get this item till they leave the game, Like renting it
	            end
	        end
	    end
	    PurchaseHistory:SetAsync(playerProductKey, true)   
	    return Enum.ProductPurchaseDecision.PurchaseGranted
	end

And then this in starterpack so that the cash perk will work:

local MarketplaceService = Game:GetService("MarketplaceService")
	local ds = game:GetService("DataStoreService"):GetDataStore("PurchaseHistory")
	 
	CASHID = 00000000 -- Put the ID of the Developer Product here. Dont forget to erase the 0's.
	 
	MarketplaceService.ProcessReceipt = function(receiptInfo)
	    local playerProductKey = "player_" .. receiptInfo.PlayerId .. "_product_" .. receiptInfo.ProductId
	    local numberBought = ds:IncrementAsync(playerProductKey, 1)
	    for i,v in pairs (game.Players:GetChildren()) do
	        if v.userId == receiptInfo.PlayerId then
	            if receiptInfo.ProductId == CASHID then
	 
	 
	                lds = v:FindFirstChild("leaderstats")
	                if lds ~= nil then
	                    cs = lds:FindFirstChild("Coins") --Change to your leaderstat that you want it to add to.
	                    if cs ~= nil then
	                        cs.Value = cs.Value + 1000 --Change to the amount of Coins you want to add.
	                    end
	                end
	            end
	        end
	    end
	    return Enum.ProductPurchaseDecision.PurchaseGranted    
	end
	 
	 
	                -- Put this script in the Starter Pack when you are done editing it :)

There is one problem, the second script causes the top one not to work. Maybe because it is in starterpack. Help if you can because i dont know how to fix it....