Co mówi komunikat i co oznacza
Gdy klikniesz Refund in Mirakl w zamówieniu, Odoo zatrzymuje się i pokazuje taki tekst (przy Odoo w języku polskim):
Order … is already fully refunded (… refunded on …). Refunding it again would send a second refund to the marketplace.
Luki uzupełniają trzy dane. Pierwsza to nazwa zamówienia albo, jeśli jej nie ma, jego identyfikator w Mirakl. Druga to kwota już zwrócona. Trzecia to data zwrotu albo myślnik -, jeśli żadna nie jest zapisana.
Znaczenie jest proste: zamówienie figuruje jako w pełni zwrócone, a moduł nie wysyła zwrotu ponownie. To błąd, który zatrzymuje akcję, więc to, co to kliknięcie miało zmienić, nie zostaje zapisane.

Komunikat znajduje się w opublikowanym kodzie wszystkich gałęzi: Odoo 17, 18, 19 i 20.

Kiedy dokładnie się pojawia
Warunek jest jeden: Refund State zamówienia ma wartość Refunded. To pole widać w karcie Mirakl Orders, w grupie Refund, a także na liście w tym samym menu. Jego wartości to Pending, Refunded, Partial, Error i Not Requested, która jest wartością domyślną. Przy każdej z pozostałych kontrola nie zadziała.
Przycisk Refund in Mirakl jest zawsze widoczny w Odoo 17, 18, 19 i 20, także gdy zamówienie jest już zwrócone. Komunikat to właśnie to, co zatrzymuje drugie kliknięcie.
W Odoo 20.0 metoda przycisku działa w tej kolejności: najpierw sprawdza, czy Twój użytkownik należy do grupy Mirakl Manager; potem, zamówienie po zamówieniu, sprawdza, czy status to Refunded, a jeśli tak, wyświetla komunikat. Tylko jeśli nie, wysyła zwrot.
Kod wyjaśnia, dlaczego istnieje ta blokada: zwrot to pieniądze, a wywołanie Mirakl nie jest idempotentne. Bez tej kontroli drugie kliknięcie wysłałoby ponownie pełny zwrot, ponieważ gdy zamówienie nie ma żądanej kwoty, moduł używa sumy zamówienia.

Jak to rozwiązać, krok po kroku
- Otwórz
Mirakl › Operations › Ordersi wejdź w zamówienie wskazane w komunikacie. Jego nazwa lub identyfikator to pierwsza luka. - Sprawdź
Refund Statew grupieRefundw karcie. Jeśli widniejeRefunded, komunikat jest oczekiwany: to dokładnie warunek, który go wywołuje. - Porównaj kwotę i datę z komunikatu ze zwrotem, który Twoim zdaniem wykonałeś.
- Jeśli się zgadzają, nie klikaj ponownie. Zamówienie figuruje już jako w pełni zwrócone, a powtórzenie wysłałoby drugi zwrot do marketplace.
- Jeśli się nie zgadzają, Twoje kliknięcie nie wysłało niczego nowego: komunikat zatrzymuje akcję. Sprawdź ten zwrot, zanim zrobisz cokolwiek innego.
- W przypadku innych zamówień sprawdź status na liście
Mirakl Ordersprzed kliknięciem przycisku: tam też go widać.
Jeśli status to Pending, Partial, Error lub Not Requested, ten komunikat Cię nie zatrzyma: kontrola sprawdza tylko, czy status to Refunded.
Co się dzieje, gdy komunikat się nie pojawia
Przy zamówieniu w dowolnym innym statusie metoda z Odoo 20.0 wysyła zwrot do Mirakl przez instancję zamówienia. Kwotą jest ta zażądana w zamówieniu, a jeśli jej nie ma, suma zamówienia. Pola tej instancji opisuje Pola Instancji Mirakl.
Jeśli wysyłka się powiedzie, moduł zapisuje status Refunded, albo Partial, jeśli wysłana kwota jest mniejsza niż suma zamówienia, wraz z kwotą i datą. To dane, które potem pokazuje ten komunikat.
Jeśli wysyłka się nie powiedzie, Odoo pokaże błąd, a zwrot nie zostanie oznaczony jako wykonany. To samo dzieje się, gdy to FlexigoTech Cloud nie przepuści wysyłki: zamówienie nie zostaje oznaczone jako zwrócone. Połączenie z Mirakl przechodzi przez tę usługę, która przechowuje dane uwierzytelniające w postaci zaszyfrowanej i nadzoruje synchronizację.
Co sprawdzić potem
Gdy sprawdzisz zamówienie, wróć do listy Mirakl Orders i zobacz Refund State pozostałych: to pole jest też na liście. Dzięki temu przed kliknięciem Refund in Mirakl wiesz, czy komunikat się pojawi, czy moduł wyśle zwrot.
Pamiętaj, że przycisk nie zmienia wyglądu ani nie znika, gdy zamówienie jest już zwrócone: jest zawsze widoczny, a zatrzymuje go komunikat. Jeśli po kliknięciu pojawi się inny komunikat, to nie ten: ten pojawia się tylko ze statusem Refunded.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli chcesz sprawdzić, jak wygląda przepływ zwrotów w Twoim Odoo, napisz do nas ze strony modułu lub zobacz jego kartę w Odoo Apps.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_order.py
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): views/mirakl_order_views.xml
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
