Przejdź do treści
Devlom Karol Orzeł
← Blog blog 2 min czytania

Simple Donations — darmowa wtyczka WordPress do zbiórek z PayU i Przelewy24

Simple Donations to darmowa wtyczka WordPress do zbiórek charytatywnych: cel z paskiem postępu i wpłaty przez PayU, Przelewy24, PayPal lub przelew. Open source.

Simple Donations — darmowa wtyczka WordPress do zbiórek z PayU i Przelewy24

4

bramki: PayU, Przelewy24, PayPal i przelew

od 2018

w produkcji w fundacji charytatywnej

0 zł

licencja GPL, kod na GitHubie

Simple Donations to darmowa wtyczka WordPress do zbiórek charytatywnych. Fundacja ustawia cel i termin, a darczyńca widzi pasek postępu i wpłaca przez PayU, Przelewy24, PayPal albo zwykłym przelewem. To unowocześniona wersja wtyczki Fundraising od WPMU DEV, na której Fundacja „Dom w Łodzi” prowadzi zbiórki od 2018 roku. Kod udostępniam na licencji GPL.

Zbiórka z paskiem postępu i czterema bramkami płatności

Zrzuty pochodzą z instalacji demo z fikcyjną fundacją, zbiórkami i darczyńcami.

Skąd ta wtyczka

Fundraising od WPMU DEV to porządna wtyczka do zbiórek: zbiórki jako osobny typ wpisów, cele, nagrody dla wspierających, widżety i krótkie kody. Z czasem jednak się zestarzała. PayPal działał przez przestarzałe IPN, a obsługa Adaptive Payments przestała działać, gdy PayPal wyłączył je w 2022 roku. W kodzie zostały konstruktory z PHP 4, a polskich bramek płatności nie było wcale.

Fundacja zbiera na niej pieniądze na co dzień, więc wymiana na inną wtyczkę oznaczałaby migrację kilku lat zbiórek i historii wpłat. Wtyczka jest na licencji GPL, więc zamiast ją wymieniać, przejąłem ją i unowocześniłem.

Co zmieniłem

  • Przelewy24 i PayU. Dwie najpopularniejsze bramki w Polsce, obie przez aktualne REST API, z trybem testowym i weryfikacją podpisu powiadomień.
  • PayPal od nowa. Zamiast przekierowania i IPN jest nowe API (Orders v2) i okienko PayPala na stronie, bez wychodzenia ze zbiórki.
  • Płatność w jednym kroku. Darczyńca podaje dane raz, w panelu zbiórki, i wybiera bramkę osobnym przyciskiem. Wcześniej wypełniał dwa formularze.
  • PHP 8.3. Poprawki zgodności, które usunęły błędy krytyczne na nowych serwerach.
  • Wygląd. Pięć starych motywów zastąpił jeden responsywny styl na zmiennych CSS, który łatwo dopasować do kolorów strony.
  • Polskie tłumaczenie interfejsu.

Panel zbiórki: postęp, dane darczyńcy i przyciski bramek

Bezpieczeństwo pieniędzy

Przy wtyczce, przez którą płyną wpłaty, większość pracy nie widać na zrzutach:

  • Podwójne wpłaty. PayU i Przelewy24 potrafią wysłać to samo powiadomienie o płatności kilka razy. Bez zabezpieczenia jedna wpłata mogła zapisać się dwa razy, a pasek postępu pokazywałby więcej pieniędzy, niż wpłynęło. Teraz każde powiadomienie jest przetwarzane tylko raz.
  • Luki w kodzie. Naprawiłem m.in. SQL injection w generowaniu identyfikatora wpłaty, brakującą ochronę przed CSRF w ustawieniach i niefiltrowane dane w przelewie tradycyjnym.
  • Walidacja. Formularz sprawdza imię, e-mail, kwotę i zgodę na politykę prywatności, zanim darczyńca trafi do bramki. Jeśli żadna bramka nie jest aktywna, panel ostrzega o tym administratora.

Ustawienia PayU i Przelewy24 z trybem testowym

Konfiguracja

Bramki włącza się w ustawieniach jednym kliknięciem. Dla PayU i Przelewy24 wystarczą dane z panelu operatora, a adres powiadomień wtyczka podaje sama, gotowy do skopiowania. Każdą bramkę można najpierw przetestować w trybie sandbox.

Ustawienia płatności: waluta, typy zbiórek i aktywne bramki

Pobierz

Simple Donations jest darmowa i dostępna na GitHubie. Wymaga WordPressa 5.0+ i PHP 8.3+. Przygotowuję ją też do zgłoszenia w katalogu WordPress.org.

Prowadzisz fundację albo stowarzyszenie i chcesz zbierać wpłaty na własnej stronie, bez prowizji serwisów zbiórkowych? Mogę wdrożyć wtyczkę, podłączyć bramki płatności i dopasować wygląd do Twojej strony. Zobacz, jak pracuję przy tworzeniu stron www i opiece nad stroną WordPress.

Moja rola
Modernizacja, nowe bramki płatności, bezpieczeństwo, utrzymanie
Technologie
WordPress, PHP 8.3, PayU REST API, Przelewy24 REST API, PayPal Orders v2

Może Cię również zainteresować

Powiązane artykuły

Gotowy na start?

Skontaktuj się ze mną i omówmy Twój projekt

Napisz do mnie