Index: /trunk/eCard/eCardMVC/Platnosci/App_GlobalResources/tlumaczenia.designer.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci/App_GlobalResources/tlumaczenia.designer.cs (revision 915)
+++ /trunk/eCard/eCardMVC/Platnosci/App_GlobalResources/tlumaczenia.designer.cs (revision 919)
@@ -534,4 +534,13 @@
         
         /// <summary>
+        ///   Looks up a localized string similar to PÅatnoÅÄ w trakcie realizacji....
+        /// </summary>
+        internal static string wtrakcie {
+            get {
+                return ResourceManager.GetString("wtrakcie", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Log out.
         /// </summary>
Index: /trunk/eCard/eCardMVC/Platnosci/App_GlobalResources/tlumaczenia.resx
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci/App_GlobalResources/tlumaczenia.resx (revision 915)
+++ /trunk/eCard/eCardMVC/Platnosci/App_GlobalResources/tlumaczenia.resx (revision 919)
@@ -296,3 +296,6 @@
     <value>Sorry! An unexpected error has occured.</value>
   </data>
+  <data name="wtrakcie" xml:space="preserve">
+    <value>PÅatnoÅÄ w trakcie realizacji...</value>
+  </data>
 </root>
Index: /trunk/eCard/eCardMVC/Platnosci/Views/Platnosc/Fail.aspx
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci/Views/Platnosc/Fail.aspx (revision 885)
+++ /trunk/eCard/eCardMVC/Platnosci/Views/Platnosc/Fail.aspx (revision 919)
@@ -7,20 +7,31 @@
 <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
 
-    <p class="pay_error">
-        <asp:Label ID="lab2" runat="server" Text="<%$Resources:tlumaczenia,blad1%>"></asp:Label>
-        <%if (Model.vPlatnosciEcard != null && !String.IsNullOrEmpty(Model.vPlatnosciEcard.Faktura_Numer)){%>
-            <%=Model.vPlatnosciEcard.Faktura_Numer%>
-        <%}%>
-        <asp:Label ID="lab3" runat="server" Text="<%$Resources:tlumaczenia,blad2%>"></asp:Label>
-    </p>
-    <%if (Model.vPlatnosciEcard != null && !String.IsNullOrEmpty(Model.vPlatnosciEcard.Faktura_Numer))
-      {
-        string link2 = HttpContext.GetGlobalResourceObject("tlumaczenia", "KolejnaProba").ToString();%>
-        <p id="link1"><%=Html.ActionLink(link2, "Show", "Platnosc", new { id = ViewData.Model.vPlatnosciEcard.ID_faktury }, null)%></p>
-    <%}
-      else
-      {
-        string link1 = HttpContext.GetGlobalResourceObject("tlumaczenia", "Powrot").ToString(); %>
-        <p id="P1"><%=Html.ActionLink(link1, "LogOn", "Account")%></p>
-    <%} %>
+    <%
+    if (!String.IsNullOrEmpty(Model.info))
+    {
+    %>
+        <%=Model.info%>
+    <%
+    }else{
+    %>
+        <p class="pay_error">
+            <asp:Label ID="lab2" runat="server" Text="<%$Resources:tlumaczenia,blad1%>"></asp:Label>
+            <%if (Model.vPlatnosciEcard != null && !String.IsNullOrEmpty(Model.vPlatnosciEcard.Faktura_Numer)){%>
+                <%=Model.vPlatnosciEcard.Faktura_Numer%>
+            <%}%>
+            <asp:Label ID="lab3" runat="server" Text="<%$Resources:tlumaczenia,blad2%>"></asp:Label>
+        </p>
+        <%if (Model.vPlatnosciEcard != null && !String.IsNullOrEmpty(Model.vPlatnosciEcard.Faktura_Numer))
+          {
+            string link2 = HttpContext.GetGlobalResourceObject("tlumaczenia", "KolejnaProba").ToString();%>
+            <p id="link1"><%=Html.ActionLink(link2, "Show", "Platnosc", new { id = ViewData.Model.vPlatnosciEcard.ID_faktury }, null)%></p>
+        <%}
+          else
+          {
+            
+            string link1 = HttpContext.GetGlobalResourceObject("tlumaczenia", "Powrot").ToString(); %>
+            <p id="P1"><%=Html.ActionLink(link1, "LogOn", "Account")%></p>
+            
+        <%} %>
+     <%}%>   
 </asp:Content>
Index: /trunk/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs (revision 917)
+++ /trunk/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs (revision 919)
@@ -33,5 +33,5 @@
 
         private readonly IRepository<vPlatnosciEcard> _repVPayment;
-        private readonly IRepository<PlatnosciEcard> _repPayment;        
+        private readonly IRepository<PlatnosciEcard> _repPayment; 
         private FunkcjePlatnosci _func;
         private ITranslate _t;
@@ -88,12 +88,18 @@
                 else merchantId = "171485000";
 
+            //przeslanie w linku ordernumber potrzebnego do wyswietlenia potwierdzenia
+            int orderek = 0;
+            orderek = _repPayment.GetOrdernumber(newPayment.ORDERDESCRIPTION, newPayment.IDFaktury, newPayment.Data);
+
             string LinkFail = ConfigurationManager.AppSettings["Strona"];
             LinkFail += "/" + language + ConfigurationManager.AppSettings["LinkFail"];
-            LinkFail += "/" + newPayment.IDFaktury;
+            LinkFail += "/" + newPayment.IDFaktury + "?o=" + orderek;
 
             string LinkOk = ConfigurationManager.AppSettings["Strona"];
             LinkOk += "/" + language + ConfigurationManager.AppSettings["LinkOk"];
-            LinkOk += "/" + newPayment.IDFaktury;
+            LinkOk += "/" + newPayment.IDFaktury + "?o=" + orderek; ;
 
+            //merchantid dla srodowiska testowego
+            merchantId = "171485000";
             wyslij(newPayment, hash, merchantId, LinkFail, LinkOk);
             return new EmptyResult();          
@@ -162,11 +168,13 @@
             return strResponse;
         }
-        private void wyslij(PlatnosciEcard m, string hash, string id, string linkok, string linkfail)
+        private void wyslij(PlatnosciEcard m, string hash, string merchantid, string linkok, string linkfail)
         {
+            //string adres = "https://pay.ecard.pl/payment/PS?ORDERDESCRIPTION=" + m.ORDERDESCRIPTION;
+            
             string adres = "https://pay.ecard.pl/servlet/PSTEST?ORDERDESCRIPTION=" + m.ORDERDESCRIPTION;
             HttpWebRequest req = (HttpWebRequest)WebRequest.Create(adres);
             string dane = "&AMOUNT=" + m.AMOUNT + "&CURRENCY=" + m.CURRENCY + "&ORDERNUMBER=" + m.ORDERNUMBER;
             dane += "&NAME=" + m.NAME + "&SURNAME=" + m.SURNAME + "&LANGUAGE=" + m.LANGUAGE + "&CHARSET=ISO-8859-2";
-            dane += "&COUNTRY=616&PAYMENTTYPE=CARDS&JS=1&HASH=" + hash + "&MERCHANTID=171485000&AUTODEPOSIT=" + m.AUTODEPOSIT;
+            dane += "&COUNTRY=616&PAYMENTTYPE=CARDS&JS=1&HASH=" + hash + "&MERCHANTID=" + merchantid + "&AUTODEPOSIT=" + m.AUTODEPOSIT;
             dane += "&LINKFAIL=" + linkfail + "&LINKOK=" + linkok + "&SESSIONID=" + m.SESSIONID;
             Response.Redirect(adres + dane);
Index: /trunk/eCard/eCardMVC/Platnosci/Controllers/PlatnoscController.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci/Controllers/PlatnoscController.cs (revision 911)
+++ /trunk/eCard/eCardMVC/Platnosci/Controllers/PlatnoscController.cs (revision 919)
@@ -89,5 +89,5 @@
                 kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano); 
                 var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota );
-                return View("Show",viewData);
+                return View("Show",viewData); 
             } 
             if (payer != null)
@@ -108,12 +108,30 @@
             return View(invoiceDeatailsViewData);
         }
-        public ActionResult Fail(string id, string language)
-        {
+        public ActionResult Fail(string id, string language, string o)
+        {
+            int order = ConvertId(o);
             language = _func.setLanguage(language);
             int id1 = ConvertId(id);
             vPlatnosciEcard platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault();
             if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
-            
+
+
             var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "", "");
+
+            //sprawdzamy czy dla kombinacji ordernumber i idfaktury istnieje platnosc,
+            //jesli tak, to sprawdzamy czy przyszlo potwierdzenie z eCardu.             
+            if (order > 0)
+            {
+                PlatnosciEcard pl = _repPayment.Find(p => p.ORDERNUMBER == order && p.IDFaktury == id1).SingleOrDefault();
+                if (pl != null)
+                {
+                    PotwierdzeniaEcard confirm = _repConfirm.Find(p => p.ORDERNUMBER == order).FirstOrDefault();
+                    if (confirm == null)
+                    {
+                        invoiceDeatailsViewData.info = _t.TranslateStr("tlumaczenia","wtrakcie");
+                    }
+                }
+                
+            }            
             return View(invoiceDeatailsViewData);
         }
Index: /trunk/eCard/eCardMVC/Platnosci.Tests/Platnosci.Tests.csproj
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci.Tests/Platnosci.Tests.csproj (revision 911)
+++ /trunk/eCard/eCardMVC/Platnosci.Tests/Platnosci.Tests.csproj (revision 919)
@@ -79,4 +79,5 @@
   <ItemGroup>
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Web\MerchantControllerTests.cs" />
     <Compile Include="Web\FakeDataContext.cs" />
     <Compile Include="Web\FakeTranslate.cs" />
Index: /trunk/eCard/eCardMVC/Platnosci.Tests/Web/FakeTranslate.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci.Tests/Web/FakeTranslate.cs (revision 904)
+++ /trunk/eCard/eCardMVC/Platnosci.Tests/Web/FakeTranslate.cs (revision 919)
@@ -11,10 +11,11 @@
         public string TranslateStr(string className, string keyName)
         {
-            if(keyName == "weryfikacja") return "weryfikacja";
-                else if(keyName == "brakdanych") return "brakdanych";
-                else if(keyName == "zaplacono") return "zaplacono";
-                else if(keyName == "err_imieWK") return "imie";
-                else if(keyName == "err_nazwiskoWK") return "nazwisko";
-            
+            if (keyName == "weryfikacja") return "weryfikacja";
+            else if (keyName == "brakdanych") return "brakdanych";
+            else if (keyName == "zaplacono") return "zaplacono";
+            else if (keyName == "err_imieWK") return "imie";
+            else if (keyName == "err_nazwiskoWK") return "nazwisko";
+            else if (keyName == "error_hash") return "error_hash";
+
             return "";
         }
Index: /trunk/eCard/eCardMVC/Platnosci.Tests/Web/MerchantControllerTests.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci.Tests/Web/MerchantControllerTests.cs (revision 919)
+++ /trunk/eCard/eCardMVC/Platnosci.Tests/Web/MerchantControllerTests.cs (revision 919)
@@ -0,0 +1,61 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using NUnit.Framework;
+using Platnosci.Core.Linq;
+using Platnosci.Core.Interface;
+using MvcContrib.TestHelper;
+using Platnosci.Controllers;
+using Platnosci.Models;
+using System.Web.Mvc;
+
+namespace Platnosci.Tests.Web
+{
+    [TestFixture] 
+    class MerchantControllerTests
+    {
+        private Function _f = new Function();
+        private ITranslate _t = new FakeTranslate();
+
+        [Test]
+        [Category("Unit")]
+        public void IncorrectUserIdentity_ReturnErrorView()
+        {
+            IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
+            vPlatnosciEcard platnosc = _f.createInvoice(123, "nip1", "", 0, 0);
+            repVPayment.Insert(platnosc);
+
+            Payer payer = _f.createPayer(123, "test", "test");
+
+            var controller = new PlatnoscController(repVPayment, null, null, _t);
+            controller.ControllerContext = _f.createControllerContext("nip2");
+
+            var result = controller.Show(payer, "pl") as ViewResult;
+            var error = (ErrorViewData)result.ViewData.Model;
+
+            Assert.That(error.error, Is.EqualTo("weryfikacja"));
+            Assert.That(result.ViewName, Is.EqualTo("Error1"));
+        }
+        [Test]
+        [Category("Unit")]
+        public void PaymentNotFound_ReturnErrorView()
+        {
+            IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
+            vPlatnosciEcard platnosc = _f.createInvoice(12, "nip1", "", 0, 0);
+            repVPayment.Insert(platnosc);
+
+            Payer payer = _f.createPayer(123, "test", "test");
+
+            var controller = new PlatnoscController(repVPayment, null, null, _t);
+            controller.ControllerContext = _f.createControllerContext("nip2");
+
+            var result = controller.Show(payer, "pl") as ViewResult;
+            var error = (ErrorViewData)result.ViewData.Model;
+
+            Assert.That(error.error, Is.EqualTo("brakdanych"));
+            Assert.That(result.ViewName, Is.EqualTo("Error1"));
+        }
+        
+    }
+}
