Nasza aplikacja to jednostronicowa aplikacja utworzona za pomocą ExtJs. Dla każdej akcji użytkownika karta przeglądarki nigdy nie jest ładowana, a wszystkie czynności są wykonywane przy użyciu ajax. Użytkownik może otwierać/zamykać wiele okien/paneli ExtJs na tej samej karcie przeglądarki, w ten sposób wszystko pozostaje ograniczone do tej samej karty przeglądarki.Jak zintegrować bramkę płatności w aplikacjach utworzonych za pomocą struktur javascript, takich jak ExtJs?
Teraz musimy zintegrować bramkę płatności w aplikacji, co oznacza przekierowanie użytkownika na stronę banku i przywrócenie jej do naszej aplikacji.
Problem jest, że gdy przeglądarka przekierowuje użytkownika, a następnie cała aplikacji kodu JavaScript wraz z paneli i okien ulec zniszczeniu, a gdy użytkownik wraca do aplikacji następnie dowiaduje się, że jest inny od jednego zostawiła.
Jako rozwiązanie tego, byliśmy na myśli używając następujących dwóch appraoches:
wariant 1. Utrzymanie stanu aplikacji - Gdy użytkownik odchodzi na stronie internetowej banku potem jakoś utrzymać stan aplikacji - np. które okna są otwierane niosąc jakie dane, które zmienne mają jakie wartości itp .. a kiedy użytkownik wróci, generujemy dla niej ten sam stan aplikacji.
Wariant 2. Mają wyskakujące okienko przeglądarki, bramki płatności - Zamierzamy dostarczyć przycisk, który otworzy się okienko pop-up przenoszenia szczegółów transakcji, aw tym oknie pop-up Cały proces płatności płatniczych odbędzie się, dbając o przekierowanie i wszystko.
Opcja 1 okazuje się być bardzo kłopotliwa i skomplikowana, ponieważ utrzymanie dokładnego stanu nie jest możliwe.
W przypadku opcji 2 nie jesteśmy pewni, czy jest to bezpieczne i możliwe?
Ktoś wdrożył takie podejście wcześniej. W przeciwnym razie, jakie są inne opcje, które możemy wybrać?
Dzięki za pomoc z góry.
Dziękujemy za podzielenie się swoim podejściem do okna pop-up. Interesujące jest to, że używasz websocket/polling do powiadamiania o oknie nadrzędnym. W rzeczywistości zamierzamy wywołać funkcję w oknie nadrzędnym przy rozładowywaniu/zamykaniu okna podrzędnego dla tego powiadomienia, jeśli zastosujemy podejście pop-up. Czy próbowałeś tego również i znalazłeś jakieś problemy, które sprawiły, że wybrałeś opcję websocket? – netemp
@netemp Celem było utrzymanie ich całkowicie oddzielone od początku. Dlatego skupiłem się na tym podejściu. To był raczej projekt, niż jakikolwiek znany problem. – sra
Dzięki za wspomniany punkt. Czy mógłbyś się również podzielić tym, że natknąłeś się na jakiś problem z pop-blockerem? Czy masz zastrzeżenia, że okna pop-up są generalnie blokowane przez przeglądarki, a zatem należy ich unikać? – netemp