Bendra informacija
Galite peržiūrėti visus gautus 'callback', bei jūsų sistemos duotą atsaką.
bank.paysera.com ->
Projektai ir veiklos ->
Gauti mokėjimai ->
Info ženkliukas prie specifinio mokėjimo.
Čia jūs rasite url adresą, kuriuo buvo siųstas 'callback', taip pat jūsų sistemos atsaką. Galite panaudoti šį url, norint rankiniu būdų iškviesti 'callback'.
Visuomet tikrinkite perduodamą apmokėjimo statusą - tik status reikšmė 1 reiškia, kad apmokėjimas įvykdytas sėkmingai.
Patikrinkite, ar mokėjimas nėra testinis (pagal status parametrą), ar paslauga už šį užsakymą dar nesuteikta (pagal orderid parametrą), patikrinkite, ar sutampa siunčiama ir prie užsakymo išsaugota apmokėjimo kaina ir valiuta.
Callback struktūra
Paysera atsakymą siunčia Jūsų nurodytu callbackurl adresu. Prie jūsų nurodyto callbackurl pridedami 3 GET parametrai:
-
data - Užkoduoti parametrai iš Paysera svetainės. Naudojamas toks pats kodavimas, kaip ir macro užklausos formavime. Norint gauti parametrus, reikia atlikti 3 veiksmus:
- Pakeisti simbolius "-" į "+", "_" į "/"
- Iškoduoti eilutę, naudojant base64 kodavimą
- Gauti duomenų masyvą iš rezultato, kuris yra URL-encoded parametrų rinkinys
Pavyzdys PHP kalba:
$params = [];
parse_str(base64_decode(strtr($_GET['data'], ['-' => '+', '_' => '/'])), $params);
//use $params
-
ss1 -
Parametro data parašas, ne naudojant privačių-viešųjų raktų schemos. Parašo sudarymo algoritmas:
ss1 = md5(data + password)
-
ss2 -
SHA-1 algoritmu sugeneruotas parametro data parašas, naudojant privačių-viešųjų raktų schemą. Viešasis Paysera raktas, naudojamas pasirašant duomenis, laikomas adresu https://www.paysera.com/download/public.key
Gavę atsakymą iš Paysera sistemos, Jūs privalote patikrinti, ar teisingas bent vienas iš atsiųstų parašų. Jei yra galimybė, visuomet tikrinkite (ir) aukštesnio saugumo ss2 parašą.
Parašo tikrinimas įmanomas tik tada, kai projekto nustatymuose šifravimas yra išjungtas. Jei šifravimas įjungtas, naudojamas alternatyvus duomenų tikrinimo metodas.
Atgalinio iškvietimo šifravimas
Kai šifravimas projekto nustatymuose yra įjungtas, parametrai
ss1 ir
ss2 nebus siunčiami. Vietoj to bus šifruojamas
data turinys. Toliau pateikiamas tokios užklausos apdorojimo PHP kalba pavyzdys:
$password = 'password';
$stringToDecrypt = base64_decode(strtr($requestData['data'], '-_', '+/'), true);
$ivLength = (int) openssl_cipher_iv_length('aes-256-gcm');
$iv = substr($stringToDecrypt, 0, $ivLength);
$ciphertext = substr($stringToDecrypt, $ivLength, -16);
$tag = substr($stringToDecrypt, -16);
$decryptedText = openssl_decrypt(
$ciphertext,
'aes-256-gcm',
$password,
OPENSSL_RAW_DATA,
$iv,
$tag
);
Callback parametrai
projectid
Unikalus projekto numeris.
Tik patvirtinti projektai, gali priimti įmokas.
orderid
Užsakymo numeris iš jūsų sistemos.
lang
Galima nurodyti naudotojo kalbą (ISO 639-2/B: LIT, RUS, ENG ir pan.). Jeigu tokios kalbos Paysera nepalaiko bus parinkta kalba pagal lankytojo IP adresą arba anglų kalba pagal nutylėjimą.
amount
Suma centais, kurią klientas turi apmokėti.
currency
Mokėjimo valiuta (pvz. USD, EUR ir pan.), kuria pageidaujate, kad klientas mokėtų. Jeigu nurodyta valiuta per pasirinktą mokėjimo būdą negali būti priimta, sistema automatiškai pagal dienos kursą konvertuos į palaikomą valiutą. Atsakyme į Jūsų svetainę bus paduoti payamount ir paycurrency.
payment
Mokėjimo būdas. Jei nurodytas, mokėjimas bus atliekamas konkrečiai per tą mokėjimo būdą. Jei nenurodytas, vartotojui bus pateikiama galimų mokėjimo būdų lentelė. Mokėjimo būdus galite gauti ir realiu laiku, naudojantis WebToPay biblioteka.
country
Mokėtojo šalis (LT, EE, LV, GB, PL, DE). Nurodžius šalį mokėtojui iš karto pateikiami mokėjimo būdai, kurie galimi toje šalyje. Jeigu šalis nenurodoma, sistema pagal mokėtojo IP adresą nustato jo šalį. Mokėtojui paliekama galimybė pasikeisti šalį.
paytext
Mokėjimo paskirtis, kuri matosi darant pavedimą.
name
Mokėtojo vardas, gautas iš mokėjimo sistemos. Siunčiamas tik jeigu mokėjimo sistema tokį suteikia.
surename
Mokėtojo pavardė, gauta iš mokėjimo sistemos. Siunčiamas tik jeigu mokėjimo sistema tokį suteikia.
status
Mokėjimo statusas:
0 - Apmokėjimas neįvyko
1 - Apmokėta sėkmingai
2 - Mokėjimo nurodymas priimtas, bet dar neįvykdytas
3 - Papildoma mokėjimo informacija
4 - Mokėjimas buvo atliktas, tačiau patvirtinimas apie gautas lėšas nebus išsiųstas.
test
Parametras, kuriam esant galima testuoti sujungimą, tokiu būdu apmokėjimas nevykdomas ir rezultatas grąžinamas iš karto, tartum būtų sumokėta.
payment_country
Mokėjimo būdo šalis. Jei mokėjimo būdas yra aptarnaujamas daugiau nei vienoje šalyje (tarptautinis) - parametras nesiunčiamas. Šalis pateikiama 2 simbolių (ISO 3166-1 alpha-2) formatu. PVZ.: LT, PL, RU, EE.
payer_ip_country
Mokėtojo šalis, kuri nustatoma pagal mokėtojo IP adresą. Šalis pateikiama 2 simbolių (ISO 3166-1 alpha-2) formatu. PVZ.: LT, PL, RU, EE.
payer_country
Mokėtojo šalis, kuri nustatoma pagal mokėjimo būdo šalį, o jeigu būdas yra tarptautinis pagal mokėtojo IP adresą. Šalis pateikiama 2 simbolių (ISO 3166-1 alpha-2) formatu. PVZ.: LT, PL, RU, EE.
p_email
Pirkėjo el. paštas privalomas. Jeigu adresas nebus gautas, kliento bus prašoma jį įvesti. Šiuo adresu Paysera sistema informuos mokėtoją apie apmokėjimo būklę.
payamount
Suma centais, kurią pervedė. Gali skirtis jeigu buvo konvertuota į kitą valiutą.
paycurrency
Mokėjimo valiuta (pvz. USD, EUR ir pan.), kurią pervedė. Gali skirtis nuo tos kurios prašėte, jeigu pasirinktas mokėjimo būdas negalėjo priimti prašomos valiutos.
version
Paysera mokėjimų sistemos specifikacijos (API) versijos numeris.
requestid
Tai užklausos numeris, kurį gauname, kai žmogus nuspaudžia ant banko ir kurį pateikiame į "callbackurl" laukelyje nurodytą nuorodą.
account
Sąskaitos numeris, iš kurio buvo atliktas mokėjimas.
personcodestatus
Jei užklausos metu buvo paduotas personcode, šis parametras nurodo, ar sutampa paduotas asmens kodas su tikruoju mokėtojo asmens kodu. Galimos reikšmės:
0 - Asmens kodas dar nežinomas
1 - Asmens kodas sutampa
2 - Asmens kodas nesutampa
3 - Asmens kodas nėra žinomas
Jei callback metu asmens kodas dar nėra žinomas, bus daromas dar vienas callback su status parametru 3, kai jo sutapimas bus sužinotas.
identification_successful
Galimos reikšmės - 1 arba 0. Šis parametras grąžinamas tuo atveju, jei mokėjimo užklausoje panaudotas personcode parametras ir tik naudojant kai kuriuos MIP mokėjimo būdus. Nurodo ar vartotojo identifikacija buvo sėkminga.