Dokumentacja DirectCarrierBiling
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
- 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!
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.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') |