Reawarding Badges Broken?

I have a player that deleted the badge and now it will not give it back to him. The code still prints that he got it yet he does not receive the badge ._.

[spoiler][code]local ResourceModule = require(game.ReplicatedStorage.ResourceModule)

bought = {}

local BuyFunction = script:WaitForChild(“Buy”)
function BuyFunction.OnServerInvoke( Player )
print( Player.Name )
if( not game:GetService(“MarketplaceService”):PlayerOwnsAsset(Player, 239580519) and not bought[Player.userId] --We don’t want double purchases
and ResourceModule.changeValue( Player, “FarmBux”, -4000 ) )then --Time to try charging them!
game:GetService(“BadgeService”):AwardBadge(Player.userId, 239580519)
bought[Player.userId] = Player.userId
print( Player.Name … " got it")
if( Player.Character and Player.Character:findFirstChild(“Humanoid”) )then
Player.Character.Humanoid.Health = 0
end
return true
end
end
[/code][/spoiler]

[/code] pls