Pokaż
Ignoruj:
Data:
2009-12-07 13:50:14 (16 years ago)
Autor:
alina
Opis:

re #215 male poprawki

Pliki:
1 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs

    r933 r934  
    2020        public const string KODOWANIE = "ISO-8859-2"; 
    2121        public const string HASH_ERROR_INFO = "payment not exist"; 
    22         private string _merchantId; 
    23         private string _merchantPassword; 
    2422 
    2523        private readonly IRepository<vPlatnosciEcard> _repVPayment; 
     
    4442            var platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault(); 
    4543                  
    46             if (platnosc == null) 
    47             { 
    48                 ErrorViewData errorViewData = _funkcjePlatnosci.InitErrorViewData(_translateManager.Translate("tlumaczenia", "brakdanych")); 
    49                 return View("Error1", errorViewData); 
    50             } 
     44            if (platnosc == null)  
     45                return View("Error1", IsError("brakdanych", 0)); 
    5146             
    5247            if (!_funkcjePlatnosci.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 
    53             { 
    54                 ErrorViewData errorViewData = _funkcjePlatnosci.InitErrorViewData(_translateManager.Translate("tlumaczenia", "weryfikacja")); 
    55                 return View("Error1", errorViewData); 
    56             } 
     48                return View("Error1", IsError("weryfikacja", 0));            
    5749 
    5850            var waluta = _funkcjePlatnosci.setAmount(platnosc); 
     
    6456             
    6557            if (createPayment == false) 
    66             { 
    67                 ErrorViewData errorViewData = _funkcjePlatnosci.InitErrorViewData(_translateManager.Translate("tlumaczenia", "error_hash")); 
    68                 errorViewData.InvoiceId = payer.Id_faktury; 
    69                 return View("Error1", errorViewData); 
    70             } 
     58                return View("Error1", IsError("error_hash", payer.Id_faktury)); 
    7159 
    72             _merchantId = systemKs == "1" ? "171485000" : "170906000"; 
    73             _merchantPassword = systemKs == "1" ? "ashSeth2" : "JaYpqfs0"; 
     60            var merchant = getMerchantInfo(systemKs);           
    7461 
    75             var hash = GetHash(newPayment, _merchantId, _merchantPassword); 
     62            var hash = GetHash(newPayment, merchant); 
    7663            hash = hash.Replace("\n",""); 
    77              
     64           
    7865            if (hash == BAD_HASH || hash == "" || hash == HASH_ERROR_INFO) 
    79             { 
    80                 ErrorViewData errorViewData = _funkcjePlatnosci.InitErrorViewData(_translateManager.Translate("tlumaczenia", "error_hash")); 
    81                 errorViewData.InvoiceId = payer.Id_faktury; 
    82                 return View("Error1", errorViewData); 
    83             } 
     66                return View("Error1", IsError("error_hash", payer.Id_faktury)); 
    8467 
    8568            //przeslanie w linku ordernumber potrzebnego do wyswietlenia potwierdzenia 
     
    9477            linkOk += "/" + newPayment.IDFaktury + "?o=" + orderek; 
    9578             
    96             SendRequest(newPayment, hash, _merchantId, linkFail, linkOk); 
     79            SendRequest(newPayment, hash, merchant, linkFail, linkOk); 
    9780            return new EmptyResult();           
    98         } 
     81        }         
    9982        private PlatnosciEcard InitNewPayment(int id, vPlatnosciEcard platnosc, Waluta waluta, Payer payer) 
    10083        { 
     
    131114        } 
    132115 
    133         private string GetHash(PlatnosciEcard p, string merchantId, string merchantPassword) 
     116        private string GetHash(PlatnosciEcard p, Merchant merchant) 
    134117        { 
    135118            var platnosc = _repPayment.Find(i => i.ORDERDESCRIPTION == p.ORDERDESCRIPTION && i.IDFaktury == p.IDFaktury && i.Data == p.Data).First(); 
     
    141124            var dane = "&orderDescription=&amount=" + platnosc.AMOUNT; 
    142125            dane += "&currency=" + platnosc.CURRENCY; 
    143             dane += string.Format("&merchantId={0}&password={1}", merchantId, merchantPassword); 
     126            dane += string.Format("&merchantId={0}&password={1}", merchant.merchntId, merchant.merchantPassword); 
    144127 
    145128            var bdata = System.Text.Encoding.ASCII.GetBytes(dane); 
     
    159142        } 
    160143 
    161         private void SendRequest(PlatnosciEcard m, string hash, string merchantid, string linkok, string linkfail) 
     144        private void SendRequest(PlatnosciEcard m, string hash, Merchant merchant, string linkok, string linkfail) 
    162145        { 
    163146            var adres = ConfigurationManager.AppSettings["eCard.Url"] + "?ORDERDESCRIPTION=" + m.ORDERDESCRIPTION; 
     
    165148            var dane = "&AMOUNT=" + m.AMOUNT + "&CURRENCY=" + m.CURRENCY + "&ORDERNUMBER=" + m.ORDERNUMBER; 
    166149            dane += "&NAME=" + m.NAME + "&SURNAME=" + m.SURNAME + "&LANGUAGE=" + m.LANGUAGE + "&CHARSET=ISO-8859-2"; 
    167             dane += "&COUNTRY=616&PAYMENTTYPE=CARDS&JS=1&HASH=" + hash + "&MERCHANTID=" + merchantid + "&AUTODEPOSIT=" + m.AUTODEPOSIT; 
     150            dane += "&COUNTRY=616&PAYMENTTYPE=CARDS&JS=1&HASH=" + hash + "&MERCHANTID=" + merchant.merchntId + "&AUTODEPOSIT=" + m.AUTODEPOSIT; 
    168151            dane += "&LINKFAIL=" + linkfail + "&LINKOK=" + linkok + "&SESSIONID=" + m.SESSIONID; 
    169152            Response.Redirect(adres + dane); 
    170153        } 
     154        public ErrorViewData IsError(string errortxt, int idFaktury) 
     155        { 
     156            if (errortxt == "brakdanych") 
     157                errortxt = _translateManager.Translate("tlumaczenia", "brakdanych"); 
     158            else if (errortxt == "weryfikacja") 
     159                errortxt = _translateManager.Translate("tlumaczenia", "weryfikacja"); 
     160            else if (errortxt == "error_hash") 
     161                errortxt = _translateManager.Translate("tlumaczenia", "error_hash"); 
     162 
     163            return _funkcjePlatnosci.InitErrorViewData(errortxt, idFaktury); 
     164        } 
     165        public Merchant getMerchantInfo( string systemKs) 
     166        { 
     167            var merchant = new Merchant(); 
     168            if (systemKs == "1") 
     169            { 
     170                merchant.merchntId = "171485000"; 
     171                merchant.merchantPassword = "ashSeth2"; 
     172            } 
     173            else 
     174            { 
     175                merchant.merchntId = "170906000"; 
     176                merchant.merchantPassword = "JaYpqfs0"; 
     177            }               
     178            return merchant; 
     179        } 
    171180    } 
    172181}