public ActionResult PayUsingWallet() { RechargeModel model = (RechargeModel)Session["recharge"]; EWallet wallet = null; if (Session["user"] != null) { TB_User user = (TB_User)Session["user"]; wallet = user.EWallets.FirstOrDefault(); if (Convert.ToDecimal(model.amount) < wallet.Amount) { ServiceReference1.ClientAPIServiceSoapClient s = new ServiceReference1.ClientAPIServiceSoapClient(); string clientId = ConfigurationManager.AppSettings["ClientId"]; string clientPwd = ConfigurationManager.AppSettings["ClientPwd"]; string responseid = ""; string status = ""; string balances = ""; string number = Guid.NewGuid().ToString().Substring(0, 6); TB_Transaction tx = repo.createTransaction(number, model.amount, wallet.UserID ?? 0, Convert.ToInt32(model.ProductId), model.phone); bool result = s.RequestInput(clientId, clientPwd, number, model.Operators, Convert.ToDecimal(model.amount), model.phone, ref responseid, ref status, ref balances); tx.Status = status; tx.ResponseId = responseid; repo.updateTrasnaction(tx); if (status == "SUBMIT_SUCCESS") { TB_Transaction txu = entities.TB_Transaction.Where(x => x.TransactionId == tx.TransactionId).FirstOrDefault(); txu.PaymentStatus = "Payment Recieved."; entities.SaveChanges(); repo.DeductMoneyFromWallet(((TB_User)Session["user"]).UserId, Convert.ToDecimal(model.amount)); TB_Paypal paypal = new TB_Paypal(); paypal.Amount = Convert.ToDecimal(model.amount); paypal.date = DateTime.Now; paypal.EWalletID = wallet.EWalletID; paypal.Type = "Mobile Recharge"; paypal.UserID = user.UserId; paypal.TransactionID = txu.TransactionId; entities.TB_Paypal.Add(paypal); entities.SaveChanges(); ViewBag.Message = "Recharge Succesful !"; } else { ViewBag.Message = "Recharge was UnSuccesful !"; ViewBag.MessageDesc = "Some issue occured in the backend. We haven't deducted money from your wallet. Please try again later"; } } } return(View(model)); }
public ActionResult RedirectFromPaypal(int id) { TB_Paypal p = entities.TB_Paypal.Where(x => x.PaypalId == id).FirstOrDefault(); EWallet wa = entities.EWallets.Where(x => x.EWalletID == p.EWalletID).FirstOrDefault(); p.TransactionID = 1; wa.Amount = wa.Amount + p.Amount; entities.SaveChanges(); ViewBag.Message = "Recharge Succesful !"; ViewBag.MessageDesc = ""; return(View()); }
public ActionResult RechargeWallet(FormCollection forms) { TB_User user = (TB_User)Session["user"]; string txn = forms["txn"]; string number = Guid.NewGuid().ToString().Substring(0, 6); bool useSandbox = Convert.ToBoolean(ConfigurationManager.AppSettings["IsSandbox"]); TB_Paypal paypal = new TB_Paypal(); paypal.Amount = Convert.ToDecimal(txn); paypal.date = DateTime.Now; paypal.EWalletID = user.EWallets.FirstOrDefault().EWalletID; paypal.Type = "Wallet Recharge"; paypal.UserID = user.UserId; entities.TB_Paypal.Add(paypal); entities.SaveChanges(); var pay = new PayPalModel(useSandbox, paypal.PaypalId, true, Convert.ToInt32(txn)); pay.item_name = "Wallet Recharge"; pay.amount = txn; return(View("RechargeStatusSubmit", pay)); }