Wdrożenie wyboru banków w koszyku płatności to najlepsza metoda prezentacji funkcjonalności płatniczych sklepu.

Ten poradnik pozwoli zarówno zrozumieć mechanizm działania wyboru metody płatności jak i pomoże w poprawnym wdrożeniu go na własnej stronie.

Zalety integracji z wyborem banków po stronie Twojego sklepu

  • Klient składający zamówienie od razu rozpozna swoją ulubioną metodę płatności na liście, co jeszcze bardziej zachęci go do finalizacji zakupu.
  • Jeśli prowadzisz sprzedaż w kilku sklepach, możesz niezależnie zdecydować, które banki udostępnić swoim płatnikom, bez konieczności rezygnacji z jednego banku na poczet drugiej strony.

Sposoby wyboru banku

Każda metoda płatności ma przypisany unikatowy numer, dzięki któremu system Tpay oraz system sprzedawcy może rozróżniać metodę płatności wybraną przez klienta.

  1. Lista metod płatności: Dostępne metody można wyświetlić przez prezentację listy w formie kafelków zawierające logotypy banków lub w formie listy rozwijanej. Jest to najpopularniejsza metoda prezentacji obsługiwanych metod płatności.
  2. Dedykowana metoda płatności: Wybraną metodę można wyświetlić jako dedykowaną poprzez prezentację logotypu poza wszystkimi innymi obsługiwanymi bankami. Prezentacja dedykowanej metody w koszyku poza listą ogólną pozwala na prowadzenie akcji promocyjnych i kierowanie klientów do metody, która zapewnia najlepsze warunki finansowe.

Techniczne wyjaśnienie zasady integracji

  1. Zarówno w przypadku prezentacji listy metod płatności jak i dedykowanej metody, cały proces sprowadza się do przekazania identyfikatora wybranej metody płatności do sklepu, który zostanie następnie wykorzystany do stworzenia transakcji, gdy zamówienie dobiegnie końca.
  2. Wprowadzenie wyboru banku w formie kafelków jest prostą modyfikacją kodu źródłowego strony koszyka, wiążącą się z dodaniem jednego formularza html oraz skryptu pobierającego listę dostępnych banków i podświetlającego wybrany bank.
    Gotowy formularz można łatwo wygenerować korzystając z gotowych bibliotek PHP Tpay, dostępnych w serwisie Github.
    Biblioteka Tpay umożliwia wygenerowanie widoku wyboru w formie kafelków lub listy rozwijanej, zarówno w pełni funkcjonalnej jak i uproszczonej (na potrzeby implementacji w bardziej rozbudowanych formularzach).
    Przykładowy formularz wygląda następująco:
  3. Do pobrania listy dostępnych metod płatności należy wykorzystać metodę GET /transactions/bank-groups zwracającą listę metod wraz z ich szczegółami.
    Jeżeli ma zostać udostępniona dedykowana metoda płatności na przykład BLIK, to jego identyfikator wystarczy jednorazowo odczytać i zapisać na stałe w kodzie źródłowym.

Przykład wdrożenia na podstawie bibliotek PHP Tpay

Klasa wyświetlająca formularz wyboru banku

  1. Pobierz biblioteki Tpay z serwisu github.com
  2. W folderze Examples znajduje się plik ExamplesConfig.php, w którym podaj swoje dane dostępowe jako wartości stałych:
    const MERCHANT_CLIENT_ID = '1010-e5736adfd4bc5d8c';
    
    const MERCHANT_CLIENT_SECRET = '493e01af815383a687b747675010f65d1eefaeb42f63cfe197e7b30f14a556b7';

    Dane dostępowe nie muszą być podane w pliku ExamplesConfig, można wykorzystać własne źródło danych. Plik ten jest wykorzystywany tylko na potrzeby przykładu.

  3. W folderze Examples\TransactionsApi znajduje się plik BankSelectionForm.php zawierający klasę BankSelectionForm
    Klasa posiada metodę wywołującą zapytanie API o listę dostępnych banków:
    protected function getBanksList($onlineOnly = false)
    {
        $TpayApi = new TpayApi(static::MERCHANT_CLIENT_ID, static::MERCHANT_CLIENT_SECRET, true, 'read');
        $result = $TpayApi->Transactions->getBankGroups($onlineOnly);
        if (!isset($result['result']) || $result['result'] !== 'success') {
            throw new TpayException('Unable to get banks list. Response: '.json_encode($result));
        }
    
        return $result['groups'];
    }
    • Argument $onlineOnly określa, czy pokazane mają być wyłącznie metody płatności zapewniające bieżące księgowanie.
  4. Klasa posiada również publiczną metodę, która wykorzystuje pobraną listę do wygenerowania gotowego formularza HTML:
    public function getBankForm()
    {
        $PaymentForms = new PaymentForms('en');
        $form = $PaymentForms->getBankSelectionForm(
            $this->getBanksList(true),
            false,
            true,
            'RedirectPayment.php',
            false
        );
        echo $form;
    }​
    • Pierwszy argument przekazuje pobraną tablicę metod płatności
    • Drugi argument decyduje czy lista ma być rozwijana, czy w formie kafelków. Domyślnie są to kafelki.
    • Trzeci argument decyduje czy do kodu formularza ma być dodany checkbox wyrażania zgody na warunki regulaminu systemu Tpay.
    • Czwarty argument wskazuje na jaki adres ma zostać wysłany formularz po kliknięciu "Płacę z Tpay". Na potrzeby przykładu jest to plik "RedirectPayment.php", który odbiera numer wybranego banku, tworzy transakcję i wykonuje przekierowanie do panelu transakcyjnego Tpay.
    • Piąty argument pozwala na zwrócenie uproszczonego widoku, tj. samych kafelków (lub listy rozwijanej) bez żadnych dodatkowych elementów jak nagłówek, regulamin, przyciski itp.
      Taki uproszczony formularz na pewno przyda się gdy ma zostać wyświetlony na rozbudowanej stronie, gdzie potrzebne jest nie tylko wskazanie banku, a o przejściu do następnego kroku decyduje inna sekcja i przycisk. W tym wypadku przechwycenie Id wybranej metody płatności należy oprogramować samodzielnie.
  5. Zmienna $form zawiera w tym momencie kod HTML oraz JS, który możesz wyświetlić w dowolnym miejscu na swojej stronie. Wszystko zależy od zasad panujących w programowanym środowisku, a na potrzeby przykładu posłużyliśmy się najprostszą funkcją "echo".
  6. Na końcu pliku następuje wywołanie klasy:
    (new BankSelectionForm)->getBankForm();