Kasa z priorytetem UPI dla indyjskich sklepów D2C: zaprojektuj szybki przepływ UPI intent, dodaj inteligentne fallbacki dla kart i netbankingu i zmniejsz porzucenia mobilne dzięki czytelnemu UI.

Na urządzeniach mobilnych w Indiach klienci oczekują, że płatność będzie przypominać przekazanie pieniędzy znajomemu: szybka, znajoma i z minimalnym wpisywaniem danych. Jeśli muszą wpisywać długi numer karty, szukać kodu IFSC lub przełączać aplikacje bez jasnych wskazówek, wielu zrezygnuje nawet jeśli potrzebowało produktu.
To w płatnościach większość kas D2C traci ludzi, bo to pierwszy moment, który wydaje się ryzykowny. Klient ma zamiar rozstać się z pieniędzmi, często jest na słabym łączu i może żonglować OTP, przełączeniami aplikacji i rozproszeniami. Małe opóźnienie lub mylący ekran mogą wyglądać jak awaria.
Kasa z priorytetem UPI oznacza po prostu, że UPI jest domyślną, najszybszą ścieżką, którą pokazujesz i którą najlepiej obsługujesz. Nie znaczy to, że UPI jest jedyną opcją. Karty i netbanking nadal są istotne, ale powinny występować jako fallbacki, a nie konkurujące wybory, które spowalniają decyzję.
Dobrze zaprojektowany przepływ UPI optymalizuje cztery rzeczy:
Na przykład: kupujący z Instagrama stuknie „Kup”, trafi na krok płatności i zobaczy UPI u góry z sugestią ostatnio używanej aplikacji. Stuknie raz, zatwierdzi w aplikacji UPI i wróci do czytelnego ekranu sukcesu. Jeśli coś pójdzie nie tak, powinien zobaczyć prosty komunikat typu „Płatność jeszcze nie potwierdzona” z bezpieczną podpowiedzią, zamiast utknąć lub zapłacić dwukrotnie.
Gdy zaprojektujesz szybkość, jasność i odzyskiwanie, zmniejszysz porzuceń bez naciskania użytkowników do jednego sposobu płatności.
Kasa wydaje się „prosta”, gdy zespół produktowy wcześniej już zdecydował, co klient powinien zrobić dalej w każdej typowej sytuacji. Jeśli pominiesz ten krok i od razu wejdziesz w UI, zwykle skończysz z przeładowaną stroną płatności i większymi porzuceniami.
Zacznij od nazwania głównej ścieżki. Dla indyjskiego sklepu D2C często oznacza to kasę z priorytetem UPI, gdzie domyślną akcją jest jednokrokowy UPI intent: użytkownik wybiera aplikację i finalizuje płatność w swojej aplikacji UPI przy minimalnym wpisywaniu.
Następnie zdefiniuj ścieżki drugorzędne jako przemyślane fallbacki, nie równe wybory. Myśl o nich jak o „wyjściach awaryjnych” na wypadek, gdy intent nie jest możliwy (brak aplikacji UPI, awaria aplikacji, użytkownik woli inną metodę). Utrzymaj ich zestaw mały i przewidywalny, żeby użytkownicy się nie wahać.
Użyj prostej zasady: domyślnie wybieraj najszybszą opcję i rozszerzaj tylko gdy to konieczne.
Teraz zdecyduj, kiedy każda opcja się pojawia. Na przykład: pokaż UPI intent najpierw dla użytkowników mobilnych przy typowej wartości zamówienia, ale pokaż kartę wyżej, gdy wykryjesz droższe zamówienie lub powracającego kupującego, który ostatnio używał karty.
Kryteria sukcesu powinny być spisane zanim zaczniesz prace nad UI. Celuj w mniej kroków, mniej możliwości popełnienia literówki i oczywisty stan potwierdzenia. Dobry test to opisanie przepływu w jednym zdaniu: „Stuknij Zapłać przez UPI, zatwierdź w aplikacji, wróć i zobacz potwierdzenie.” Jeśli nie potrafisz tego wyrazić prosto, projekt ekranu też będzie mieć problemy.
Krótki scenariusz: kupujący na wolnym 4G powinien nadal widzieć jeden jasny przycisk główny, a resztę dopiero po stuknięciu „Więcej opcji”. To zmniejsza przeciążenie wyborem i utrzymuje najszybszą ścieżkę na pierwszym planie.
Na urządzeniu mobilnym najszybsza kasa to ta, która jasno pokazuje następny krok. Układ z priorytetem UPI powinien prowadzić większość kupujących do przełączenia aplikacji (intent) jednym stuknięciem, jednocześnie trzymając inne metody blisko, aby nikt nie czuł się uwięziony.
Praktyczna kolejność metod płatności: najpierw UPI intent (Zapłać przez aplikację UPI), potem UPI QR lub UPI ID, potem karty, potem netbanking. Umieść pierwszą opcję w wyraźnej karcie, a resztę schowaj za prostym wierszem „Więcej opcji płatności”, aby ekran pozostał spokojny.
Etykiety mają znaczenie, bo ustawiają oczekiwania. Unikaj niejasnych przycisków typu „Dalej” lub „Kontynuuj”. Używaj opisowych etykiet akcji, takich jak „Zapłać przez aplikację UPI” (otworzy twoją aplikację UPI) lub „Zapłać kartą” (wprowadź dane karty). Jeśli obsługujesz wiele aplikacji UPI, pokaż „Wybierz aplikację UPI” dopiero po pierwszym stuknięciu, nie jako długą listę od razu.
Umieść szczegóły kwoty tam, gdzie można je potwierdzić bez przewijania: całkowita kwota blisko dolnej części, przy przycisku głównym, z małym „Pokaż szczegóły rachunku” rozwijanym elementem dla przesyłki, rabatów i podatków. Dodaj jeden lub dwa sygnały zaufania obok przycisku płatności (np. „Bezpieczna płatność” i „Proste zwroty”) i utrzymaj je krótkie, żeby nie przesunęły przycisku zbyt nisko.
Utrzymuj stabilność układu. Zarezerwuj miejsce na teksty błędów i stany ładowania, aby przycisk nie skakał. Wyłącz zmianę metody podczas tworzenia żądania płatności i pokaż wyraźny spinner z jedną linią typu „Otwieranie aplikacji UPI…”, aby zapobiec podwójnym stuknięciom.
Domyślnie zwijaj rzadko używane metody i rozwijaj je tylko na żądanie. Zbyt wiele jednakowo wyglądających opcji powoduje przeciążenie wyborem i spowalnia decyzję, szczególnie na małych ekranach.
Dobra kasa z priorytetem UPI utrzymuje użytkownika w ruchu przy minimalnym czytaniu. Cel: potwierdzić, stuknąć raz, dokończyć w aplikacji UPI, wrócić i zobaczyć potwierdzenie zamówienia.
Zacznij od kompaktowego podsumowania zamówienia mieszczącego się na jednym ekranie. Pokaż wyraźnie kwotę całkowitą oraz 1–2 kluczowe linie (liczba przedmiotów, miasto adresu dostawy, przewidywana dostawa). Unikaj długich koszyków lub dodatkowych pól tutaj. Jeśli coś musi być edytowalne, zrób z tego małą akcję „Zmień”, która nie wyrzuca użytkownika z procesu płatności.
Następnie ustaw „Zapłać przez UPI” jako główną akcję. Po stuknięciu uruchom przepływ UPI intent, aby telefon pokazał zainstalowane aplikacje UPI (na przykład PhonePe, Google Pay, Paytm, BHIM). Jeśli obsługujesz też UPI ID, trzymaj go jako opcję drugorzędną, aby większość ludzi mogła po prostu wybrać aplikację.
Gdy użytkownik wróci z aplikacji UPI, obsłuż trzy wyniki i spraw, by każdy wyglądał bezpiecznie:
Dla „sprawdzania” pokaż ekran przetwarzania ze spinnerem i prostym komunikatem typu „Potwierdzamy płatność. Może to potrwać do 30 sekund.” Polluj swój serwer po ostateczny status. Nie proś użytkownika o ponowną płatność w tym oknie.
Po potwierdzeniu przejdź do prostego ekranu potwierdzenia: numer zamówienia, zapłacona kwota, adres dostawy i następne akcje typu „Śledź zamówienie” i „Kontynuuj zakupy.” Utrzymaj go czytelnym, aby użytkownik natychmiast zaufał rezultatowi.
Kasa z priorytetem UPI musi traktować awarie jako normalne, nie jako błąd użytkownika. Cel jest prosty: zabezpieczyć zamówienie, uspokoić kupującego i uczynić następny krok oczywistym.
Jeśli telefon nie ma aplikacji UPI (lub uruchomienie intentu się nie powiedzie), nie zostawiaj kupującego na spinnerze. Powiedz wprost, co się stało, i natychmiast zaproponuj działającą opcję, jak UPI QR, plus karty i netbanking.
Kiedy kupujący anulował w aplikacji UPI, nie karć go komunikatem „Płatność nie powiodła się”. Dokonał wyboru lub został rozproszony. Przywróć go do kasy neutralnym komunikatem typu „Płatność nie została ukończona” i zachowaj koszyk, adres i wybraną metodę.
Stany oczekujące są powszechne przy słabej sieci i opóźnieniach banków. Traktuj „oczekujące” jako odrębny stan, nie jako porażkę.
Duplikaty płatności zwykle zdarzają się, gdy ludzie wielokrotnie stukają „Zapłać” zbyt szybko. Zapobiegaj temu jasnym statusem i delikatnymi ograniczeniami. Wyłącz przycisk Zapłać w momencie przekazania do UPI i pokaż „Oczekiwanie na potwierdzenie” z kwotą i czasem ostatniej próby.
Jeśli przekroczysz limit czasu, unikaj „Ponów teraz” jako jedynej opcji. Oferuj bezpieczne ponowienie po krótkim okresie ochłodzenia i wyjaśnij, że nie obciążysz użytkownika podwójnie, jeśli pierwsza próba powiedzie się później.
Przykład: Riya płaci przez UPI, wraca do twojej aplikacji i widzi „Potwierdzanie płatności (do 30 sekund)”. Jeśli nadal jest oczekujące, może zamknąć ekran i później stuknąć „Sprawdź status” na stronie zamówienia zamiast panikować i płacić ponownie.
Dobra kasa z priorytetem UPI nie pokazuje wszystkich opcji płatności od razu. Najpierw „zarabia” próbę UPI, potem oferuje spokojny, szybki fallback tylko gdy użytkownik go potrzebuje. Jeśli pokażesz karty i netbanking zbyt wcześnie, wielu kupujących się zawaha, porówna i porzuci.
Wywołuj fallback tylko po wyraźnym problemie z UPI: użytkownik anulował w aplikacji UPI, intent przekroczył czas lub otrzymałeś błąd od bramki. Dla niepewnych stanów (np. „oczekujące”) nie namawiaj ich od razu do innej metody, co mogłoby spowodować podwójną płatność. Zamiast tego pokaż krótki ekran statusu z jedną akcją „Spróbuj UPI ponownie” i drugą „Użyj innej metody”.
Gdy kupujący zmienia metodę, zachowaj jego postęp. Koszyk, adres wysyłki, kupon i wybrana opcja dostawy powinny pozostać niezmienione. Jeśli już zebrałeś e‑mail/telefon do potwierdzeń, nie pytaj ponownie.
Utrzymuj kroki fallback krótkie i przewidywalne:
Przykład: kupujący stuknął „Zapłać przez UPI”, został przeniesiony do aplikacji UPI, a potem wrócił z komunikatem „Płatność nie została ukończona”. Pokaż „Spróbuj ponownie” jako pierwszą opcję. Pod nią zaoferuj „Zapłać kartą” i „Netbanking”. Jeśli wybierze kartę, uzupełnij imię i e‑mail do rozliczenia, zachowaj koszyk bez zmian i pozwól natychmiast wrócić do UPI jeśli zmieni zdanie.
Mobilna kasa zawodzi, gdy ekran zmusza kupującego do myślenia. Wybierz jedną wyraźną akcję główną i spraw, by wszystko inne było drugorzędne. Jeśli robisz kasę z priorytetem UPI, główny przycisk powinien brzmieć „Zapłać przez UPI” lub „Otwórz aplikację UPI”, a nie niejasne „Kontynuuj”.
Unikaj konkurujących przycisków (np. „Zapłać teraz”, „Zastosuj kupon” i „Edytuj adres” krzyczących naraz). Trzymaj dodatki jako małe linki tekstowe lub w zwijanych wierszach.
Używaj odstępów przyjaznych kciukowi. Większość stuknięć odbywa się jedną ręką, więc daj przyciskom odpowiednią wysokość i trzymaj je z dala od dolnej krawędzi, gdzie gesty mogą przeszkadzać. Używaj czytelnych rozmiarów tekstu, aby kupujący nie musieli powiększać ekranu, by potwierdzić kwotę.
Wpisywanie jest wolne na mobile. Wstępnie uzupełniaj co możesz (telefon i e‑mail z konta, ostatnio używany adres, zapisany UPI ID jeśli kupujący go wcześniej używał). Gdy musisz poprosić o dane, trzymaj jedno pole na ekran i pokaż typ klawiatury dopasowany do pola (klawiatura numeryczna dla telefonu).
Komunikaty o błędach powinny być krótkie, konkretne i mówić co zrobić dalej. „Coś poszło nie tak” to ślepy zaułek. Lepszy wzorzec: co się stało + co zrobić teraz.
Lekkie sygnały zaufania działają lepiej niż długie akapity. Pokaż małą notkę „Bezpieczna płatność”, trzymaj nazwę sprzedawcy spójną w nagłówku i w podpowiedziach płatności oraz zawsze wyświetl ostateczną kwotę blisko głównego przycisku.
Szybki check UI, który łapie większość porzuceń:
Wiele porzuceń nie wynika z ceny czy zaufania. Dzieje się to, ponieważ przepływ płatności wydaje się niepewny na małym ekranie. Dobra kasa z priorytetem UPI powinna przypominać jedno ciągłe zadanie, nawet gdy użytkownik przeskakuje do aplikacji UPI i wraca.
Oto problemy, które powtarzają się w indyjskich kasach mobilnych:
Konkretny przykład: kupujący stuknął Zapłać, przeszedł do aplikacji UPI, potem wrócił na stronę sklepu i zobaczył ponownie stronę koszyka. Nie wie, czy środki zostały pobrane, więc wychodzi. Lepszy rezultat to pojedynczy ekran statusu, który wyjaśnia, co sklep robi (sprawdza płatność) i co kupujący może zrobić (czekać, sprawdzić aplikację UPI lub wybrać inną metodę).
Kasa może wyglądać „w porządku” i mimo to tracić kupujących, bo jeden mały krok zawodzi na mobile. Traktuj przepływ płatności jak lejek z wyraźnymi zdarzeniami, aby widzieć dokładnie, gdzie ludzie wychodzą i dlaczego.
Zacznij od śledzenia głównej ścieżki, od wyboru metody płatności do ostatecznego potwierdzenia. Celem jest rozdzielenie „użytkownik zmienił zdanie” od „przepływ się zepsuł” i „bank/UPI był wolny.” W kasie z priorytetem UPI przekazanie do aplikacji UPI jest najbardziej kruche, więc mierz je z dodatkową starannością.
Zarejestruj mały zestaw zdarzeń, które wyjaśnią większość strat:
Liczby bez kontekstu mogą mylić, więc segmentuj dane. Rozbij lejki według urządzenia (Android vs iOS, słaby vs mocny), jakości sieci (wolna/niestabilna vs dobra) i nowych vs powracających klientów. Wiele „problemów z konwersją” to w rzeczywistości „słaby telefon + zła sieć”.
Gdy masz bazowe wartości, przeprowadzaj proste testy A/B, zmieniając jedną rzecz naraz:
Trzymaj testy krótko, obserwuj stawki błędów i oczekiwań i przerywaj wcześnie, jeśli widzisz więcej nieznanych stanów. Nieco niższe CTR może być warte, jeśli zmniejszy utknięcia płatności i zgłoszenia do supportu.
Kasa z priorytetem UPI jest „szybka” tylko wtedy, gdy zachowuje się przewidywalnie na realnych telefonach, z realnymi sieciami i realnymi aplikacjami UPI. Przeprowadź ten przebieg na co najmniej 2 urządzeniach Android (w tym jedno średniej klasy) i przetestuj na wolnej sieci.
Po tych sprawdzeniach zrób krótki wewnętrzny „dzień testowej sprzedaży”, podczas którego zespół złoży kilka testowych zamówień end‑to‑end i oznaczy wszystkie mylące momenty.
Raz w tygodniu przeglądaj główne przyczyny błędów i pojedynczy krok z największym odpływem (często przekazanie do aplikacji UPI, powrót do przeglądarki lub ekran oczekujący). Najpierw napraw największy przeciek, potem mierz ponownie.
Riya kupuje w twoim sklepie D2C po raz pierwszy. Ma słabszy telefon Android, korzysta z mobilnych danych, które przełączają się między 4G i 3G. Chce zapłacić szybko i wrócić do dnia.
Dociera do płatności i widzi jeden wyraźny domyślny wybór: UPI na górze z krótką wskazówką: „Zapłać w swojej aplikacji UPI. Zajmuje około 10 sekund.” Poniżej mniejsze opcje mówią „Karta” i „Netbanking”. To kasa z priorytetem UPI, bez ukrywania fallbacków.
Riya stuknie „Zapłać przez aplikację UPI”. Twój ekran pokaże: „Otwieranie aplikacji UPI…” i jedną akcję: „Zmień aplikację UPI”. Jej aplikacja UPI otworzy się, zatwierdzi, a ona zostanie odesłana z powrotem.
Z powrotem w sklepie wiadomość jest prosta i pewna: „Płatność zakończona” z „Zamówienie potwierdzone” i widocznym numerem zamówienia. Brak dodatkowych kroków, brak formularzy.
Następnym razem zatwierdzenie w aplikacji UPI się powiedzie, ale powrót do sklepu będzie wolny. Nie pokazuj „Niepowodzenie” tylko dlatego, że nie dostałeś natychmiastowego callbacku. Pokaż neutralny stan:
To miejsce, w którym wiele sklepów traci użytkowników: pokazują straszny błąd lub namawiają do natychmiastowego ponowienia, co powoduje podwójne płatności i panikę.
Jeśli stan oczekujący trwa zbyt długo, zaoferuj wybór szanujący to, co Riya może widzieć po stronie banku:
„Nadal oczekujące. Wybierz, co chcesz zrobić:”
Jeśli wybierze fallback, zachowaj koszyk i adres. Wstępnie uzupełnij wszystko, co możesz, pokaż „Karta” i „Netbanking” jednym stuknięciem i utrzymaj obietnicę: „Nie zostaniesz obciążona dwukrotnie. Jeśli wcześniejsza płatność potwierdzi się, anulujemy tę próbę automatycznie.”
Gdy wszystko działa dobrze, Riya czuje dwie rzeczy: szybkość (intent UPI otwiera się natychmiast) i bezpieczeństwo (oczekujący jest wyjaśniony, a każdy wybór jasny).
Traktuj pierwsze wydanie jako bezpieczną, skoncentrowaną na konwersji bazę: jasna ścieżka UPI jako domyślna plus niezawodny fallback do kart i netbankingu. Unikaj dodawania wszystkich portfeli, ofert i edge‑case’ów UI w dniu zero. Mały zakres ułatwia zauważenie, co faktycznie zmniejsza porzuceń.
Zanim zaczniesz kodować, napisz jedn stronny spec dla stanów płatności i jak zachowuje się aplikacja w każdym z nich. Ważne są nie etykiety, a zasady: co widzi klient, jaki stan zamówienia się ustawia i czy pozwalasz na ponawianie.
Prosty zestaw, który dobrze działa:
Następnie uruchom krótki plan testów na realnych urządzeniach. Emulatory nie pokażą wszystkich bólowych punktów.
Wdróż z zabezpieczeniami: śledzenie zdarzeń dla każdego kroku, weryfikacja płatności po stronie serwera i szybki plan rollbacku. Jeśli musisz prototypować lub szybko poprawiać, możesz zbudować ekrany kasy i logikę backendową w Koder.ai w trybie planowania, a potem użyć snapshotów i rollbacku podczas testów w małych partiach.