/// <summary> /// Update BrainTree Payment /// </summary> /// <param name="_userLoginVM"></param> /// <returns></returns> public UserPremiumVM UpdateBrainTreePayment(UserPremiumVM _userPremiumVM) { UserPremium _userPremium = new UserPremium { UserID = _userPremiumVM.UserID, BusinessID = _userPremiumVM.BusinessID, Amount = _userPremiumVM.Amount, PaymentMode = _userPremiumVM.PaymentMode, TransactionID = _userPremiumVM.TransactionID, PaymentDate = DateTime.Now, IsActive = true, BrainTreeClientToken = _userPremiumVM.ClientToken, BrainTreeCustomerID = _userPremiumVM.CustomerID }; _userPremium = _objUserDAL.UpdateBrainTreePayment(_userPremium); if (_userPremium != null) { return(_userPremiumVM); } else { return(null); } }
public HttpResponseMessage BraintreeMakePayment(UserPremiumVM _userPremiumVM) { if (Common.IsTokenAuthenticated(Request.Headers, ref _userId, ref _strJSONContent)) { var gateway = config.GetGateway(); Decimal amount; try { amount = Convert.ToDecimal(_userPremiumVM.Amount); var nonce = _userPremiumVM.PaymentNonce; var request = new TransactionRequest { Amount = amount, CustomerId = _userPremiumVM.CustomerID, PaymentMethodNonce = nonce, Options = new TransactionOptionsRequest { SubmitForSettlement = true } }; Result <Transaction> result = gateway.Transaction.Sale(request); if (result.IsSuccess()) { Transaction transaction = result.Target; _strJSONContent.Append("{\"status\":\"Success\","); _strJSONContent.Append("\"TransactionID\":\"" + transaction.Id + "\"}"); _userPremiumVM.TransactionID = transaction.Id; _userPremiumVM.PaymentMode = "Monthly"; _userPremiumVM = _userBLL.UpdateBrainTreePayment(_userPremiumVM); } else { string errorMessages = ""; foreach (ValidationError error in result.Errors.DeepAll()) { errorMessages += "Error: " + (int)error.Code + " - " + error.Message + "\n"; } _strJSONContent.Append("{\"status\":\"Failed\","); _strJSONContent.Append("\"Error\":\"" + errorMessages + "\"}"); } } catch (FormatException e) { _strJSONContent.Append("{\"status\":\"Amount is an invalid format.\"}"); _strJSONContent.Append("{\"status\":\"Amount is an invalid format.\"}"); } } return(Common.ResponseOutput(_strJSONContent)); }