Updated to use purchase_item()