Item keeps saying "Item Not For Sale" despite being on sale

I created a mannequin that should take the pants and shirt id from the dummy, and prompt purchase when clicking on the correct button. It seems to work, but however would put “Not For Sale” despite being on sale. What might be wrong?

local CLICK_BLOCK = script.Parent

local PantsString = script.Parent.Parent.Dummy.Shirt.ShirtTemplate

local SplitMessage = string.split(PantsString, "=")

local ITEM_ID = SplitMessage[2]

local Click = Instance.new("ClickDetector",CLICK_BLOCK)

Click.MouseClick:connect(function(p)

game:GetService("MarketplaceService"):PromptPurchase(p,ITEM_ID)

end)

Shirt Script:

local CLICK_BLOCK = script.Parent
local PantsString = script.Parent.Parent.Dummy.Shirt.ShirtTemplate
local SplitMessage = string.split(PantsString, "=")
local ITEM_ID = SplitMessage[2]

local Click = Instance.new("ClickDetector",CLICK_BLOCK)

Click.MouseClick:connect(function(p)
	game:GetService("MarketplaceService"):PromptPurchase(p,ITEM_ID)
end)

Picture of the model:

Game permissions:

Strange… last night I had this problem in a pass I had made

Have you tried printing what SplitMessage gives you? It could be possible that you could be using a invalid Int64 value

I don’t think it’s the splitmessage, usually if it were that, the promptpurchase wouldn’t work, and it would print something out in the output because the next letter there could be is “/”

you are using .ShirtTemplate,

using that id, it’s not gonna be able to promptpurchase, as this is the TEMPLATE id for the shirt, you are gonna have to get the true id of the shirt by getting it on the web, if you need further explanation, let me know.