Cover photoCover photo
Aktualizácia webu bola ukončená 1.11.2019. Nový web je prístupný na adrese:
https://www.dkubinsky.sk
meniny Dnes je: 20.9.2021, meniny má: Ľuboslav, Ľuboslava

PHP implementácia modulu Tatrapay

Naspäť

Tatrapay je elektronická služba, ktorú môže obchodník využiť pre príjem platieb zo svojho elektronického obchodu. V poslednom kroku dokončenia objednávky je možné užívateľovi ponúknuť možnosť zaplatenia prostredníctvom Tatrapay služby. Predpokladom je pravdaže zmluva s bankou o poskytnutí služieb, pridelenie identifikačných údajov obchodníka a to: MID – číslo obchodníka a bezpečnostný kľúč. Bezpečnostný kľúč je dôverný údaj, ktorý ostáva zapísaný iba v PHP skriptoch a nesmie sa zasielať nezabezpečenými komunikačnými prostriedkami.

Tak, ako väčšina podobných služieb, aj tu je najpodstatnejší technický parameter bezpečnostný podpis. Tento podpis sa generuje na strane obchodníka, pričom v prostredí Tatrapay nadobúda znaky A-Z a čísla 0-9. Je to 32 znakov dlhý reťazec.

Bezpečnostný podpis sa generuje zreťazením povinných reťazcov a to:

MID – Číslo obchodníka
AMT – Celková suma na zaplatenie. Desatinná časť je oddelená bodkou
CURR – Mena v ktorej bude vykonaná transakcia, napr. 978 pre možnosť EUR
VS – Jednoznačný identifikátor platby, alebo tiež variabilný symbol platby
CS – Konštantný symbol
RURL – Návratová URL adresa, na ktorú banka presmeruje klienta po vykonaní platby
TIMESTAP – časový odtlačok pre platbu v tvare DDMMYYYYHHMISS (DD-deň, MM-mesiac, YYYY-rok, HH-hodina, MI-minúta, SS-sekunda).

Samotná hodnota TIMESTAP sa môže vygenerovať napríklad takto:

<?PHP
$TIMESTAMP 
=
''.DATE('D').''.DATE('M').''.DATE('Y').''.DATE('G').''.DATE('I').''.DATE('S').'';
?>

TIMESTAMP musí byť v intrvale +/- 1 hodina voči UTC (GMT), to znamená nutnosť nastaviť v prostredí PHP parameter date_default_timezone_set na:

DATE_DEFAULT_TIMEZONE_SET('EUROPE/LONDON')

Pokračuje sa tak, že z uvedeného reťazca sa vytvorí HASH algoritmom SHA1. Z vytvoreného HASHu sa vezme prvých 16 bajtov a zašifruje sa algoritmom AES256 pomocou vygenerovaného bezpečnostného kľúča, ktorý obchodník dostane od banky. Samotný bezpečnostný podpis je 16 bajtový bezpečnostný podpis, ktorý sa konvertuje do 32 bajtového reťazca, ktorý reprezentuje jeho zápis v hexadecimálnej sústave.

<?PHP
$KEY 
'1234567890...'// KOD PRIDELENY BANKOU
$STRINGTOSIGN $MID.$AMT.$CURR.$VS.$CS.$RURL.$TIMESTAMP;
$KEYBYTES PACK("H*" $KEY); // KONVERZIA DO BINáRNEHO FORMáTU
$SIGNATURE HASH_HMAC("SHA256"$STRINGTOSIGN$KEYBYTES);
?>

Tento podpis sa následne na strane obchodníka interpretuje ako hodnota HMAC a môže sa spolu s povinnými parametrami posielať metódou GET, alebo vhodnejšou metódou POST. Nižšie je príklad formulára na zaslanie platby prostredníctvom POST metódy.

<FORM
ACTION="HTTPS://MOJA.TATRABANKA.SK/CGI-BIN/E-COMMERCE/START/TATRAPAY"
METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="MID" VALUE="<? ECHO $MID?>" />
<INPUT TYPE="HIDDEN" NAME="AMT" VALUE="<? ECHO $AMT?>" />
<INPUT TYPE="HIDDEN" NAME="CURR" VALUE="<? ECHO $CURR?>" />
<INPUT TYPE="HIDDEN" NAME="VS" VALUE="<? ECHO $VS?>" />
<INPUT TYPE="HIDDEN" NAME="CS" VALUE="<? ECHO $CS?>" />
<INPUT TYPE="HIDDEN" NAME="RURL" VALUE="<? ECHO $RURL?>" />
<INPUT TYPE="HIDDEN" NAME="LANG" VALUE="SK" />
<INPUT TYPE="HIDDEN" NAME="AREDIR" VALUE="1" />
<INPUT TYPE="HIDDEN" NAME="TIMESTAMP" VALUE="<? ECHO $TIMESTAMP ?>"
/>
<INPUT TYPE="HIDDEN" NAME="HMAC" VALUE="<? ECHO $SIGNATURE?>" />
<INPUT TYPE="SUBMIT" VALUE="VYKONAť PLATBU" />
</FORM>

V prípade záujmu je možné poskytnúť hotový PHP skript v ktorom stačí iba zameniť jednotlivé premenné a služba môže okamžite bežať. Pre pomoc s nasadením služby Tatrapay do vášho elektronického obchodu, alebo inej aplikácie ma môžete kontaktovať.

PHP skript

excel

KOMENTÁRE

Meno *

E-mail

Publikované: 18. 9. 2016 | prečítané: 1958x | komentárov: (0)
Webhosting, domény, servery

Tagy článkov

  publikacie     konferencia     umb     dem     dizertacka     surfer     gis     web     facebook     geomedia     analyzy     qgis     hypso     tajchy     grass     arcgis     idrisi  

Lara Fabian - Je suis malade

Foto dňa

1.11.2019

Kontakt
|
Vyhľadávanie
|
HTML5
|
CSS

webmaster: posta@dkubinsky.sk

Tvorba web stránok

Web stránky, e-shopy a aplikácie efektívne, funkčne, jednoducho - postavené na vlastnom redakčnom systéme.

Web stránky a E-shopy efektívne, funkčne, jednoducho...

Návrat hore