Exemplo n.º 1
0
        public async Task <Dictionary <string, string> > Rejestracja_Trasakcji(Zamowienie zam)
        {
            DateTime data           = DateTime.Now;
            string   p24_session_id = Generuj_Session_Id(zam.Id);
            Platnosc Platnosc       = new Platnosc()
            {
                Data_rozpoczęcia_platnosci = data,
                Id        = zam.Id,
                Status    = Status.Oczekuje,
                SessionId = p24_session_id
            };

            _repo.Dodaj_Platnosc(Platnosc);
            _repo.SaveChanges();
            string p24_description       = "Zamowienie ze Sklepu Bab.pl";
            string p24_sign_for_register = p24_session_id + "|" + p24_merchant_id.ToString() + "|" + (zam.Cena_Brutto * 100).ToString("0.##") + "|" + p24_currency + "|" + crc_sandbox;

            var values = new Dictionary <string, string>
            {
                { "p24_session_id", p24_session_id },
                { "p24_merchant_id", p24_merchant_id.ToString() },
                { "p24_pos_id", p24_pos_id.ToString() },
                { "p24_sign", GetMd5Hash(p24_sign_for_register) },
                { "p24_amount", (zam.Cena_Brutto * 100).ToString("0.##") },
                { "p24_currency", p24_currency },
                { "p24_description", p24_description },
                { "p24_email", _repo.PobierzEmail(zam.UzytkownikId) },
                { "p24_url_return", return_url_moja_aplikacja },
                { "p24_url_status", status_url_moja_aplikacja },
                { "p24_country", p24_country },
                { "p24_api_version", p24_api_version }
            };
            string odpowiedz = await Wyslij_formularz(url_sand_z_rejestracja, new FormUrlEncodedContent(values));

            var slownik = odpowiedz.Split('&')
                          .Select(x => x.Split('='))
                          .ToDictionary(x => x[0], x => x[1]);

            Platnosc.Token = slownik["token"];
            _repo.Aktualizuj_Platnosc(Platnosc);
            _repo.SaveChanges();
            return(slownik);
        }