public async Task <IActionResult> PayUMoneySuccessful(FormCollection form) { string status = Request.Form["status"].ToString(); string output = "false"; if (status == "success") { string payuMoneyId = Request.Form["payuMoneyId"].ToString(); string PG_TYPE = Request.Form["PG_TYPE"].ToString(); string txnid = Request.Form["txnid"].ToString(); string amount = Request.Form["amount"].ToString(); string productinfo = Request.Form["productinfo"].ToString(); Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User"); Domain.Socioboard.Models.Package _Package = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.Package>("Package"); List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >(); Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString())); Parameters.Add(new KeyValuePair <string, string>("UserName", user.FirstName + " " + user.LastName)); Parameters.Add(new KeyValuePair <string, string>("email", user.EmailId)); Parameters.Add(new KeyValuePair <string, string>("amount", amount)); Parameters.Add(new KeyValuePair <string, string>("PaymentType", user.PaymentType.ToString())); Parameters.Add(new KeyValuePair <string, string>("trasactionId", txnid)); Parameters.Add(new KeyValuePair <string, string>("paymentId", payuMoneyId)); HttpResponseMessage response = await WebApiReq.PostReq("/api/PaymentTransaction/UpgradeAccount", Parameters, "", "", _appSettings.ApiDomain); if (response.IsSuccessStatusCode) { try { string data = await response.Content.ReadAsStringAsync(); if (data == "payment done") { List <KeyValuePair <string, string> > _Parameters = new List <KeyValuePair <string, string> >(); // _Parameters.Add(new KeyValuePair<string, string>("Id", user.Id.ToString())); HttpResponseMessage _response = await WebApiReq.GetReq("/api/User/GetUser?Id=" + user.Id.ToString(), "", "", _appSettings.ApiDomain); if (response.IsSuccessStatusCode) { try { Domain.Socioboard.Models.User _user = await _response.Content.ReadAsAsync <Domain.Socioboard.Models.User>(); HttpContext.Session.SetObjectAsJson("User", _user); //SendInvoiceMerchant(_user.PhoneNumber, _user.EmailId, _user.FirstName, amount, productinfo, txnid, _appSettings.PayUMoneyURL); // output = "true"; return(RedirectToAction("Index", "Home")); } catch { } } } } catch (Exception e) { return(RedirectToAction("Index", "Index")); } } } return(RedirectToAction("Index", "Index")); }
public static Domain.Socioboard.Models.Package GetPackage(string packagename, Model.DatabaseRepository dbr) { try { Domain.Socioboard.Models.Package _package = dbr.Single <Domain.Socioboard.Models.Package>(t => t.packagename.Equals(packagename)); return(_package); } catch (Exception ex) { return(null); } }
public async Task <IActionResult> paymentWithPayUMoney(bool contesnt) { Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User"); Domain.Socioboard.Models.Package _Package = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.Package>("Package"); List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >(); Parameters.Add(new KeyValuePair <string, string>("key", _appSettings.key)); string amount = (Convert.ToDouble(_Package.amount) * Convert.ToDouble(_appSettings.moneyconvertion)).ToString(); string txnid = Generatetxnid(); Parameters.Add(new KeyValuePair <string, string>("txnid", txnid)); Parameters.Add(new KeyValuePair <string, string>("amount", amount)); Parameters.Add(new KeyValuePair <string, string>("productinfo", _Package.packagename)); Parameters.Add(new KeyValuePair <string, string>("firstname", user.FirstName)); Parameters.Add(new KeyValuePair <string, string>("email", user.EmailId)); Parameters.Add(new KeyValuePair <string, string>("phone", user.PhoneNumber)); Parameters.Add(new KeyValuePair <string, string>("surl", _appSettings.surl)); Parameters.Add(new KeyValuePair <string, string>("furl", _appSettings.failUrl)); string hashString = _appSettings.key.ToString() + "|" + txnid + "|" + amount + "|" + _Package.packagename.ToString() + "|" + user.FirstName.ToString() + "|" + user.EmailId.ToString() + "|||||||||||" + _appSettings.salt.ToString(); string hash = Generatehash512(hashString); Parameters.Add(new KeyValuePair <string, string>("hash", hash)); Parameters.Add(new KeyValuePair <string, string>("service_provider", "payu_paisa")); HttpResponseMessage response = await WebApiReq.PostReq("/_payment", Parameters, "", "", "https://secure.payu.in"); if (response.IsSuccessStatusCode) { // string data = await response.Content.ReadAsStringAsync(); if (contesnt != false) { return(Content(response.RequestMessage.RequestUri.OriginalString)); } else { //return Redirect(response.RequestMessage.RequestUri.OriginalString); //return Redirect(response.RequestMessage.RequestUri.OriginalString); return(Content(response.RequestMessage.RequestUri.OriginalString)); } } else { return(null); } }
public async Task <IActionResult> UpgradeAccount(string packagename) { Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User"); if (user == null) { return(RedirectToAction("Index", "Index")); } if (packagename != "Free") { List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >(); Parameters.Add(new KeyValuePair <string, string>("packagename", packagename)); HttpResponseMessage response = await WebApiReq.PostReq("/api/PaymentTransaction/GetPackage", Parameters, "", "", _appSettings.ApiDomain); if (response.IsSuccessStatusCode) { try { Domain.Socioboard.Models.Package _Package = await response.Content.ReadAsAsync <Domain.Socioboard.Models.Package>(); HttpContext.Session.SetObjectAsJson("Package", _Package); if (user.CreateDate.AddDays(29) <= DateTime.UtcNow) { if (user.PaymentType == Domain.Socioboard.Enum.PaymentType.paypal) { return(Content(Helpers.Payment.RecurringPaymentWithPayPalUpgrade(_Package.amount, _Package.packagename, user.FirstName + " " + user.LastName, user.PhoneNumber, user.EmailId, "USD", _appSettings.paypalemail, _appSettings.callBackUrl, _appSettings.failUrl, _appSettings.callBackUrl, _appSettings.cancelurl, _appSettings.notifyUrl, "", _appSettings.PaypalURL))); } else { return(RedirectToAction("paymentWithPayUMoney", "Index")); } } else { if (user.PaymentType == Domain.Socioboard.Enum.PaymentType.paypal) { return(Content(Helpers.Payment.RecurringPaymentWithPayPalUpgrade(_Package.amount, _Package.packagename, user.FirstName + " " + user.LastName, user.PhoneNumber, user.EmailId, "USD", _appSettings.paypalemail, _appSettings.callBackUrl, _appSettings.failUrl, _appSettings.callBackUrl, _appSettings.cancelurl, _appSettings.notifyUrl, "", _appSettings.PaypalURL))); } else { return(RedirectToAction("paymentWithPayUMoney", "Index")); } } } catch { } } } else { List <KeyValuePair <string, string> > _Parameters = new List <KeyValuePair <string, string> >(); _Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString())); HttpResponseMessage _response = await WebApiReq.PostReq("/api/User/UpdateFreeUser", _Parameters, "", "", _appSettings.ApiDomain); if (_response.IsSuccessStatusCode) { try { Domain.Socioboard.Models.User _user = await _response.Content.ReadAsAsync <Domain.Socioboard.Models.User>(); HttpContext.Session.SetObjectAsJson("User", _user); return(Content("")); } catch { } } } return(RedirectToAction("Index", "Index")); }
public async Task <IActionResult> PaymentSuccessful() { string output = "false"; string plan = ""; Domain.Socioboard.Models.User user = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.User>("User"); Domain.Socioboard.Models.Package _Package = HttpContext.Session.GetObjectFromJson <Domain.Socioboard.Models.Package>("Package"); string trasactionId = Generatetxnid(); string paymentId = Request.Form["subscr_id"]; if (_Package.packagename == "Free") { plan = "Free"; } else if (_Package.packagename == "Deluxe") { plan = "Deluxe"; } else if (_Package.packagename == "Premium") { plan = "Premium"; } else if (_Package.packagename == "Topaz") { plan = "Topaz"; } else if (_Package.packagename == "Platinum") { plan = "Platinum"; } else if (_Package.packagename == "Gold") { plan = "Gold"; } else if (_Package.packagename == "Ruby") { plan = "Ruby"; } else if (_Package.packagename == "Standard") { plan = "Standard"; } List <KeyValuePair <string, string> > Parameters = new List <KeyValuePair <string, string> >(); Parameters.Add(new KeyValuePair <string, string>("userId", user.Id.ToString())); Parameters.Add(new KeyValuePair <string, string>("UserName", user.FirstName + " " + user.LastName)); Parameters.Add(new KeyValuePair <string, string>("email", user.EmailId)); Parameters.Add(new KeyValuePair <string, string>("amount", _Package.amount)); Parameters.Add(new KeyValuePair <string, string>("PaymentType", user.PaymentType.ToString())); Parameters.Add(new KeyValuePair <string, string>("trasactionId", trasactionId)); Parameters.Add(new KeyValuePair <string, string>("paymentId", paymentId)); Parameters.Add(new KeyValuePair <string, string>("accType", plan)); HttpResponseMessage response = await WebApiReq.PostReq("/api/PaymentTransaction/UpgradeAccount", Parameters, "", "", _appSettings.ApiDomain); if (response.IsSuccessStatusCode) { try { string data = await response.Content.ReadAsStringAsync(); if (data == "payment done") { List <KeyValuePair <string, string> > _Parameters = new List <KeyValuePair <string, string> >(); //_Parameters.Add(new KeyValuePair<string, string>("Id", user.Id.ToString())); HttpResponseMessage _response = await WebApiReq.GetReq("/api/User/GetUser?Id=" + user.Id.ToString(), "", "", _appSettings.ApiDomain); if (response.IsSuccessStatusCode) { try { Domain.Socioboard.Models.User _user = await _response.Content.ReadAsAsync <Domain.Socioboard.Models.User>(); HttpContext.Session.SetObjectAsJson("User", _user); return(RedirectToAction("Index", "Index")); } catch { } } } } catch (Exception e) { return(RedirectToAction("Index", "Index")); } } return(Content(output)); }