add giftcode functional