# Zaokrąglenie Charytatywne i Darowizna przy Kasie

> Dokumentacja modułu Zaokrąglenie Charytatywne i Darowizna przy Kasie dla PrestaShop 8 i 9: trzy tryby darowizny, darowizna bez VAT, śledzenie w zapleczu.

- Strona: <https://www.datafirefly.com/pl/documentation/dfsolidarityround/>
- Język: pl
- Zaktualizowano: 2026-08-01
- Inne języki: [fr](https://www.datafirefly.com/documentation/dfsolidarityround/index.md), [en](https://www.datafirefly.com/en/documentation/dfsolidarityround/index.md), [es](https://www.datafirefly.com/es/documentation/dfsolidarityround/index.md), [de](https://www.datafirefly.com/de/documentation/dfsolidarityround/index.md), [it](https://www.datafirefly.com/it/documentation/dfsolidarityround/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfsolidarityround/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfsolidarityround/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## Prezentacja

Moduł **Zaokrąglenie Charytatywne i Darowizna przy Kasie** (`dfsolidarityround`) pozwala Twoim klientom wesprzeć organizację charytatywną w kilka sekund, bezpośrednio w koszyku: przez **zaokrąglenie zamówienia do pełnego euro**, wybór **predefiniowanej kwoty darowizny** lub wpisanie **kwoty dowolnej**. Darowizna jest czysto integrowana z sumą zamówienia: VAT, waluta i multisklep są obsługiwane przez rdzeń PrestaShop, aż do faktury.

Darowizna to nie zwykły element wyświetlania: jest realizowana przez dedykowany produkt wirtualny i cenę specyficzną ograniczoną do koszyka klienta. Kwota trafia więc naturalnie do sum, zamówienia i faktury.

## Zgodność

- PrestaShop 8.0 do 9.x
- Jeden sklep i multisklep
- PHP 7.4 do 8.3
- Motyw Classic i motywy własne
- Interfejs dostarczany po francusku, angielsku, hiszpańsku, niemiecku i włosku
- Brak zależności (bez Composera i bez frameworka)

## Instalacja

1. W zapleczu otwórz **Moduły > Menedżer modułów**.
2. Kliknij **Zainstaluj moduł**, a następnie wybierz plik `dfsolidarityround.zip`.
3. Po instalacji kliknij **Konfiguruj**.

Przy instalacji moduł tworzy tabelę historii, rejestruje swoje hooki (zasoby front, blok w koszyku i w ścieżce zamówienia, walidacja zamówienia), dodaje zakładkę zaplecza **Darowizny charytatywne** i generuje **ukryty produkt wirtualny „Darowizna charytatywna"**: niewidoczny w sklepie, bez VAT, bez kosztów dostawy. To on przenosi kwotę darowizny w koszyku. Nie usuwaj go ręcznie.

## Konfiguracja

### Tryby darowizny

Dostępne są trzy tryby, aktywowane niezależnie. Możesz zaproponować tylko jeden albo wszystkie trzy naraz.

- **Zaokrąglenie do pełnego euro**: proponuje klientowi podniesienie zamówienia do najbliższej okrągłej kwoty. **Krok zaokrąglenia** jest konfigurowalny (`1,00` dla pełnego euro, `0,50` dla pół euro itd.).
- **Kwoty stałe**: wyświetla gotowe do kliknięcia przyciski. Lista kwot jest konfigurowalna (na przykład `1;2;5`).
- **Kwota dowolna**: pozwala klientowi wpisać wybraną sumę, ograniczoną przez **darowiznę minimalną** i **darowiznę maksymalną**.

W trybie zaokrąglenia, jeśli suma koszyka jest już okrągła, moduł proponuje darowiznę o pełny krok, aby opt-in klienta zawsze miał sens.

### Personalizacja organizacji

- **Tytuł bloku**: nagłówek wyświetlany na górze bloku (pole wielojęzyczne).
- **Nazwa organizacji**: nazwa wspieranej sprawy (pole wielojęzyczne).
- **Opis**: krótki tekst towarzyszący (pole wielojęzyczne).
- **Logo organizacji**: grafika wyświetlana w bloku (PNG, JPG, GIF, WEBP lub SVG).

### Miejsca wyświetlania

- **Wyświetl na stronie Koszyk**: pokazuje blok na dole strony koszyka (miejsce główne i niezawodne).
- **Wyświetl w ścieżce zamówienia**: pokazuje blok w podsumowaniu zamówienia, jeśli Twój motyw udostępnia odpowiedni punkt zaczepienia.

## Działanie po stronie klienta

### Zaokrąglenie do pełnego euro

Klient widzi przycisk w rodzaju „Zaokrąglij i przekaż 0,73 €". Proponowana kwota odpowiada różnicy między jego sumą a najbliższą okrągłą kwotą, zgodnie ze skonfigurowanym krokiem.

### Kwoty stałe

Klient klika jedną z proponowanych kwot (1 €, 2 €, 5 €...). Odpowiadająca darowizna jest dodawana natychmiast.

### Kwota dowolna

Klient wpisuje wybraną kwotę i zatwierdza. Wartość jest kontrolowana względem zdefiniowanego minimum i maksimum.

Po dodaniu darowizny blok wyświetla podziękowanie i link „Usuń darowiznę". Klient zachowuje kontrolę: może zmienić kwotę lub wycofać darowiznę w każdej chwili przed płatnością.

## Jak darowizna jest dodawana do koszyka

Przy każdym wyborze moduł tworzy **cenę specyficzną** (`SpecificPrice`) ograniczoną do bieżącego koszyka (`id_cart`) i stosuje ją do produktu wirtualnego „Darowizna charytatywna". Produkt jest dodawany do koszyka, gdy kwota jest większa od zera, a usuwany w przeciwnym razie. PrestaShop stosuje wtedy walutę i kontekst multisklepu, a darowizna pojawia się jako czytelna pozycja w sumach, zamówieniu i na fakturze.

### Automatyczne przeliczanie zaokrąglenia

W trybie zaokrąglenia kwota darowizny jest **przeliczana przy każdym wyświetleniu bloku**. Jeśli klient zmieni koszyk po wybraniu zaokrąglenia, darowizna pozostaje spójna z nową sumą aż do płatności.

### Darowizna bez VAT

Produkt „Darowizna charytatywna" jest tworzony **bez reguły podatkowej**: kwota wyświetlana i zbierana odpowiada dokładnie gestowi klienta, bez niespodzianek z VAT.

## Śledzenie darowizn w zapleczu

Pod menu **Zamówienia** dodawana jest zakładka **Darowizny charytatywne** (kontroler `AdminDfDonations`). Wymienia ona każdą darowiznę wraz z:

- **kwotą** darowizny;
- użytym **trybem** (zaokrąglenie, kwota stała lub kwota dowolna);
- **klientem** i powiązanym **zamówieniem**;
- **datą** darowizny.

Pasek podsumowania pokazuje **sumę zebraną** i liczbę darowizn. Darowizna jest utrwalana w historii przy **zatwierdzeniu zamówienia** (`actionValidateOrder`).

## Przekazanie środków organizacji

Moduł **nie przekazuje automatycznie** darowizn organizacji: to celowe. Zbiera darowizny w ramach Twoich zamówień i dostarcza sumę oraz historię. Zachowujesz kontrolę nad momentem i kanałem przekazania środków organizacji partnerskiej, według własnego procesu.

## Zgodność z PrestaShop 9

Moduł jest zaprojektowany i testowany od PrestaShop 8.0 do 9.x:

- kontroler zaplecza używa `ModuleAdminController`, zgodnego z 8 i 9;
- kod unika metod usuniętych w PrestaShop 9 (przenośny token AJAX i przenośne formatowanie cen);
- kontroler AJAX zwraca bezpośrednio JSON, bez nadpisywania niekompatybilnej sygnatury.

## FAQ i rozwiązywanie problemów

### Blok nie wyświetla się w ścieżce zamówienia

Blok wyświetla się niezawodnie na dole strony koszyka. W podsumowaniu zamówienia wyświetlanie zależy od motywu, który musi udostępniać odpowiedni punkt zaczepienia. Darowizna wybrana na stronie koszyka jest w każdym przypadku zachowana aż do płatności.

### Suma nie aktualizuje się po kliknięciu

Blok wywołuje odświeżenie koszyka po dodaniu lub usunięciu darowizny. Wyczyść pamięć podręczną PrestaShop, a następnie przeładuj stronę. Sprawdź też, czy produkt „Darowizna charytatywna" nie został usunięty ręcznie.

### Sklep robi się biały po instalacji

Upewnij się, że używasz najnowszej wersji modułu, i wyczyść pamięć podręczną. Produkt darowizny jest celowo niewidoczny w sklepie; nie ustawiaj go jako widocznego i nie usuwaj go ręcznie.

### Kwota zaokrąglenia wydaje się nieprawidłowa

Sprawdź skonfigurowany **krok zaokrąglenia**. W trybie zaokrąglenia darowizna jest przeliczana przy każdym wyświetleniu bloku na podstawie sumy bez darowizny; jeśli koszyk się zmieni, kwota jest dopasowywana automatycznie.

### Jak przetłumaczyć blok na inny język?

Tytuł, nazwa organizacji i opis to pola wielojęzyczne: wybierz każdy język w konfiguracji, aby je przetłumaczyć. Etykiety interfejsu tłumaczy się przez **Zaawansowane > Tłumaczenia > Tłumaczenia zainstalowanych modułów**, wybierając `dfsolidarityround`.

### Czy moduł jest zgodny z PrestaShop 9?

Tak. Moduł jest zaprojektowany i testowany od PrestaShop 8.0 do 9.x, zarówno w jednym sklepie, jak i w multisklepie.

## Odinstalowanie

Odinstalowanie usuwa produkt „Darowizna charytatywna", zakładkę zaplecza i tabelę historii darowizn. Jeśli chcesz zachować historię, dezaktywuj moduł bez odinstalowywania.
