Formos duomenis siųskite GET arba POST metodu, adresu https://www.paysera.com/pay/

Visuomet yra siunčiami 2 laukai: data ir sign.

URL adreso pavyzdys: https://www.paysera.com/pay/?data=jūsų_DATA_parametras&sign=jūsų_SIGN_parametras

Laukų sudarymas iš parametrų

  1. Visi parametrai sujungiami į URL-encoded eilutę. Pavyzdžiui:
    ['param1' => 'abc', 'param2' => 'Some string with symbols %=&']
    'param1=abc&param2=Some+string+with+symbols+%25%3D%26'
    
    PHP kalboje tai padaro funkcija http_build_query.
  2. Gauta eilutė užkoduojama naudojant base64 koduotę. Pavyzdžiui:
    'param1=abc&param2=Some+string+with+symbols+%25%3D%26'
    'cGFyYW0xPWFiYyZwYXJhbTI9U29tZStzdHJpbmcrd2l0aCtzeW1ib2xzKyUyNSUzRCUyNg=='
    
    PHP kalboje tai padaro funkcija base64_encode.
  3. Gautoje užkoduotoje eilutėje simboliai "/" pakeičiami į "_", simboliai "+" į "-". Gauname base64 kodavimą, saugų perduoti per URL papildomai neapdorojant. Pavyzdžiui:
    'MViDYlV7V0iHR2w2OkJjRFFpY11hizJDhk+EZjl/'
    'MViDYlV7V0iHR2w2OkJjRFFpY11hizJDhk-EZjl_'
    
    PHP kalboje tai galima atlikti funkcija str_replace ar strtr.
  4. Gauta galutinė eilutė yra pasirašoma - sugeneruojamas sign parametras. Sign parametro generavimo algoritmas:
    sign = md5(data + password)
    Čia md5 - kriptografinė funkcija, data - užkoduoti parametrai, password - projekto slaptažodis.

Užklausos parametrai

Parametras
Ilgis
Būtinas
Aprašymas
projectid
11
Taip
Unikalus projekto numeris. Tik patvirtinti projektai, gali priimti įmokas.
orderid
40
Taip
Užsakymo numeris iš jūsų sistemos.
accepturl
255
Taip
Pilnas interneto adresas (URL), į kurį klientas nukreipiamas sėkmingai atlikus mokėjimą.
cancelurl
255
Taip
Pilnas interneto adresas (URL), į kurį klientas nukreipiamas nuspaudus grįžimo į parduotuvę nuorodą.
callbackurl
255
Taip
Pilnas adresas (URL), kuriuo pardavėjui pateikiama informacija apie atliktą mokėjimą.

Skriptas turi grąžinti tekstą "OK". Tik tuomet mūsų sistema užfiksuos, kad apie apmokėjimą sėkmingai informavome.

Jeigu atsakymo "OK" nėra, tai pranešimą siunčiame 4 kartus (kai tik gauname, po valandos, po trijų ir po paros).
version
9
Taip
Paysera mokėjimų sistemos specifikacijos (API) versijos numeris.
lang
3
Ne
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
11
Ne
Suma centais, kurią klientas turi apmokėti.
currency
3
Ne
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
20
Ne
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
2
Ne
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
255*
Ne
Mokėjimo paskirtis, kuri matosi darant pavedimą. Nenurodžius naudojamas tekstas pagal nutylėjimą:
Apmokėjimas už prekes ir paslaugas (už nr. [order_nr]) ([site_name]).

Jeigu nurodote mokėjimo paskirtį, būtina įtraukti šiuos kintamuosius, kurie galutiniame paskirties tekste bus pakeisti į atitinkamas reikšmes:

[order_nr] - užsakymo numeris.
[site_name] arba [owner_name] - svetainės adresas arba įmonės pavadinimas.
p_firstname
255
Ne
Pirkėjo vardas. Pageidautina daugumoje mokėjimo būdų. Privaloma mokėjimą atliekant tam tikrais mokėjimo būdais.
p_lastname
255
Ne
Pirkėjo pavardė. Pageidautina daugumoje mokėjimo būdų. Privaloma mokėjimą atliekant tam tikrais mokėjimo būdais.
p_email
255
Ne
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ę.
p_street
255
Ne
Pirkėjo adresas, kuriuo bus siunčiamos prekės (pvz: Pilaitės pr. 16). Pageidautina. Privaloma mokėjimą atliekant tam tikrais mokėjimo būdais.
p_city
255
Ne
Pirkėjo miestas, į kurį bus siunčiamos prekės. (pvz: Vilnius). Pageidautina. Privaloma mokėjimą atliekant tam tikrais mokėjimo būdais.
p_state
255
Ne
Pirkėjo valstijos kodas (privalomas tik perkant JAV valstijoje). Pageidautina. Privaloma mokėjimą atliekant tam tikrais mokėjimo būdais.
p_zip
20
Ne
Pirkėjo pašto kodas. Lietuvos pašto kodus galite rasti čia . Privaloma mokėjimą atliekant tam tikrais mokėjimo būdais.
p_countrycode
20
Ne
Pirkėjo šalies kodas. Šalies sutrumpintus kodus galite rasti čia . Privaloma mokėjimą atliekant tam tikrais mokėjimo būdais.
test
1
Ne
Parametras, kuriam esant galima testuoti sujungimą, tokiu būdu apmokėjimas nevykdomas ir rezultatas grąžinamas iš karto, tartum būtų sumokėta. Norint testuoti, būtina aktyvuoti testavimo režimą prie konkretaus projekto, kai prisijungiate: "Projektai ir veiklos" -> "Mano projektai" -> "Projekto nustatymai" -> "Įmokų surinkimo paslauga" (prie konkretaus projekto) -> "Leisti testinius mokėjimus" (pažymėkite).
only_payments
0
Ne
Rodyti tik kableliais išskirtą mokėjimo tipų sąrašą.
disallow_payments
0
Ne
Nerodyti kableliais išskirto mokėjimo tipų sąrašų.
time_limit
19
Ne
Parametras nurodantis iki kada galima apmokėti užklausą, data pateikiama "yyyy-mm-dd HH:MM:SS" formatu. Minimali reikšmė 15 min. nuo esamo laiko, maksimali 3 dienos. Pastaba: veikia tik su tam tikrais mokėjimų tipais.
personcode
255
Ne
Šį parametrą galima naudoti, norint atlikti naudotojo autentifikaciją. Jei perduosite naudotojo asmens kodą, kartu su callback Paysera grąžins personcodestatus parametrą, kuris nurodys, ar asmens kodas atitinka perduotą. Norėdami įjungti šią funkciją, prisijunkite prie savo Projekto, eikite į Projektai ir veiklos → Mano projektai → Projekto nustatymai → Paysera atsiskaitymo nustatymai ir pažymėkite langelį „Naudojantis mokėjimo inicijavimo paslauga įmokoms rinkti, mokėtojui būtina pateikti asmens kodą.“.
developerid
11
Ne
Tuo atveju, kai Jūs mūsų sistemoje esate pažymėtas kaip diegėjas, savo įdiegtame projekte (projektuose) turite perdavinėti šį parametrą. Parametro reikšmė – Jūsų vartotojo unikalus numeris.
buyer_consent
1
Ne

Galimos reikšmės - 0 arba 1. Jei parametras yra lygus 1, pirkėjas gali praleisti papildomą mokėjimo žingsnį, kuriame yra patvirtinamas sutikimas su taisyklėmis, naudojant MIP mokėjimo būdą. Jei šis parametras naudojamas, savo svetainėje turite pridėti šį tekstą:

Pirkėjo sutikimo tekstas kitomis kalbomis pateiktas žemiau lentelės**

Papildomi parametrai, norint gauti mokėjmą į konkrečią IBAN sąskaitą. Galimi tik MIP mokėjimo būdams:
beneficiary_country
255
Ne
Gavėjo šalis (pvz.: LT, EE, LV, GB, PL, DE...). Reikalingas kai kuriems MIP mokėjimo būdams.
beneficiary_town
255
Ne
Gavėjo miestas (pvz.: Vilnius). Reikalingas kai kuriems MIP mokėjimo būdams.
beneficiary_street
255
Ne
Gavėjo gatvė (pvz.: Pilaitės pr. 16). Reikalingas kai kuriems MIP mokėjimo būdams.
beneficiary_building
255
Ne
Gavėjo pastato numeris. Reikalingas kai kuriems MIP mokėjimo būdams.
beneficiary_postcode
255
Ne
Gavėjo pašto kodas. Reikalingas kai kuriems MIP mokėjimo būdams.
beneficiary_country_subdivision
255
Ne
Gavėjo šalies poskyris. Reikalingas kai kuriems MIP mokėjimo būdams.
beneficiary_bank_name
255
Ne
Gavėjo banko pavadinimas. Reikalingas kai kuriems MIP mokėjimo būdams.
beneficiary_name
255
Ne
Gavėjo vardas. Reikalingas kai kuriems MIP mokėjimo būdams.
beneficiary_iban
255
Ne
Gavėjo IBAN sąskaitos numeris, į kurį bus įskaitytas mokėjimas. Reikalingas kai kuriems MIP mokėjimo būdams.
beneficiary_bic
255
Ne
Gavėjo BIC/swift kodas. Reikalingas kai kuriems MIP mokėjimo būdams.
Jei pateikiamas MIP mokėjimo būdas, galima pridėti papildomų parametrų, kad būtų galima atlikti periodinį mokėjimą:
periodic_payments_frequency
255
Ne
Periodinio mokėjimo atlikimo dažnumas.

Galimi visų įjungtų periodinių mokėjimų būdų dažniai:
weekly
monthly
quarterly
semiannual
annual

Galimi kai kurių įjungtų periodinių mokėjimo būdų dažniai:
daily
every_working_day
last_day_of_month
last_working_day_of_month

periodic_payments_start_date
10
Ne
Data, nuo kurios pradedami periodiniai mokėjimai.
Datos formatas turėtų būti yyyy-mm-dd.
periodic_payments_end_date
10
Ne
Periodinių mokėjimų pabaigos data.
Datos formatas turėtų būti yyyy-mm-dd.

* Galutinis ilgis gali skirtis priklausomai nuo mokėjimo būdo specifikacijos

** Pirkėjo sutikimo tekstas:

Callback

Daugiau informacijos apie 'callback' žiūrėkite skyrių - Callback .