Dokumentacja DirectCarrierBiling
Pobierz przykładowy gotowy skrypt
Schemat przebiegu płatności w systemie paybylink
1. Wygenerowanie płatności w paybylink
2. Transfer klienta do strony płatności
3. Potwierdzenie płatności i powrót klienta do sklepu
1. Wygenerowanie płatności w paybylink

Link wewnętrzny do połączenia z systemem paybylink metodą POST

https://paybylink.pl/direct-biling/

Rozpoczęcie nowej płatności powinno być wykonane tylko za pośrednictwem żądania serwera na serwerze przez HTTPS.

Połaczenie z API wymaga autoryzacji na przykład: PHP_AUTH_USER oraz PHP_AUTH_PW

Parametry do przesłania metodą POST (Content-Type: application/json)

zmienna typ wymagany opis
price float Tak Kwota do zapłaty przez klienta w groszach (netto).
description string Tak Pole umożliwiające zapisanie inforamcji o produkcie przez sklep.
control string Tak Pole do wykorzystania przez sklep
signature string Tak Suma sha256 uniemożliwiająca rozpoczęcie transakcji nieautoryzowanym użytkownikom. Więcej informacji o sposobie hashowania znajdziesz poniżej.
2. Transfer klienta do strony płatności
  1. W celu rozpoczęcia płatności należy wygenerować płatność poprzez POST przesłać zestaw pakietów pod link wewnętrzny systemu paybylink.

Parametr HASH uniemożliwia rozpoczęcie płatności osobom nieautoryzowanym. Przykład kodowania hash-a

hash('sha256', price.description.control.hash)Wymagany dodatkowo separator |

3. Potwierdzenie płatności i powrót klienta do sklepu

Przy odbieraniu informacji o płatności należy zachować szczególne środki ostrożności!

Pamiętaj o następujących krokach!

  • Sprawdzaj adresy IP systemu paybylink - są one udostępniane dynamicznie pod adresem https://paybylink.pl/psc/ips/. W celu uniknięcia w przyszłości problemów z odbiorem płatności polecamy weryfikować je na żywo przy każdej transakcji.
  • Sprawdzaj parametry shopid oraz userid z własnym configiem
  • Sprawdź sygnature płatności
  • Weryfikuj kwotę jaka wpłyneła na Twoje konto paybylink
  • Pakiety przesyłane przez paybylink pod adres url

    zmienna opis
    status Status transakcji AUTHORIZED lub REJECT
    userid id przyjmującego płatność
    shopid id zatwierdzonego przez paysafecard sklepu
    pid Unikalny numer transakcji
    price Wartość netto transakcji w groszach
    control Pole dla sklepu, umożliwiające m.in zapisanie sesji
    description Opis płatności zdefiniowany w fomrmularzu
    date_pay Data aktualizacji - płatności
    commission Przyznana prowizja do transakcji
    carrierID Operator (play, tmobile, orange, plus)
    signature Pole pozwalające zweryfikować pochodzenie notyfikacji. OBOWIĄŻKOWO NALEŻY SPRAWDZAĆ!

    Dane są przesyłane w formacie urlencode
    
    Array
    	(
    	    [status] => AUTHORIZED
    	    [userid] => 1
    	    [shopid] => 16
    	    [pid] => db-1514901015_2458904
    	    [price] => 1
    	    [control] => 17777
    	    [description] => zakup
    	    [date_pay] => 2018-09-22 12:22:44
    	    [commission] => 75
    	    [carrierID] => play
    	    [signature] => 6b4c64165a51d4cbb700534215c79dfc786700a15a2782c9e13deaabe02a3322
    	)
    
    
    Suma signature wynika z poniższego schematu:

    hash('sha256', HASH . '|' . $_POST['status'] . '|' . $_POST['userid'] . '|' . $_POST['shopid'] . '|' . $_POST['pid'] . '|' . $_POST['price'] . '|' . $_POST['control'] . '|' . $_POST['description'] . '|' . $_POST['date_pay'] . '|' . $_POST['commission'] . '|' . $_POST['carrierID'] )

    HASH - indywidualny do każdego sklepu

    Kody błędów

    kod opis
    100 Problem z autoryzacją logowania do API
    101 Brak wymaganych parametrów bądź są nieprawidłowe
    102 Sklep nie posiada skonfigurowanych linków zwrotnych
    103 Nieprawidłowa kwota
    104 Błędny format description
    Ręczne sprawdzenie statusu transakcji

    Link wewnętrzny do połączenia z systemem paybylink metodą POST

    https://paybylink.pl/direct-biling/transactionStatus.php

    Rozpoczęcie nowej płatności powinno być wykonane tylko za pośrednictwem żądania serwera na serwerze przez HTTPS.

    Połaczenie z API wymaga autoryzacji na przykład: PHP_AUTH_USER oraz PHP_AUTH_PW

    Parametry do przesłania metodą POST (Content-Type: application/json)

    zmienna typ wymagany opis
    pid string Tak Numer identyfikacyjny transakcji
    signature string Tak Zaszyfrowany ciąg hash('sha256', PID.'|'.HASH')