public ActionResult BeginConfirm(TransactionConfirmationModel model) { if (model.Amount <= 0) { ModelState.AddModelError("Amount", "The field Amount must be greater than zero"); } else { try { var rublon = new Rublon2Factor(Globals.SystemToken, Globals.SecretKey); var message = string.Format("Do you confirm transaction no. {0} with the amount of {1:C}?", model.TransactionID, model.Amount); var parameters = new JObject(); parameters.Add("transId", model.TransactionID); var url = rublon.Confirm(Globals.Host + "/Callback/TransactionConfirm", User.Identity.Name, User.Identity.Name, message, parameters); if (!string.IsNullOrEmpty(url)) { return Redirect(url); } } catch (Exception) { ModelState.AddModelError("", "Transaction confirm failed"); } } return View("ConfirmTransaction"); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { hiddenTransactionId.Value = new Random().Next().ToString(); lbTransactionId.Text = hiddenTransactionId.Value; } else { try { var amount = decimal.Parse(tbAmount.Text); if (amount <= 0) { validatorAmountValue.IsValid = false; } else { try { var rublon = new Rublon2Factor(Globals.SystemToken, Globals.SecretKey); var message = string.Format("Do you confirm transaction no. {0} with the amount of {1:C}?", hiddenTransactionId.Value, amount); var parameters = new JObject(); parameters.Add("transId", hiddenTransactionId.Value); var user = Membership.GetUser(User.Identity.Name); var url = rublon.Confirm("http://localhost:53637/Callback/ConfirmTransaction", User.Identity.Name, user.Email, message, parameters); if (!string.IsNullOrEmpty(url)) { Response.Redirect(url); } } catch (Exception) { } } } catch(Exception) { validatorAmountType.IsValid = false; } } }