Dokumentacja PaySafeCard
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/api/psc/index.php
Parametry potrzebne do połączenia z API
zmienna | typ | wymagany | opis |
---|---|---|---|
userid | numer | Tak | Unikalny numer identyfikacyjny użytkownika w systemie paybylink. Dostępny po zalogowaniu w panelu nawigacyjnym. |
shopid | numer | Tak | Numer identyfikacyjny sklepu (zgłoszonej strony internetowej do przyjmowania płatności). Dostępny w zakładce Sklepy PaySafeCard |
amount | float | Tak | Kwota płatności, która ma zostać pobrana z konta / bonu klienta sklepu. |
return_ok | string | Tak | Adres przekierowujący klienta do strony po pozytywnie przeprowadzonej transakcji. |
return_fail | string | Tak | Adres przekierowujący klienta do strony po negatywnie przeprowadzonej transakcji. |
url | string | Tak | Adres pod, który system paybylink prześle informację o statusie transakcji. |
control | string | Tak | Pole do przechowywania informacji przez sklep np. numer identyfikacyjny zamówienia umożliwiający późniejszą zmianę statusu transakcji we własnej platformie. |
hash | string | Tak | Suma sha256 uniemożliwiająca rozpoczęcie transakcji nieautoryzowanym użytkownikom. Więcej informacji o sposobie hashowania znajdziesz poniżej. |
description | string | Nie | Pole umożliwiające zapisanie inforamcji o produkcie przez sklep. |
get_pid | string | Nie | Pole umożliwia pobranie numeru transakcji (pid-xxxxxxxxx_xxxxxx) oraz przekierowanie klienta bezpośrednio na strone płatności. https://paybylink/pay/$PID Głównym założeniem opcji jest generowanie transakcji w tle |
2. Transfer klienta do strony płatności
- W celu rozpoczęcia płatności należy formularzem POST przesłać zestaw pakietów pod link wewnętrzny systemu paybylink.
Przykładowy formularz p rezentujemy poniżej.
<form method="post" name="paysafecard" action="https://paybylink/api/psc/">
<input type="hidden" name="userid" value="1">
<input type="hidden" name="shopid" value="1">
<input type="hidden" name="return_ok" value="http://twojastrona.pl/platnosci_ok">
<input type="hidden" name="return_fail" value="http://twojastrona.pl/platnosc_blad">
<input type="hidden" name="url" value="http://twojastrona.pl/odbior_platnosci.php">
<input type="hidden" name="description" value="Testowy produkt">
<input type="hidden" name="amount" value="10">
<input type="hidden" name="control" value="123456">
<input type="hidden" name="hash" value="e6b467c907930846f931970365f3fdd3e6b467c907930846f931970365f3fdd3">
<input type="submit" value="Zapłać"></form>
</form>
Parametr HASH uniemożliwia rozpoczęcie płatności osobom nieautoryzowanym. Przykład kodowania hash-a hash('sha256', $config['psc']['userid'] . $config['psc']['hash'] . $config['psc']['amount'])
Ogromną zaletą integracji płatności paybylink w swoim serwisie jest oparcie integracji o white-label. Klient sklepu nie widzi, że płaci przez pośrednika.
Po wygenerowaniu formularza automatycznie przenoszony jest do strony PaySafeCard.
W celu uruchomienia płatności w tle bez widocznych danych formularza należy wysłać dodatkowo parametr get_pid (true). Zostaną zwrócone dane w formacie json (status, pid). Użytkownika należy przekierować pod adres https://paybylink/pay/$pid
Alternatywą dla powyższego formularza jest wysłanie pakietu POST (get_pid true), który zwróci id płatności do przeniesienia klienta. Dane są zwracane w formacie json.header('Location: ' . URL . '/pay/' . $pid . '/');
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/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
Przesyłane dane są zakodowane w urlencode
zmienna | opis |
---|---|
status | Status transakcji TRUE lub FALSE |
test | transakcja testowa = true, produkcja = false |
userid | id przyjmującego płatność |
shopid | id zatwierdzonego przez paysafecard sklepu |
pid | Unikalny numer transakcji |
mtid | Unikalny numer transakcji w PSC |
amount | Wartość zamówienia (kuponu PSC) |
control | Pole dla sklepu, umożliwiające m.in zapisanie sesji |
description | Opis płatności zdefiniowany w fomrmularzu |
hash | Indywidualna suma kontrolna w md5() ---> NIEZALECANE |
hashsha256 | Indywidualna suma kontrolna w sha256() ----> ZALECANE |