Callback
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
$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šą.
Callback parametrai
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.
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.