Integracja z PrestaShop rzadko kończy się na włączeniu jednego modułu. Płatności, kurierzy, magazyn i analityka to cztery niezależne połączenia, z których każde ma własne klucze API, własne statusy i własny sposób zgłaszania błędów. Ten tekst dotyczy części organizacyjnej: kolejności wdrożenia, podziału odpowiedzialności i tego, co sprawdzić, zanim cokolwiek trafi na produkcję. Nie ma tu obietnicy, że „wszystko zsynchronizuje się samo”, bo przy źle ustawionym przepływie danych nie zsynchronizuje się nic. Kontekst ofertowy i zakres usług znajdziesz na stronie DropDigital – strony internetowe.
Integracja z PrestaShop to automatyczna wymiana danych między sklepem a systemem zewnętrznym: przez API, moduł albo kolejkę zadań. Kluczowe słowo to „automatyczna”. Wklejanie numerów przesyłek ręcznie do panelu to nie integracja, a praca administracyjna z dodatkowym krokiem. PrestaShop udostępnia do tego warstwę modułów i API — punkt wyjścia dla dewelopera opisuje dokumentacja dla deweloperów PrestaShop.
W praktyce integrację tworzą cztery niezależne warstwy. Każda ma własne klucze API, własne limity i własny sposób raportowania błędów. Awaria jednej nie wyłącza pozostałych, ale potrafi zatrzymać obsługę zamówień.
Drugie rozróżnienie dotyczy kierunku danych. Wymiana jednokierunkowa to eksport zamówień do księgowości albo wysyłka zdarzeń do GA4: dane płyną w jedną stronę i nikt ich nie porównuje. Wymiana dwukierunkowa to synchronizacja stanów i cen z ERP lub hurtowni — sklep wysyła zamówienie, system zwraca nowy stan magazynowy. Bez ustalonego „źródła prawdy” dla stanu i ceny dwie synchronizacje zaczną się nadpisywać.
Kiedy wystarczy eksport CSV raz dziennie: jeden magazyn, stany poprawiane ręcznie, do 20–30 zamówień na dobę, brak sprzedaży tego samego towaru w drugim kanale. Kiedy integracja jest konieczna: ten sam asortyment w sklepie i na marketplace, kilkaset SKU i więcej, kilka osób pakujących zamówienia, wymóg wystawienia faktury w kilka minut od płatności. Kolejne sekcje rozbierają to na płatności i kurierów. Kontekst ofertowy i zakres usług znajdziesz na stronie DropDigital – strony internetowe.
| Warstwa | Co łączy | Kierunek danych | Typowy objaw awarii |
|---|---|---|---|
| Płatności | operator płatności (P24, PayU, PayPal, Stripe, tpay, BLIK) | zdarzeniowy, dwukierunkowy (webhook) | zamówienie wisi w statusie „oczekuje na płatność” |
| Logistyka | kurier i system etykiet | dwukierunkowy: etykieta + statusy | brak etykiety lub brak statusu „wysłane” |
| Dane i magazyn | ERP lub WMS | dwukierunkowy: stany, ceny, dokumenty | sprzedaż towaru, którego fizycznie nie ma |
| Marketing i analityka | GA4, feedy, mailing | jednokierunkowy: eksport zdarzeń | zdublowane transakcje, zawyżony przychód |
Płatności generują najwięcej zgłoszeń typu „klient zapłacił, a zamówienie wisi”. Mechanika jest zawsze podobna: moduł tworzy transakcję i przekierowuje klienta do operatora, operator obsługuje płatność, a sklep dostaje webhook (IPN) i dopiero wtedy zmienia status zamówienia. Bez webhooka nie ma zmiany statusu — nawet jeśli pieniądze są na koncie.
Prowizję i czas rozliczenia ustala się indywidualnie w umowie, więc porównywanie operatorów bez aktualnego cennika i deklarowanego obrotu nie ma sensu. Zapytaj o stawkę dla swojego wolumenu i o to, czy prowizja nalicza się także od zwrotów.
Przed startem sprawdź: tryb sandbox i test kwotą 1 zł, poprawność URL-i powrotu (sukces i błąd), obsługę płatności częściowych oraz zwrotów pełnych i częściowych, a także włączone logi modułu na pierwszy tydzień produkcji. Temat drugiej popularnej bramki rozwijam w tekście o tym, jak wygląda organizacja wdrożenia modułu PayPal w PrestaShop.
| Metoda | Typowy scenariusz | Na co patrzeć przy wdrożeniu |
|---|---|---|
| BLIK | szybka płatność mobilna dla klientów w Polsce | czy operator rozlicza BLIK w tej samej umowie co przelewy; obsługa anulowania po stronie banku |
| Przelewy24 | przelewy z szerokiej sieci banków | moduł oficjalny, zwroty z panelu, jakość dokumentacji API |
| PayU | karty, przelewy, raty | zwroty częściowe i status zamówienia po zwrocie |
| PayPal | klienci zagraniczni | waluty, chargebacki, mapowanie statusu po reklamacji |
| Stripe | karty, subskrypcje | scenariusze 3DS i obsługa nieudanych płatności |
| tpay | przelewy i BLIK | zakres automatycznych zwrotów, dostępność sandboxa |
Integracja kurierska daje cztery rzeczy: etykietę generowaną z panelu zamówień, numer przesyłki zapisany przy zamówieniu, statusy doręczenia wracające do sklepu oraz — w InPost — wybór Paczkomatu na checkoutcie. Bez tego pakowanie wygląda tak: przepisanie adresu, ręczne utworzenie przesyłki w panelu kuriera, wklejenie numeru, ręczna zmiana statusu. Przy 30 zamówieniach dziennie to kilkadziesiąt minut pracy i stałe źródło pomyłek.
Interfejsy operatorów różnią się typem, autoryzacją i formatem etykiety. Poniższa tabela to punkt wyjścia do rozmowy z przedstawicielem kuriera — typy interfejsów i pola bywają rozszerzane, więc aktualny zakres potwierdź w dokumentacji technicznej.
Własny moduł ma sens wtedy, gdy masz umowę z kurierem spoza rynku modułów, cenniki kontraktowe albo gabaryty niestandardowe. W pozostałych przypadkach taniej wychodzi wdrożenie i utrzymanie gotowego modułu.
| Operator | Typ interfejsu | Autoryzacja | Co zweryfikować przed startem |
|---|---|---|---|
| InPost ShipX | REST/JSON | token z panelu menedżera | osobne pole punktu odbioru, format etykiety, limity zapytań na minutę |
| DPD WebAPI | SOAP/XML | login, hasło i identyfikator klienta | numer klienta z umowy, usługi krajowe i międzynarodowe, gabaryty |
| DHL24 | SOAP/XML | konto klienta i dane API | usługi dodatkowe, format etykiety, potwierdzenia doręczenia |
| Poczta Polska eNadawca | SOAP/WSDL | dane umowy i login do systemu | wersja usługi (kurierska czy pocztowa), adresowanie przesyłek z awizo |
| GLS | zależnie od integratora i umowy | dane z umowy | zakres usług paczkowych, format etykiety, statusy doręczenia |
To najtrudniejszy typ integracji, bo dotyka stanów magazynowych, czyli danych, na których firmie zależy najbardziej. Najczęstsze kierunki to Subiekt GT/nexo, Comarch ERP Optima, WF-Mag, BaseLinker oraz własne WMS-y pisane pod konkretny magazyn. Każdy z nich ma inny model dostępu: część udostępnia REST API, część tylko pliki wymiany w CSV lub XML, część wymaga connectora pośredniego.
Zakres synchronizacji zwykle obejmuje sześć obszarów: stany magazynowe, ceny, kartoteki produktów (nazwa, SKU, EAN, jednostka miary, stawka VAT), zamówienia, faktury i statusy płatności. Kierunek przepływu trzeba ustalić, zanim ktoś napisze pierwszą linię kodu: ERP jest źródłem prawdy o stanie i cenie, PrestaShop źródłem prawdy o zamówieniu. Odwrócenie tej zależności kończy się tym, że dwie osoby w firmie nadpisują sobie ten sam rekord.
Pułapka pierwsza: rozjazd stanów przy sprzedaży równoległej — sklep online i kasa stacjonarna schodzą z tego samego magazynu. Jeśli synchronizacja chodzi co 30 minut, w piątek po południu sprzedasz dwa razy ostatni egzemplarz. Rozwiązanie jest dwuczęściowe: rezerwacja stanu w momencie złożenia zamówienia oraz krótszy interwał dla produktów o niskim stanie (1–2 minuty zamiast 15).
Pułapka druga: duplikaty zamówień, gdy eksport zostanie wywołany drugi raz — po timeoucie, restarcie crona albo ręcznym kliknięciu. Potrzebny jest klucz idempotencji po numerze zamówienia (np. reference razem z id_shop) i tabela mapująca po stronie modułu, która przed zapisem do ERP sprawdza, czy rekord już istnieje.
Sposoby łączenia: REST API (najwięcej kontroli, najwięcej pracy), pliki wymiany (najprostsze, ale opóźnione), kolejka RabbitMQ lub Redis (odporna na awarie, dobra przy większym wolumenie), harmonogram cron co X minut (wystarcza w większości małych sklepów). Wydajność: odpytywanie API produkt po produkcie przy 5000 SKU to 5000 żądań HTTP na jeden przebieg i realne ryzyko zdławienia serwera. Obejście: pobieranie paczkami po 200–500 rekordów, synchronizacja inkrementalna po dacie modyfikacji, tabela pośrednia jako cache i indeksy na SKU oraz dacie zmiany. Kontekst całego wdrożenia opisaliśmy w materiale o organizacji wdrożenia sklepu PrestaShop.
| Dane | Źródło prawdy | Kierunek | Typowy interwał |
|---|---|---|---|
| Stan magazynowy | ERP / WMS | ERP → PrestaShop | 1–15 min |
| Cena katalogowa | ERP | ERP → PrestaShop | 1× dziennie lub po zmianie |
| Kartoteka produktu | ERP | ERP → PrestaShop | po dodaniu/edycji |
| Zamówienie | PrestaShop | PrestaShop → ERP | co 5–15 min |
| Faktura | ERP / księgowość | ERP → PrestaShop | po wystawieniu |
| Status płatności | Bramka płatnicza → ERP | dwukierunkowo | zdarzeniowo (webhook) |
Decyzja sprowadza się do trzech pytań: czy proces jest standardowy, ile kosztuje utrzymanie przez 5 lat i kto go naprawi po kolejnej aktualizacji.
Gotowy moduł wystarczy, gdy masz standardową umowę z kurierem, popularną bramę płatniczą (PayPal, Przelewy24, Stripe), standardowy ERP z oficjalnym konektorem (Subiekt, Comarch Optima) i nie modyfikujesz logiki cenowej. Wtedy zakup w granicach kilkuset złotych jednorazowo plus ewentualna subskrypcja załatwia sprawę, a wdrożenie zajmuje 1–2 dni.
Własny moduł bywa tańszy w 5-letnim cyklu, gdy wchodzą: niestandardowe reguły cenowe (rabaty kaskadowe, ceny zależne od kontrahenta), wielomagazynowość z podziałem na lokalizacje, B2B z indywidualnymi cennikami przypisanymi do klienta. Gotowe wtyczki tu pękają — albo nie mają funkcji, albo wymagają obejść w bazie danych, które przy każdej aktualizacji trzeba przenosić ręcznie.
Płatne wtyczki mają trzy typowe pułapki: subskrypcję roczną (przez 5 lat płacisz pięć razy), limit instalacji (środowisko staging zjada jedną licencję) oraz brak wsparcia po podniesieniu PHP (moduł pisany pod 7.4 sypie błędami na 8.2). Zdarza się też, że autor zniknął z rynku i nikt nie wyda poprawki.
Kryteria oceny przed zakupem: data ostatniej aktualizacji (im starsza, tym większe ryzyko), zadeklarowana kompatybilność z wersją PrestaShop i PHP, opinie opisujące realne problemy, polityka wsparcia — czy jest zgłaszanie ticketów, kontakt e-mail, czas reakcji. Punkt wyjścia do weryfikacji technicznej: dokumentacja deweloperska PrestaShop.
Koszt utrzymania to aspekt najczęściej pomijany przy zakupie. Pytanie brzmi: gdy PrestaShop wyda nową wersję, kto poprawi moduł i w jakim terminie? Przykład z życia: moduł płatności działający bez zarzutu do momentu zmiany API bramki — wtedy liczy się nie cena zakupu, a to, czy ktoś po drugiej stronie odbiera telefon. Zobacz, jak wygląda organizacja wdrożenia modułu płatności PayPal.
| Kryterium | Gotowy moduł | Własny moduł |
|---|---|---|
| Koszt startowy | kilkaset zł | kilka tysięcy zł |
| Czas wdrożenia | 1–2 dni | 2–8 tygodni |
| Dopasowanie do procesu | tylko standard | pełne |
| Aktualizacja PHP/PS | zależy od autora | robisz to sam lub Twój wykonawca |
| Ryzyko zniknięcia autora | wysokie | brak — masz kod |
| Wielomagazynowość, B2B | zwykle brak | tak |
Proces ma sześć etapów. Jeśli oferta wykonawcy nie zawiera żadnego z nich, to nie jest wdrożenie integracji, a instalacja modułu.
Etap 1 — warsztat zakresu. Lista systemów, kierunki przepływu, wymagana częstotliwość danych, definicja źródła prawdy dla każdego pola. Owoc: dokument na 2–4 strony, nie prezentacja.
Etap 2 — środowisko testowe. Kopia bazy produkcyjnej na subdomenie, osobne klucze API dla stagingu, osobne konto w bramce płatniczej w trybie sandbox. Bez tego testujesz na żywych zamówieniach klientów.
Etap 3 — implementacja i mapa pól. Moduł lub łącznik plus tabela mapowania: statusy zamówień ERP ↔ PrestaShop, kategorie, jednostki miary, stawki VAT, kody kurierów. To tutaj wychodzą różnice typu „ERP ma siedem statusów, sklep trzy”.
Etap 4 — testy scenariuszowe. Minimum pięć przypadków: zamówienie z płatnością online, zwrot, anulowanie po zapłacie, brak stanu przy zamówieniu, zamówienie B2B z indywidualnym cennikiem. Każdy scenariusz z wynikiem: co się stało w sklepie, co w ERP, co w logach.
Etap 5 — produkcja w trybie obserwacji. Uruchomienie z monitoringiem logów integracji i alertem na błędy. Pierwsze 2–4 tygodnie to przegląd odrzuconych rekordów raz dziennie, nie raz na kwartał.
Etap 6 — dokumentacja i SLA. Krótki opis: kto odpowiada za co, gdzie są klucze, jak zrestartować kolejkę, co zrobić przy błędzie 5xx albo 429 z API (kod odpowiedzi i zasady ponawiania opisuje dokumentacja MDN dotycząca HTTP). SLA na wypadek awarii API: czas reakcji, kanał zgłoszenia, kto ma dostęp do serwera.
Przykład organizacji takiego wdrożenia, z podziałem na etapy i odpowiedzialności, znajdziesz w artykule o organizacji wdrożenia sklepu PrestaShop.
| Etap | Efekt | Kto po stronie klienta |
|---|---|---|
| 1. Warsztat zakresu | lista systemów i kierunków przepływu | właściciel procesu |
| 2. Staging | kopie bazy, osobne klucze API | dział IT / wykonawca |
| 3. Implementacja + mapa pól | działający łącznik, tabela mapowań | wykonawca |
| 4. Testy scenariuszowe | 5+ scenariuszy z wynikiem | osoba z obsługi zamówień |
| 5. Produkcja + monitoring | logi integracji, alerty | wykonawca |
| 6. Dokumentacja i SLA | procedura awaryjna, czasy reakcji | obie strony |
Testy odbiorcze rób na kopii sklepu z realnymi danymi — produktami, klientami, stanami i historią zamówień. Czysta instalacja z trzema produktami testowymi nie wyłapie niczego. Poniżej pięć objawów, które najczęściej zgłaszają klienci po dwóch tygodniach od wdrożenia.
curl -X POST na adres webhooka z innego serwera, sprawdź kod odpowiedzi i czas. Sprawdź też walidację podpisu HMAC — po zmianie klucza w panelu podpis przestaje się zgadzać, a bramka przestaje ponawiać. Kolejność testów płatności opisujemy przy okazji wdrożenia modułu PayPal w PrestaShop.id_order i typu dokumentu, nie z daty i kwoty.SHOW PROCESSLIST). Integracja często dokłada zapytanie w pętli na liście produktów albo pobiera cennik u dostawcy przy każdym wejściu na kartę. Cache odpowiedzi API na 5–15 minut zwykle rozwiązuje problem.Ćwiczenie awaryjne: na stagingu odetnij API kuriera na 15 minut i złóż 20 zamówień. Sprawdź, czy czekają w kolejce z czytelnym statusem, czy znikają bez śladu.
| Objaw | Gdzie szukać najpierw | Typowa przyczyna |
|---|---|---|
| Brak numeru przesyłki | Logi odpowiedzi API kuriera, mapa pól adresu | HTTP 200 z błędem w treści, brak kodu kraju, telefon w złym formacie |
| Stany rozjeżdżają się o kilka sztuk | Log synchronizacji + inwentaryzacja z 30 dni | Zwroty nie wracają na stan lub podwójne przetworzenie zdarzenia |
| Płatność OK, zamówienie wisi | Webhook testowany curl-em z innego serwera | Niezgodny podpis HMAC, blokada po IP, brak ponowień |
| Duplikaty faktur w ERP | Eksport — obecność klucza idempotencji | Brak klucza po id_order, retry po timeoucie |
| Wolniejszy sklep po integracji | Slow query log, profilowanie zapytań i wywołań API | Zapytanie w pętli na liście produktów, brak cache odpowiedzi API |
Wycena w godzinach ma sens tylko wtedy, gdy wiesz, co siedzi w tych godzinach. Realne widełki dla typowych zakresów:
Na liczbę godzin wpływa pięć rzeczy. Pierwsza to liczba kierunków synchronizacji — jednokierunkowy eksport zamówień to zupełnie inna praca niż dwukierunkowa wymiana stanów. Druga: jakość API dostawcy, czyli czy jest sandbox, dokumentacja i limity zapytań. Trzecia: liczba mapowanych statusów, bo 6 kontra 25 to różnica kilkunastu godzin na samych regułach. Czwarta: wielomagazynowość. Piąta: obsługa zwrotów i faktur korygujących. Przykład z życia: sklep z jednym magazynem i sześcioma statusami kontra sklep z trzema magazynami, dropshippingiem i 20 statusami — identyczna integracja z tym samym kurierem to praca trzy razy większa.
Godziny są uczciwsze niż sztywne pakiety, bo płacisz za pracę, a nie za marżę pośrednika: pracujesz bezpośrednio z deweloperem, który tę integrację pisze. Pakiet za 999 zł zwykle kończy się dopłatami przy pierwszym nietypowym przypadku — najczęściej przy zwrotach i korektach. Kolejność prac i podział zadań między sklepem, księgowością i wykonawcą opisujemy w materiale o organizacji wdrożenia sklepu PrestaShop krok po kroku.
Ukryte koszty, o które warto zapytać w ofercie: licencje lub abonament API u dostawcy, serwer albo VPS na crony i webhooki, monitoring, poprawki po aktualizacji PrestaShop i PHP.
Koszt braku integracji też jest liczbą: 200 zamówień miesięcznie razy 3 minuty ręcznego przepisywania to 10 godzin pracy miesięcznie, czyli około 120 godzin rocznie. Do tego błędne stany i sprzedaż towaru, którego nie ma na półce.
| Zakres integracji | Widełki | Co najbardziej wydłuża pracę |
|---|---|---|
| Prosta brama płatnicza (przekierowanie, 1–2 statusy) | 8–16 h | Obsługa webhooków i powrotów klienta, mapowanie statusów zamówienia |
| Kurier (jeden przewoźnik, jeden kierunek) | 12–24 h | Mapowanie pól adresu, generowanie etykiet, numery przesyłek, zwroty |
| ERP z mapowaniem pól | 40–120 h | Liczba kierunków synchronizacji, mapowanie statusów i magazynów, faktury |
| Integracja niestandardowa (własny system klienta) | 120 h i więcej | Brak lub słabe API, uzgadnianie słowników danych, dane historyczne |
Integracja nie kończy się w dniu wdrożenia, bo dostawcy regularnie zmieniają API. Przejście z prostego klucza API na OAuth 2.0, nowa wersja endpointu, wygaszenie starej (deprecation), zmiana formatu etykiety — każde z tych zdarzeń potrafi wyłączyć integrację w tygodniu, w którym nikt nie planował żadnych prac. Już na etapie umowy ustal, jak wykonawca wersjonuje integrację i gdzie trzyma klucze: poza repozytorium, w zmiennych środowiskowych. Zmiany w samym PrestaShop śledź w dokumentacji dla deweloperów PrestaShop, bo tam najszybciej widać porzucane mechanizmy.
Aktualizacje PrestaShop i PHP to druga pułapka. Zmiana PHP z 8.1 na 8.3 albo przejście na nowszą gałąź PrestaShop wymaga regresji: moduły pisane pod starsze wersje sypią się na sygnaturach i ostrzeżeniach. Kolejność jest stała — kopia, staging, lista wszystkich integracji, test scenariuszowy od zamówienia przez płatność i etykietę do faktury w ERP. Bez tego aktualizacja wypada w środku sezonu.
Monitoring to nie panel, a alerty. Minimum: powiadomienie na błędy 4xx i 5xx z API, kolejka nieudanych zadań z ponawianiem i odstępami, log zmian statusów zamówień. Praktyczny test: dzienny raport z trzema liczbami — ile zadań w kolejce, ile nieudanych, jak stary jest najstarszy nieudany wpis. Bez tego o awarii dowiesz się od klienta, zwykle po dwóch dniach.
Integracje analityczne wymagają takiej samej uwagi jak płatności. Po zmianie szablonu zdarzenie zakupu potrafi wysyłać się dwa razy i zawyżać przychód — opisujemy to w tekście o wdrożeniu GA4 w PrestaShop bez dublowania danych.
Ustal SLA i kanał kontaktu: czas reakcji, godziny pracy, limit godzin w pakiecie oraz to, czego opieka nie obejmuje — nowych funkcji, migracji i skutków aktualizacji wymuszanych przez dostawcę. Zapisz to jednym akapitem, nie w umowie na dwanaście stron.
Rekomendacja: przegląd integracji raz na kwartał. Testy scenariuszowe — jedno zamówienie na każdą metodę płatności i każdego kuriera — plus porównanie liczb: zamówienia w sklepie kontra ERP, wartość zamówień kontra faktury, stany magazynowe. Różnica powyżej 0,5 procent to sygnał do sprawdzenia, nie do ignorowania.
Wdrożenie startuje, zanim ustalono, który system jest źródłem prawdy dla stanu magazynowego i ceny.
Jak wykryć: Zadaj jedno pytanie: kto nadpisuje stan, gdy magazyn i sklep pokazują inną liczbę? Jeśli odpowiedź brzmi „no, to się jakoś dogra”, nie ma ustaleń.
Jak naprawić: Zrób tabelę pól (stan, cena, SKU, nazwa, zamówienie, faktura) i przy każdym dopisz system nadrzędny oraz kierunek przepływu. Ustal, co robi sklep, gdy ERP milczy — czy blokuje sprzedaż, czy sprzedaje dalej.
Integracja jest testowana wyłącznie na produkcji, na prawdziwych zamówieniach klientów.
Jak wykryć: Brak kluczy testowych, brak środowiska staging, brak kopii bazy do testów. Pierwsze uruchomienie kończy się paniką na żywym sklepie.
Jak naprawić: Przygotuj staging z kopią bazy i osobnymi kluczami API, jeśli dostawca je udostępnia. Testuj na zamówieniach testowych i dopiero po nich włączaj produkcję.
Włączanie kilku integracji tego samego dnia, bez kolejności i bez okna wdrożeniowego.
Jak wykryć: W jeden dzień zmieniają się płatności, kurierzy i sync stanów. Gdy coś nie działa, nie wiadomo, która zmiana to spowodowała.
Jak naprawić: Ustal harmonogram: jedna integracja na raz, każda z własnym oknem czasowym i kilkoma dniami obserwacji. Dopiero potem następna.
Brak monitoringu kolejek i logów, więc problemy wychodzą od klientów, a nie z systemu.
Jak wykryć: Nie ma alertów, nie wiadomo gdzie szukać logów modułu, a zamówienia wpadają z opóźnieniem albo wcale. Nikt nie zauważa awarii przed pierwszym telefonem.
Jak naprawić: Włącz logowanie zdarzeń integracji i alerty (mail, SMS, komunikator) na błędy krytyczne. Ustal, kto i w jakich godzinach reaguje na alert.
Testy ograniczają się do scenariusza „klient kupił jedną rzecz i zapłacił”.
Jak wykryć: Na liście testów nie ma zwrotu, anulowania, płatności częściowej, zamówienia na kilka paczek ani zakupu produktu, którego nie ma na stanie.
Jak naprawić: Rozpisz listę scenariuszy brzegowych i przejdź je wszystkie przed startem. Każdy scenariusz z wynikiem: co widzi klient, co widzi obsługa, co widzi ERP.
Nikt po stronie firmy nie jest właścicielem procesu po wdrożeniu — odpowiedzialność kończy się na wykonawcy.
Jak wykryć: Na pytanie „kto nadrabia zamówienia po awarii i kto zgłasza zwrot” pada cisza albo „myślałem, że to robi system”.
Jak naprawić: Wyznacz osobę odpowiedzialną za integracje po stronie klienta i drugą w zastępstwie. Uzgodnij na piśmie, co robi ona, a co wykonawca. Sprawdź też, jak wygląda procedura dla płatności — dobrym punktem odniesienia jest organizacja wdrożenia modułu PayPal w PrestaShop.
Integracje z PrestaShop to projekt organizacyjny, a nie tylko kwestia włączenia modułu. Największe ryzyko nie leży w samym API, ale w braku ustaleń: kto jest źródłem prawdy, kto reaguje na błąd i w jakiej kolejności wdrażamy zmiany. Jeśli rozpiszesz te trzy rzeczy przed startem prac i przetestujesz scenariusze brzegowe, liczba niespodzianek po wdrożeniu spadnie drastycznie. Wniosek jest prosty: godzinę rozmowy o procesie łatwiej nadrobić niż tydzień sprzątania rozjechanych stanów.
Nie ma jednej liczby, bo czas zależy od liczby łączonych systemów i od tego, czy po stronie zewnętrznej ktoś jest gotowy przygotować dostępy. Płatności i kurierzy to zwykle najkrótszy odcinek, bo opierają się na gotowych modułach i konfiguracji. Integracja z ERP lub magazynem jest najdłuższa, bo wymaga uzgodnienia, które pole jest nadrzędne, i przetestowania scenariuszy brzegowych. Dlatego planuj osobne okno na każdą integrację, a nie jedno zbiorcze.
Zacznij od tych, które bezpośrednio blokują sprzedaż: płatności i dostawa. Dopiero potem rób synchronizację stanów i analitykę, bo one nie zatrzymają koszyka, a ich błąd jest łatwiejszy do nadrobienia. Kolejność wdrożenia ma znaczenie także organizacyjne — łatwiej znaleźć przyczynę problemu, gdy zmieniasz jedną rzecz naraz. Szerszy opis etapów znajdziesz w materiale o organizacji wdrożenia sklepu PrestaShop.
Przede wszystkim ustal, że ERP jest źródłem prawdy o stanie i cenie, a PrestaShop źródłem prawdy o zamówieniu. Następnie zdecyduj, czy sklep ma blokować sprzedaż produktu przy zerowym stanie, czy sprzedawać dalej i przyjmować zamówienia oczekujące. Trzeci element to rezerwacja stanu przy dodaniu do koszyka lub na czas płatności — bez tego sprzedaż równoległa w sklepie i w kasie stacjonarnej będzie generować konflikty. Na koniec ustal częstotliwość synchronizacji i sprawdź, jak zachowuje się przy dużym wolumenie.
Najpierw sprawdź adres zwrotny i to, czy hosting nie blokuje ruchu przychodzącego lub portu. Potem przejrzyj logi modułu i panel operatora płatności — większość bramek pokazuje, czy próba dotarła i jaki zwróciła kod odpowiedzi. Jeśli webhook powtarza się kilka razy, potrzebna jest idempotencja po stronie sklepu, czyli ignorowanie powtórzonego zdarzenia dla tego samego zamówienia. Na czas naprawy warto mieć procedurę ręcznego potwierdzania płatności, żeby nie blokować wysyłki.
Minimum trzy osoby: ktoś z obsługi zamówień, ktoś z magazynu i ktoś z księgowości. Pierwsza osoba wie, co się dzieje z zamówieniem, gdy coś się wysypie. Druga zna realia pakowania i wysyłki, w tym przypadki nietypowe. Trzecia rozstrzyga kwestie faktur, zwrotów i rozliczeń. Bez udziału tych osób ustalenia z wykonawcą zostaną na papierze, a obsługa i tak zrobi po swojemu.
Płatności i kurierów zwykle tak, bo pracują na gotowych modułach i można je włączać stopniowo. Synchronizacja z ERP lub magazynem prawie zawsze wymaga krótkiego okna, w którym sklep pracuje na zamrożonym stanie albo przyjmuje zamówienia bez natychmiastowej aktualizacji stanów. Ustal to okno z wyprzedzeniem, najlepiej poza szczytem sprzedaży. Warto też przygotować komunikat dla klientów, jeśli zmiany będą widoczne na checkoutcie.
Sama integracja działa po stronie serwera i nie wpływa na to, co widzi robot Google. Problem pojawia się wtedy, gdy synchronizacja zapycha bazę zapytaniami albo moduł dokłada ciężkie skrypty na froncie sklepu. Dlatego warto pilnować czasu odpowiedzi i stabilności układu strony — kryteria opisuje dokumentacja Core Web Vitals w Google Search Central. Jeśli po wdrożeniu widać spadek ruchu, sprawdź najpierw wydajność, a nie treść.
Jeśli chcesz przejść przez integracje z PrestaShop w uporządkowanej kolejności — od płatności przez kurierów do magazynu — napisz do nas i opisz, jakie systemy już masz. Powiemy wprost, co da się podłączyć od razu, a co wymaga najpierw uporządkowania procesu.