Developer Products In Team Test Not Working

Alright, so I have tried multiple times yet to no avail to make this work. I want to make a developer product that does something. Anything. Once I get the product itself working I can focus on the functioning part of it.

Anyways, my problem is that the developer product that I am prompting works perfectly fine in single player studio and a local server running off of my computer. (I just set it to kill the player for now just for testing). I run into my issue when I try to run it off of a non-local server such as in-game or in team test. I have no idea what the problem is and I would greatly appreciate some feedback.

Here is the script:

local MarketplaceService = game:GetService("MarketplaceService")
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")

local purchaseHistoryStore = DataStoreService:GetDataStore("PurchaseHistory")

local productFunctions = {}

productFunctions[1171899953] = function(receipt, player)
	if player.Character and player.Character:FindFirstChild("Humanoid") then
		player.Character.Humanoid.Health = 0
		return true
	end
end

local function processReceipt(receiptInfo)

	local playerProductKey = receiptInfo.PlayerId .. "_" .. receiptInfo.PurchaseId
	local purchased = false
	local success, errorMessage = pcall(function()
		purchased = purchaseHistoryStore:GetAsync(playerProductKey)
	end)

	if success and purchased then
		return Enum.ProductPurchaseDecision.PurchaseGranted
	elseif not success then
		error("Data store error:" .. errorMessage)
	end

	local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
	if not player then
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end

	local handler = productFunctions[receiptInfo.ProductId]

	local success, result = pcall(handler, receiptInfo, player)
	if not success or not result then
		warn("Error occurred while processing a product purchase")
		print("\nProductId:", receiptInfo.ProductId)
		print("\nPlayer:", player)
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end

	local success, errorMessage = pcall(function()
		purchaseHistoryStore:SetAsync(playerProductKey, true)
	end)
	if not success then
		error("Cannot save purchase data: " .. errorMessage)
	end

	return Enum.ProductPurchaseDecision.PurchaseGranted
end


MarketplaceService.ProcessReceipt = processReceipt

Is there any reason that this shouldn’t be working in game or team test, or is there an error on my end? I’m certainly not an expert at scripting and I’m kind of just learning market place service.

Is the developer product under the same game the place is under?

I though that didn’t matter as long as you had the ID of the product. I’m pretty sure gamepasses are what need to be under the same game, which are a one-time purchase.

yes dev products and gamepasses should be in the same game that you are using for

But I’m trying to make a product that you can purchase multiple times. If this is what mean then I do have it “in the game”: