
Checkout naprawiony w 6 godzin od zgłoszenia
W czwartek po południu otrzymałem zgłoszenie ze sklepu motoryzacyjnego: od poniedziałku nie było zamówień, choć Analytics pokazywał zwykły ruch. Dotychczasowy wykonawca sprawdził ręcznie zakupy i uznał, że sklep działa poprawnie.
Dlaczego ręczny test nie wykrył błędu
Pierwszą godzinę poświęciłem na kopię bazy i plików, a drugą na porównanie logów z trzech tygodni. Problem dotyczył jednej metody płatności, wybieranej przez 78% klientów.
W niedzielę w nocy automatycznie zaktualizował się moduł płatności. Nowa wersja zmieniła format odpowiedzi bramki. Sklep nie rozpoznawał potwierdzenia i pozostawiał zamówienie ze statusem „oczekujące na płatność”, mimo pobrania pieniędzy przez operatora.
Klient sprawdzał zakupy, wybierając przelew tradycyjny. Ta metoda działała, dlatego test nie ujawnił awarii. Cała diagnoza zajęła cztery godziny.
Poprawka i obsługa zamówień w toku
W ciągu kolejnych dwóch godzin dodałem obsługę nowego formatu oraz zgodność ze starym. Dzięki temu sklep mógł prawidłowo przetwarzać także wcześniejsze zamówienia. Odzyskałem 214 zamówień, które utknęły przez trzy dni. Klienci otrzymali wiadomość, również ci, którzy zdążyli już kupić produkty w innym sklepie.
Dlaczego zgłoszenie przyszło dopiero po trzech dniach
Sklep miał monitoring dostępności strony, czasu odpowiedzi i miejsca na dysku. Nie kontrolował jednak liczby zamówień. Strona pozostawała dostępna, więc działające powiadomienia nie sygnalizowały problemu ze sprzedażą.
Dodałem alert SMS porównujący liczbę zamówień z dwóch godzin ze średnią dla tego samego przedziału z poprzednich czterech tygodni. Powiadomienie uruchamia się po spadku poniżej 30% tej średniej. Przygotowanie monitoringu zajęło dzień pracy. Koszt trzech dni przestoju był ponad sto razy wyższy.
Co zmieniło się po interwencji
- Proces zakupowy działał prawidłowo sześć godzin po zgłoszeniu.
- Odzyskałem 214 zamówień zatrzymanych przez błąd płatności.
- Automatyczne aktualizacje modułów zastąpiła procedura sprawdzania zmian na kopii sklepu.
- Monitoring objął spadek liczby zamówień, a nie tylko dostępność strony.