protected void Page_Load(object sender, EventArgs e) { if (Request.Form["transaction_id"] != null) { string receiverEmail = Request.Form["pay_to_email"]; string amount = Request.Form["amount"]; string transID = Request.Form["transaction_id"]; string custom = Request.Form["field1"]; string itemFields = Request.Form["field2"]; string responsereason = Request.Form["failed_reason_code"]; string[] ids = custom.Split('#'); int orderID = int.Parse(ids[0].ToString()); int storeID = int.Parse(ids[1].ToString()); int portalID = int.Parse(ids[2].ToString()); string userName = ids[3].ToString(); int customerID = int.Parse(ids[4].ToString()); string sessionCode = ids[5].ToString(); string pgid = ids[7].ToString(); selectedCurrency = ids[8].ToString(); string itemids = itemFields.Split('#')[0]; string couponCode = itemFields.Split('#')[1]; MoneybookersWCFService pw = new MoneybookersWCFService(); List <MoneybookersSettingInfo> sf; sf = pw.GetAllMoneybookersSetting(int.Parse(pgid), storeID, portalID); string secretCode = sf[0].MoneybookersSecretWord.Trim(); string merchantAccount = sf[0].MoneybookersMerchantAccount.Trim(); string concatFields = Request.Form["merchant_id"] + Request.Form["transaction_id"] + StringToMD5(secretCode) + Request.Form["mb_amount"] + Request.Form["mb_currency"] + Request.Form["status"]; string MBEmail = merchantAccount;///MerchantEmail string payerEmail = Request.Form["pay_from_email"]; if (Request.Form["status"] == "2") { status = "Processed"; } if (Request.Form["status"] == "1") { status = "Scheduled"; } if (Request.Form["status"] == "0") { status = "Pending"; } if (Request.Form["status"] == "-1") { status = "Cancelled"; } if (Request.Form["status"] == "-2") { status = "Declined"; } if (Request.Form["status"] == "-3") { status = "Chargeback"; } TransactionLogInfo tinfo = new TransactionLogInfo(); TransactionLog Tlog = new TransactionLog(); tinfo.TransactionID = transID; tinfo.AuthCode = Request.Form["status"]; tinfo.TotalAmount = decimal.Parse(amount); tinfo.ResponseCode = Request.Form["status"]; responsereason = status; tinfo.ResponseReasonText = responsereason; tinfo.OrderID = orderID; tinfo.StoreID = storeID; tinfo.PortalID = portalID; tinfo.AddedBy = userName; tinfo.CustomerID = customerID; tinfo.SessionCode = sessionCode; tinfo.PaymentGatewayID = int.Parse(pgid); tinfo.PaymentStatus = status; tinfo.PayerEmail = payerEmail; tinfo.CreditCard = ""; tinfo.RecieverEmail = receiverEmail; tinfo.CurrencyCode = selectedCurrency; Tlog.SaveTransactionLog(tinfo); if (Request.Form["md5sig"] == StringToMD5(concatFields) && Request.Form["status"] == "2" && Request.Form["pay_to_email"] == MBEmail) { MoneybookersHandler.ParseIPN(orderID, transID, status, storeID, portalID, userName, customerID, sessionCode); MoneybookersHandler.UpdateItemQuantity(itemids, couponCode, storeID, portalID, userName); CartManageSQLProvider cms = new CartManageSQLProvider(); AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.CustomerID = customerID; aspxCommonObj.SessionCode = sessionCode; aspxCommonObj.StoreID = storeID; aspxCommonObj.PortalID = portalID; aspxCommonObj.CultureName = null; aspxCommonObj.UserName = null; cms.ClearCartAfterPayment(aspxCommonObj); } else { } } }
public void LoadSetting() { MoneybookersWCFService pw = new MoneybookersWCFService(); List <MoneybookersSettingInfo> sf; OrderDetailsCollection orderdata2 = new OrderDetailsCollection(); orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; string itemidsWithVar = ""; foreach (var item in orderdata2.LstOrderItemsInfo) { itemidsWithVar += item.ItemID + "&" + item.Quantity + "&" + orderdata2.ObjOrderDetails.OrderID + "&" + item.Variants + ","; } double amountTotal = CheckOutSessions.Get <double>("GrandTotalAll", 0) * rate; decimal amount = decimal.Parse(amountTotal.ToString(CultureInfo.InvariantCulture)); string postURL = string.Empty; try { sf = pw.GetAllMoneybookersSetting(CheckOutSessions.Get <int>("GateWay", 0), storeID, portalID); if (bool.Parse(sf[0].IsTestMoneybookers.ToString())) { postURL = "https://www.moneybookers.com/app/payment.pl"; HttpContext.Current.Session["IsTestMoneybookers"] = true; } else { postURL = "https://www.moneybookers.com/app/payment.pl"; HttpContext.Current.Session["IsTestMoneybookers"] = false; } string ids = Session["OrderID"].ToString() + "#" + storeID + "#" + portalID + "#" + userName + "#" + customerID + "#" + sessionCode + "#" + Session["IsTestMoneybookers"].ToString() + "#" + CheckOutSessions.Get <int>("GateWay", 0) + "#" + SelectedCurrency; var sb = new StringBuilder(); sb.Append("<html>"); sb.AppendFormat(@"<body onload='document.forms[""payment""].submit()' >"); sb.AppendFormat("<form name='payment' action='{0}' method='post'><div sytle='display:none;'>", postURL); sb.AppendFormat("<input type=\"hidden\" name=\"pay_to_email\" value=\"" + sf[0].MoneybookersMerchantAccount + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"return_url\" value=\"" + sf[0].MoneybookersSuccessUrl + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"status_url\" value=\"" + sf[0].MoneybookersStatusUrl + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"amount\" value=\"" + Math.Round(amount, 2) + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"currency\" value=\"" + MainCurrency + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"logo_url\" value=\"" + sf[0].MoneybookersLogoUrl + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"cancel_url\" id=\"cancel_url\" value=\"" + sf[0].MoneybookersCancelUrl + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"merchant_fields\" id=\"merchant_fields\" value=\"field1,field2\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"field1\" id=\"field1\" value=\"" + ids + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"field2\" value=\"" + itemidsWithVar + "#" + couponCode + "\" />"); sb.Append("</div></form>"); sb.Append("</body>"); sb.Append("</html>"); Response.Write(sb.ToString()); HttpContext.Current.ApplicationInstance.CompleteRequest(); } catch (Exception ex) { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; ProcessException(ex); } }