Exemplo n.º 1
0
    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
            {
            }
        }
    }
Exemplo n.º 2
0
    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);
        }
    }