everything seems to work fine and it even prints the badge has granted but the badge itself doesnt being awarded
local marketPlaceSetvice = game:GetService("MarketplaceService")
local badgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local SupporterBadgeId = 2124763358
local Donate20Id = 18795242
game.Players.PlayerAdded:Connect(function(player)
hasPass = marketPlaceSetvice:UserOwnsGamePassAsync(player.UserId, Donate20Id)
if hasPass then
local playerId = player.UserId
badgeService:AwardBadge(playerId, SupporterBadgeId)
end
end)
local function onPromptGamePassPurchaseFinished(player, purchasePassID, purchaseSuccess)
if purchaseSuccess == true and purchasePassID == Donate20Id then
local playerId = player.UserId
badgeService:AwardBadge(playerId, SupporterBadgeId)
print("Badge has granted.")
end
end
marketPlaceSetvice.PromptGamePassPurchaseFinished:Connect(onPromptGamePassPurchaseFinished)
