BoxBilling
Oficjalny moduł płatności dpay.pl dla systemu BoxBilling (kompatybilny również z FOSSBilling). Umożliwia przyjmowanie płatności online za faktury. Obsługuje BLIK Level 0 (inline), karty płatnicze (inline), Apple Pay, Google Pay, PayPal, Paysafecard, raty oraz zwroty online.
Wymagania
- BoxBilling 4.x lub FOSSBilling
- PHP 7.4 lub nowszy
- Aktywne konto w Panelu dpay.pl z utworzonym Punktem Płatności
Obsługiwane metody płatności
- BLIK (w tym BLIK Level 0 - inline)
- Przelewy bankowe (pay-by-link)
- Karty płatnicze (w tym tryb inline)
- Apple Pay
- Google Pay
- PayPal
- Paysafecard
- Raty
Obsługiwana waluta: PLN.
Instalacja
- Pobierz pliki modułu ze strony dpay.pl lub z GitHuba.
- Skopiuj pliki do katalogu BoxBilling, zachowując strukturę katalogów:
Główne elementy:
bb-library/Payment/Adapter/Dpay.php
bb-library/Payment/Adapter/Dpay/lib/dpay-sdk/
bb-library/Payment/Adapter/Dpay/translations/Dpay.php- główny plik adaptera płatnościDpay/lib/dpay-sdk/- biblioteka SDK dpay.plDpay/translations/- pliki tłumaczeń (pl, en)
- Zaloguj się do panelu administracyjnego BoxBilling.
- Przejdź do Configuration > Payment gateways.
- Znajdź dpay.pl na liście dostępnych bramek i kliknij Install.
Konfiguracja
Krok 1 - Przygotowanie danych w Panelu dpay.pl
- Zaloguj się do Panelu dpay.pl.
- Przejdź do sekcji Punkty Płatności.
- Utwórz nowy Punkt Płatności lub wybierz istniejący.
- Zanotuj:
- Nazwa serwisu (
service_name) - unikalna nazwa Twojego Punktu Płatności - Tajny hash (
secret_hash) - klucz używany do podpisywania żądań
- Nazwa serwisu (
- W ustawieniach Punktu Płatności ustaw adres IPN na:
https://twoj-boxbilling.pl/bb-ipn.php?bb_gateway_id=<ID_BRAMKI>
Ważne
Tajny hash powinien być traktowany jak hasło. Nigdy nie udostępniaj go publicznie ani nie umieszczaj w kodzie frontendowym.
Krok 2 - Konfiguracja modułu
- Przejdź do Configuration > Payment gateways w panelu BoxBilling.
- Kliknij na bramkę dpay.pl, aby otworzyć ustawienia.
- Wypełnij formularz konfiguracyjny:
| Pole | Opis |
|---|---|
Payment Point name (service_name) | Nazwa serwisu z Panelu dpay.pl |
Secret hash key (hash_key) | Tajny hash z Panelu dpay.pl |
| Enable PayPal | Włącz/wyłącz płatności PayPal |
| Enable credit cards | Włącz/wyłącz płatności kartą |
| Enable Paysafecard | Włącz/wyłącz płatności Paysafecard |
| Enable installments | Włącz/wyłącz płatności ratalne |
| Hide bank list | Ukryj listę banków na stronie płatności |
| Enable BLIK Zero | Włącz płatności BLIK Level 0 (inline, bez przekierowania) |
| Enable Apple Pay | Włącz płatności Apple Pay (SDK) |
| Enable Google Pay | Włącz płatności Google Pay (SDK) |
| Enable inline card payment | Włącz płatności kartą inline (SDK) |
- Zapisz zmiany.
Krok 3 - Weryfikacja
- Przejdź na stronę klienta lub utwórz testową fakturę w walucie PLN.
- Wybierz dpay.pl jako metodę płatności.
- Sprawdź, czy następuje poprawne przekierowanie na stronę płatności. Jeśli BLIK Zero lub metody SDK są włączone, powinien wyświetlić się formularz z odpowiednimi opcjami.
- Po dokonaniu płatności sprawdź, czy faktura w BoxBilling zmieniła status na opłaconą.
Zwroty
Moduł obsługuje zwroty online przez API dpay.pl:
- Wywołaj metodę zwrotu z poziomu panelu administracyjnego lub API BoxBilling.
- Podaj identyfikator transakcji (
transaction_id) oraz opcjonalnie kwotę zwrotu.
Obsługiwane są zarówno zwroty pełne (bez podania kwoty), jak i częściowe (z podaniem konkretnej kwoty).
Mapowanie statusów
| Status dpay.pl | Status BoxBilling |
|---|---|
| Nowa transakcja | Pending |
completed (IPN) | Complete (txn_status: complete) |
| Błąd podpisu | Odrzucone (BAD SIGNATURE) |
Rozwiązywanie problemów
Faktury nie zmieniają statusu po płatności
- Sprawdź, czy adres IPN (
/bb-ipn.php?bb_gateway_id=<ID>) jest prawidłowo ustawiony w Panelu dpay.pl. - Upewnij się, że plik
bb-ipn.phpjest dostępny publicznie i nie jest blokowany przez firewall lub reguły.htaccess.
Błąd waluty
- Moduł obsługuje wyłącznie walutę PLN. Upewnij się, że waluta faktury jest ustawiona na PLN. Przy innej walucie wyświetli się komunikat o braku obsługi.
Błąd "Service name is not configured"
- Upewnij się, że pole Payment Point name w konfiguracji bramki jest uzupełnione prawidłową nazwą Punktu Płatności z Panelu dpay.pl.
Płatności SDK (Apple Pay, Google Pay, karta inline) nie działają
- Sprawdź, czy odpowiednie opcje są ustawione na Yes w konfiguracji bramki.
- Upewnij się, że przeglądarka klienta obsługuje wybraną metodę (Apple Pay wymaga Safari/iOS, Google Pay wymaga Chrome).
- Skrypt SDK (
dpay-iframe-sdk.js) musi być dostępny - sprawdź, czy nie jest blokowany przez Content Security Policy.