Exemplo n.º 1
0
        public override string RedirectForPayment(OrderData orderData)
        {
            orderData.OrderStatus = "020";
            orderData.PurchaseInfo.SetXmlProperty("genxml/paymenterror", "");
            orderData.PurchaseInfo.Lang = Utils.GetCurrentCulture();
            orderData.SavePurchaseData();
            try
            {
                HttpContext.Current.Response.Clear();
                HttpContext.Current.Response.Write(ProviderUtils.GetBankRemotePost(orderData));
            }
            catch (Exception ex)
            {
                // rollback transaction
                orderData.PurchaseInfo.SetXmlProperty("genxml/paymenterror", "<div>ERROR: Invalid payment data </div><div>" + ex + "</div>");
                orderData.PaymentFail();
                var param = new string[3];
                param[0] = "orderid=" + orderData.PurchaseInfo.ItemID.ToString("");
                param[1] = "status=0";
                return Globals.NavigateURL(StoreSettings.Current.PaymentTabId, "", param);
            }

            try
            {
                HttpContext.Current.Response.End();
            }
            catch (Exception ex)
            {
                // this try/catch to avoid sending error 'ThreadAbortException'
            }

            return "";
        }
Exemplo n.º 2
0
 public override string ProcessPaymentReturn(HttpContext context)
 {
     var orderid = Utils.RequestQueryStringParam(context, "orderid");
     if (Utils.IsNumeric(orderid))
     {
         var status = Utils.RequestQueryStringParam(context, "status");
         if (status == "0")
         {
             var orderData = new OrderData(Convert.ToInt32(orderid));
             if (orderData.OrderStatus == "020") // check we have a waiting for bank status (Cancel from bank seems to happen even after notified has accepted it as valid??)
             {
                 var rtnerr = orderData.PurchaseInfo.GetXmlProperty("genxml/paymenterror");
                 rtnerr = "."; // to return this so a fail is activated.
                 orderData.PaymentFail();
                 return rtnerr;
             }
         }
     }
     return "";
 }