public JsonResult MakeFinalTransaction(MainTransactionInfo model)
        {
            try
            {
                var goEatApi = GoEatApi.Instance;
                var isSuccess = false;
                var transaction = goEatApi.GetSimpleTransactionById(model.MainTransactionId).Data;

                if (transaction != null)
                {
                    var gTokenTransaction = CreateDirectChargeGtoken(transaction.token_amount,
                        transaction.order_id + "_Drink", transaction.username, transaction.description);
                    if (gTokenTransaction.Succeeded && gTokenTransaction.HasData)
                    {
                        isSuccess = goEatApi.UpdateTransGTokenTransactionId(true, transaction.id, gTokenTransaction.Data.transaction.gtoken_transaction_id);
                        goEatApi.UpdateMainTransactionStatus(false, transaction.id, (int)GoEat.Models.TransactionStatus.Success);
                    }
                    else
                    {
                        return Json(new
                        {
                            success = false,
                            error_code = gTokenTransaction.Error.ToErrorMessage()
                        });
                    }
                }
                return Json(new
                {
                    success = isSuccess,
                    error_code = isSuccess ? string.Empty : ErrorCodes.NonExistingUser.ToString()
                });
            }
            catch
            {
                return Json(new
                {
                    success = false,
                    error_code = ErrorCodes.InvalidTransactionId.ToString()
                });
            }
        }
 public JsonResult CancelTransaction(MainTransactionInfo model)
 {
     try
     {
         var goEatApi = GoEatApi.Instance;
         if (goEatApi.UpdateMainTransactionStatus(false, model.MainTransactionId, (int)GoEat.Models.TransactionStatus.Cancelled))
         {
             return Json(new
             {
                 success = true,
                 error_code = string.Empty
             });
         }
         return Json(new
         {
             success = false,
             error_code = ErrorCodes.ServerError.ToString()
         });
     }
     catch
     {
         return Json(new
         {
             success = false,
             error_code = ErrorCodes.InvalidTransactionId.ToString()
         });
     }
 }