Przejdź do treści
paybylink.pl Panel klienta

Dokumentacja API

Jak podłączyć płatności doliczane do rachunku telefonicznego.

Przebieg płatności

Trzy kroki, od utworzenia płatności do powrotu klienta.

  1. Utworzenie płatności — Twój serwer wysyła żądanie do nas i dostaje adres strony płatności.
  2. Przekierowanie klienta — klient potwierdza płatność u swojego operatora.
  3. Powiadomienie i powrót — wysyłamy powiadomienie na Twój adres i odsyłamy klienta do serwisu.

1. Utworzenie płatności

Żądanie wykonywane wyłącznie z serwera, przez HTTPS.

Adres POST https://paybylink.pl/direct-biling/
Format application/json
Autoryzacja Basic Auth — login i hasło serwisu z zakładki Zarządzaj
Parametr Typ Wymagany Opis
price int tak Kwota do zapłaty przez klienta, w groszach, netto.
description string tak Opis produktu lub usługi, widoczny dla klienta.
control string tak Dowolne pole do Twojego użytku, np. identyfikator zamówienia.
signature string tak Podpis SHA-256 chroniący przed rozpoczęciem płatności przez osoby nieupoważnione.

Podpis żądania wyliczasz tak:

hash('sha256', $price . '|' . $description . '|' . $control . '|' . $hash)

hash to klucz integracyjny Twojego serwisu. Separatorem jest znak |.

2. Powiadomienie o płatności

Wysyłamy je na adres skonfigurowany w serwisie, metodą POST.

Pole Opis
status Wynik płatności: AUTHORIZED lub REJECT.
userid Identyfikator konta przyjmującego płatność.
shopid Identyfikator Twojego serwisu.
pid Unikalny numer transakcji w naszym systemie.
price Wartość netto transakcji w groszach.
control Pole przekazane przez Ciebie przy tworzeniu płatności.
description Opis płatności podany przy jej tworzeniu.
date_pay Data i godzina rozliczenia płatności.
commission Prowizja naliczona do transakcji.
carrierID Operator: play, tmobile, orange lub plus.
signature Podpis pozwalający zweryfikować, że powiadomienie pochodzi od nas.

Przykładowy pakiet:

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
)

Podpis powiadomienia sprawdzasz tak:

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

Zanim zaksięgujesz płatność

Trzy sprawdzenia, bez których integracja nie jest bezpieczna.

  • Zweryfikuj podpis każdego powiadomienia. Bez tego każdy może podszyć się pod nasz system.
  • Sprawdź adres IP nadawcy. Aktualną listę udostępniamy pod https://paybylink.pl/psc/ips/ — pobieraj ją na bieżąco.
  • Porównaj shopid i userid z własną konfiguracją, zanim uznasz płatność za swoją.

Ręczne sprawdzenie statusu

Gdy powiadomienie nie dotarło albo chcesz potwierdzić stan płatności.

Adres POST https://paybylink.pl/direct-biling/transactionStatus.php
Format application/json
Autoryzacja Basic Auth, tak jak przy tworzeniu płatności

Kody błędów

Zwracane przy tworzeniu płatności.

Kod Znaczenie
100 Problem z autoryzacją do API — sprawdź login i hasło serwisu.
101 Brak wymaganych parametrów albo mają nieprawidłowy format.
102 Serwis nie ma skonfigurowanych adresów powrotnych.
103 Nieprawidłowa kwota.
104 Nieprawidłowy format pola description.