34
Minden jog fenntartva! Változat : 1.2.9 Kelt : 2020.07.23 Állapot: Módosított Titkossági fokozat : Nyilvános E-COMMERCE Műszaki Segédlet (IMA) Verziószám: 1.2.9.2

E-COMMERCE Műszaki Segédlet (IMA)

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: E-COMMERCE Műszaki Segédlet (IMA)

Minden jog fenntartva!

Változat : 1.2.9

Kelt : 2020.07.23

Állapot: Módosított

Titkossági fokozat : Nyilvános

E-COMMERCE Műszaki Segédlet (IMA)

Verziószám: 1.2.9.2

Page 2: E-COMMERCE Műszaki Segédlet (IMA)

2/34

Tartalomjegyzék

1. BEVEZETÉS ................................................................................................................................................ 3

1.1. A JELEN KÉZIKÖNYVRŐL ........................................................................................................................ 3 1.2. OLVASÓKÖZÖNSÉG ................................................................................................................................. 3 1.3. HASZNÁLAT ............................................................................................................................................ 3 1.4. KERETRENDSZEREKHEZ KÉSZÜLT MODULOK TELEPÍTÉSE ...................................................................... 3

2. AZ IMA ALKALMAZÁS ÜZEMELTETÉSÉNEK AZ ELŐKÉSZÍTÉSE ........................................... 4

2.1. RENDSZER-KÖVETELMÉNYEK ................................................................................................................. 4 2.1.1. Szükséges, harmadik féltől származó szoftverek JAVA környezetben ........................................... 4 2.1.2. Szükséges, harmadik féltől származó szoftverek PHP környezetben .............................................. 4 2.1.3. Port beállítások ................................................................................................................................ 4

2.2. A RENDSZER TELEPÍTÉSE ........................................................................................................................ 4 2.2.1. Az IMA termék telepítése JAVA környezetben .............................................................................. 4 2.2.2. Tanúsítvány (keystore fájl) létrehozása ........................................................................................... 5 2.2.3. P12 és PEM keystore állomány létrehozása .NET és PHP környezetben ........................................ 5 2.2.4. JKS keystore állomány létrehozása JAVA környezetben ................................................................ 8 2.2.5. Az IMA termék technikai paramétereinek beállítása JAVA környezetben ................................... 10 2.2.6. Az IMA termék technikai paramétereinek beállítása PHP környezetben ...................................... 10

3. AZ IMA ALKALMAZÁS INTEGRÁCIÓJA ......................................................................................... 12

3.1. ÁLTALÁNOS MŰKÖDÉSI VÁZLAT ........................................................................................................... 12 3.2. INTEGRÁCIÓ JAVA ÉS PHP KÖRNYEZETBEN ........................................................................................ 14

3.2.1. SMS tranzakció létrehozása ........................................................................................................... 14 3.2.2. DMS engedélyezés létrehozása ..................................................................................................... 15 3.2.3. DMS tranzakció befejezése ........................................................................................................... 16 3.2.4. Tranzakció eredménye ................................................................................................................... 17 3.2.5. Tranzakció visszavonása ............................................................................................................... 18 3.2.6. Az üzleti nap lezárása .................................................................................................................... 20 3.2.7. További tranzakciós paraméterek küldése ..................................................................................... 21 3.2.8. A vásárló böngészőben történő átirányítása .................................................................................. 22

3.3. MINTASABLON OLDALAK ..................................................................................................................... 23 3.3.1. Cardinfo.html ................................................................................................................................. 23 3.3.2. Megadott adatok ellenőrzése (Cardinfo.html) ............................................................................... 23 3.3.3. Nyelv megkülönböztető képesség ................................................................................................. 25

3.4. TRANZAKCIÓK KEZELÉSE ..................................................................................................................... 25 3.4.1. Tranzakciók adatainak tárolása ...................................................................................................... 25 3.4.2. DMS tranzakciók befejezése ......................................................................................................... 26 3.4.3. Tranzakció visszavonása ............................................................................................................... 26 3.4.4. A Tranzakció időrendi folyamatábrája .......................................................................................... 27

4. A TESZT TRANZAKCIÓK VÉGREHAJTÁSA (TEST PLAN) .......................................................... 28

4.1. A TESZTESETEK VALIDÁLÁSA ............................................................................................................... 29 4.2. ELVÉGZENDŐ TESZTESETEK ÉS EREDMÉNYEIK ..................................................................................... 30 4.3. TESZTESETEK LEÍRÁSA ......................................................................................................................... 31

Page 3: E-COMMERCE Műszaki Segédlet (IMA)

3/34

1. Bevezetés

1.1. A jelen kézikönyvről

A jelen dokumentum az ECOMM Integrált Kereskedelmi Rendszer (Integrated Merchant Agent - IMA) nevű alkalmazás telepítéséhez és üzemeltetéséhez szükséges teendőket ismerteti. Az IMA egy rendszer, mely a kereskedő és az ECOMM rendszerek közötti, a világhálós (WWW) környezetben üzemelő 3D-Secure tranzakciókat megvalósító kapcsolatot kívánja biztosítani.

1.2. Olvasóközönség

A jelen dokumentum a kereskedői rendszert előkészítő és/vagy felügyelő rendszergazdák illetve fejlesztők számára készült.

1.3. Használat

A jelen dokumentum az alábbi szoftver-modulokhoz igazodik:

E-commerce rendszer, ECOMM Verziószám: x.00

ECOMM Integrált Kereskedelmi Rendszer (ECOMM Integrated Merchant Agent - IMA) Verziószám: x.00 .

1.4. Keretrendszerekhez készült Modulok telepítése

Az egyes Modulok használata esetén a 3. Pont helyett az adott Modul leírása követendő. Az aktuálisan elérhető verziók a teszt Payeezy felület Downloads menüpontból tölthetőek le. A hozzájuk tartozó leírás a Documentation menüpont alatt található.

Page 4: E-COMMERCE Műszaki Segédlet (IMA)

4/34

2. Az IMA alkalmazás üzemeltetésének az előkészítése

2.1. Rendszer-követelmények

2.1.1. Szükséges, harmadik féltől származó szoftverek JAVA környezetben

Komponens Verziószám Megjegyzések

Sun Java JRE 1.4, vagy annál

újabb A http://java.sun.com/j2se/1.4/install-docs.html lapon megadottak szerint kell telepíteni.

A Solaris Operating System, Microsoft Windows, Linux platformra készült változatokra vonatkozó részletes telepítési útmutató és rendszer követelmények rendelkezésre állnak pl. az alábbi címen: http://java.sun.com/javase/6/webnotes/install/index.html

1. Töltse le és telepítse a legújabb Java Runtime Environment (JRE) alkalmazást. A JRE pl. az alábbi címről tölthető le: http://java.sun.com/javase/downloads/index.jsp

2. Frissítse az elérési útvonalat (PATH). (a) Windows:

Kattintson rá az Indítás > Vezérlőpult > Rendszer a Windows XP-ben ( Start > Control Panel > System on Windows XP) vagy pedig az Indítás > Beállítások > Vezérlőpult > Rendszer (Start > Settings > Control Panel > System) menüpontra. Kattintson rá a Speciális > Környezeti változók (Advanced > Environment Variables) menüpontra. Hozza létre a JRE telepítés bin mappájának a helyét az elérési út (PATH) változóba a Felhasználói változók és Rendszer változók (User Variables and System Variables) pontban. Az elérési út (PATH) változó tipikus értéke: C:\Program Files\Java\jre1.6.0\bin

(b) Linux: Adja hozzá az “export PATH=$PATH:/usr/java/jre1.6.0/bin” sort a ~/.bash_profile fájl tartalmához.

2.1.2. Szükséges, harmadik féltől származó szoftverek PHP környezetben

Komponens Verziószám Megjegyzések

PHP PHP 4.0.2, vagy

annál újabb A CURL library szükséges a megfelelő tanúsítványkezeléshez

A PHP alapú implementációhoz segítséget biztosít a teszt Payeezy felületről letölthető példa a Downloads menüpontból - PayeezySM Integration Package.

2.1.3. Port beállítások

Amennyiben van telepített tűzfal a számítógépen / szerveren, akkor az IMA agent működéséhez a 8443-as portnak nyitva kell lennie.

2.2. A rendszer telepítése

2.2.1. Az IMA termék telepítése JAVA környezetben

Töltse le az ECOMM IMA alkalmazást a Payeezy web oldalról, amely a kapott felhasználónévvel és jelszóval

belépve a Downloads menüpont ECOMM IMA Agent linkjén érhető el.

Page 5: E-COMMERCE Műszaki Segédlet (IMA)

5/34

Az IMA JAVA alkalmazás telepítése nem igényel speciális futtatási jogokat, hozzon létre egy munkakönyvtárat (például C:\ecomm\ (Windows esetében) vagy /usr/java/ecomm/ (Linux esetében) és csomagolja ki munkakönyvtárba az (pl. ‘EcommMerchant-2.xx.zip’ nevű) tömörített állományt. A kicsomagolás eredményeként meg fog jelenni egy (pl. ‘EcommMerchant-2.xx’ nevű) alkönyvtár. A könyvtárban található a ‘java’ alkönyvtár, amely az IMA üzemeltetéséhez szükséges JAR állományokat tartalmazza, valamint a ’docs’ alkönyvtár, amelyben a jelen dokumentum alapértelmezett angol nyelvű változata is megtalálható. (Az IMA az ecomm_merchant.jar nevű állományban található meg.) Helyezze el a ’java’ könyvtárban található ’ecomm_merchant.jar’ és a ’merchant.properties’ nevű állományokat a munkakönyvtárba.

2.2.2. Tanúsítvány (keystore fájl) létrehozása

Az ECOMM szerveréhez történő kapcsolódást biztosító SSL kapcsolat létrehozásához, valamint a kereskedőnek a teszt és éles rendszeren belül történő azonosításához szükséges állományokat (keystore fájl, külön-külön a teszt és éles rendszerekhez) a kereskedőnek kell létrehozni a következő módon. Először egy saját kulcsot (private key) és tanúsítvány kérelmet (certificate request) kell generálni, majd a teszt rendszer használatához aláírni a Payeezy-n keresztül. Éles rendszer esetén e-mail üzenetben kell elküldenie a saját kulcsot és a tanúsítvány kérelmet. A Payeezy-ben a kérelem elküldésekor megadott e-mail címre, illetve éles rendszer esetén a küldő e-mail címére egy válaszlevelet kap a kereskedő. A levélben csatolt állományok és a saját kulcs segítségével létre tudja hozni a keystore fájlt. Amikor a tanúsítvány lejár, akkor arról automatikus értesítést küld a rendszer és a kereskedő saját maga tudja megújítani azt. A keystore fájl létrehozását a következő fejezetek ismertetik.

2.2.3. P12 és PEM keystore állomány létrehozása .NET és PHP környezetben

1. Töltse le keystore fálj létrehozásához szükséges segédletet a következő elérési útvonalról vagy a Payeezy használatával.

*A generálás megkönnyítése érdekben a parancsok összesítve is megtalálhatóak (Windows környezetben futtatható):

https://unicredit.te.hu.sia.eu/downloads_for_clients/CertGen_2.0.zip

2. A keystore fájl létrehozásához telepítenie kell az OpenSSL alkalmazást. Amennyiben az, OpenSSL már telepítve van a rendszeren, ugorjon a 4-es pontra

3. Telepítse az OpenSSL alkalmazást (openssl-*bin.exe), ezt az 1. pontban letöltött állományban találja meg.

4. Nyissa meg egy parancssori ablakot. “Start > Futtatás”, majd gépelje be a “cmd” parancsot és nyomja meg az “OK” gombot. Győződjön meg róla, hogy a “c:” meghajtón áll. Amennyiben nem a “c:” meghajtón áll, gépelje be a következő parancsot: "cd %ProgramFiles%\GnuWin32\bin" Példa: S:\>c: C:\>cd %ProgramFiles%\GnuWin32\bin C:\Program Files\GnuWin32\bin

5. Futtassa a következő parancsokat:

Page 6: E-COMMERCE Műszaki Segédlet (IMA)

6/34

Megjegyzés: Az "IF123456" karakterek helyére helyettesítse a kereskedő azonosítót (merchant ID), a "domain.com" helyére pedig a kereskedő weboldalának domain nevét.

openssl req -newkey rsa:2048 -keyout IF123456key.pem -out IF123456req.pem -subj "/C=lv/O=domain.com/CN=IF123456" -outform PEM -config "c:/path/to/file/openssl.cnf" *

* Adja a "-config "c:/path/to/file/openssl.cnf"" paramétert a parancs végéhez, ha az openssl-0.9.7c-bin.exe-t használja. Az "openssl.cnf" az archive állományban található.

A parancs futása közben bekért és megadott jelszó (enter PEM passphrase:) lesz a privát kulcshoz tartozó jelszó, mely szükséges lesz a keystore fájl generálásához, ezért a megadott jelszót jegyezze meg! A jelszó kritériumai: min 6 karakter, kis- és nagybetű, valamint szám használata kötelező.

A parancs két állományt hoz létre: IF123456key.pem – privát kulcs (private key) IF123456req.pem – tanúsítvány kérelem (certificate request)

6. A tanúsítvány kérelem elküldése a TESZT rendszer használatához: Küldje el a kérelmet a Payeezy használatával. Lépjen be a Payeezy-be, majd válassza ki a bal oldali menüből a KeyStore menüpontot. Adja meg e-mail címét majd másolja be a IF123456req.pem állomány teljes tartalmát (nyissa meg tetszőleges szövegszerkesztővel, majd másolja ki a teljes tartalmat) a CERT request PEM szövegdobozba, majd kattintson a Submit gombra. A Payeezy képernyő képei a Virtuális POS – Payeezy Használati Útmutató - 10.2 A keystore fájl kérelem elküldése című fejezetben találhatók. Rögtön a kérelem elküldését követően a megadott e-mail címre érkezik egy levél az alábbi csatolt állományokkal: IF123456_certificate_chain.p7.pem, IF123456.pem, ECOMM.pem

7. A tanúsítvány kérelem elküldése az ÉLES rendszer használatához: EZT A LÉPÉST CSAK AKKOR KELL ELVÉGEZNIE, AMIKOR A TESZTE RENDSZERBEN MINDEN TESZTESETET SIKERESEN LEZÁRT ÉS KÉSZEN ÁLL A RENDSZER ÉLES KÖRNYEZETBE ÁLLÍTÁSÁRA! Éles rendszer esetén az első tanúsítvány kérelmét e-mailben kell elküldeni csatolt állományként a következő e-mail címre: [email protected], illetve másolatként (cc) a bank e-mail címére ([email protected]). A levél tartalmazza a Payeezy belépési azonosítóját: (pl. IF123456), a tanúsítvány kérelmet (pl. IF123456IF123456req.PEM) és hogy kéri a csatolt tanúsítvány aláírását és az éles keystore generáláshoz szükséges állományok elküldését. A rendszer adminisztrátor aláírja a kérelmet, majd ezután a rendszer néhány munkanapon belül küld egy levelet a kérelem küldőjének e-mail címére a lenti csatolt állományokkal.

Page 7: E-COMMERCE Műszaki Segédlet (IMA)

7/34

8. A tanúsítványkérelemre kapott válasz importálása.

A megkapott IF123456certificate_chain.p7.pem, IF123456.pem, ECOMM.pem állományokból a IF123456.pem-et és ECOMM.pem-et importáljuk az 5. pontban létrehozott fájlba a következő paranccsal: openssl pkcs12 -export -in IF123456.pem -out IF123456.p12 -certfile ECOMM.pem -inkey IF123456key.pem Utolsó lépésként a p12 formátumú keystore állományból hozzuk létre a pem formátumú keystore állományt a következő parancs segítségével: openssl pkcs12 -in IF123456.p12 > IF123456keystore.pem Javasolt a kapott ECOMM.pem tanúsítványt PHP környezet esetén az alapértelmezett tanúsítványtár megbízható tanúsítványai közé felvenni. A tanusítvány fájl ezután használható.

9. A tanúsítvány (keystore fájl) megújítása:

Az éles rendszerhez létrehozott keystore állomány érvényességi ideje egy év. Egy év letelte előtt két héttel a kereskedő az első keystore állomány létrehozásakor megadott e-mail címére kap egy levelet, amely figyelmezteti arra, hogy a keystore állomány hamarosan lejár. A levél tartalmazza a kereskedő azonosítóját, a lejárati dátumot és egy útmutatót arra vonatkozóan hogyan kell megújítani a keystore állományt.

Page 8: E-COMMERCE Műszaki Segédlet (IMA)

8/34

2.2.4. JKS keystore állomány létrehozása JAVA környezetben

2. Töltse le keystore fájl létrehozásához szükséges segédletet a következő a Payeezy felületről. Ellenőrizze, hogy a megfelelő verziójú Java Futtató környezettel rendelkezik-e (Java Runtime Environment >1.6) (Version >6): http://www.java.com/en/download/help/testvm.xml

3. Nyissa meg egy parancssori ablakot. “Start > Futtatás”, majd gépelje be a “cmd” parancsot

és nyomja meg az “OK” gombot. Győződjön meg róla, hogy a “c:” meghajtón áll. Amennyiben nem a “c:” meghajtón áll, gépelje be a következő parancsot: "c:", majd a “cd Program Files\Java\jre6\bin ” parancs segítségével lépjen be a keytool mappába. példa: S:\>c: C:\>cd Program Files\Java\jre6\bin C:\ Program Files\Java\jre6\bin >

4. Futtassa a következő parancsokat:

Megjegyzés: Az "IF123456" karakterek helyére helyettesítse be a kereskedő azonosítót (merchant ID), a "domain.com" helyére pedig a kereskedő domain nevét.

keytool -genkey -keystore IF123456keystore.jks -keyalg RSA -dname "cn=IF123456, o=domain.com, c=lv" -alias ima -storetype JKS keytool -certreq -file IF123456req.csr -keystore IF123456keystore.jks -alias ima

A parancs futása közben bekért és megadott jelszó (enter PEM pass phrase:) lesz a privát kulcshoz tartozó jelszó, mely szükséges lesz a keystore fájl generálásához, ezért a megadott jelszót jegyezze meg. A jelszó kritériumai: min 6 karakter, kis és nagy betű, valamint szám használata kötelező.

A parancs két állományt hoz létre: IF123456keystore.jks – privát kulcs (private key) IF123456req.csr – tanúsítvány kérelem (certificate request)

5. A tanúsítvány kérelem elküldése a TESZT rendszer használatához:

Küldje el a kérelmet a Payeezy használatával. Lépjen be a Payeezy-be, majd válassza ki a bal oldali menüből a KeyStore menüpontot. Adja meg e-mail címét majd másolja be a IF123456req.pem állomány teljes tartalmát (pl. nyissa meg Notepad-dal, majd másolja ki a sorokat) a CERT request PEM szövegdobozba, majd kattintson a Submit gombra. A Payeezy képernyő képei a Virtuális POS – Payeezy Használati Útmutató - 10.2 A keystore fájl kérelem elküldése című fejezetben találhatók.

Rögtön a kérelem elküldését követően a megadott e-mail címre érkezik egy levél az alábbi csatolt állományokkal: IF123456_certificate_chain.p7.pem, IF123456.pem, ECOMM.pem

Page 9: E-COMMERCE Műszaki Segédlet (IMA)

9/34

6. A tanúsítvány kérelem elküldése az ÉLES rendszer használatához:

EZT A LÉPÉST CSAK AKKOR KELL ELVÉGEZNIE, AMIKOR A TESZTE RENDSZERBEN MINDEN TESZTESETET SIKERESEN LEZÁRT ÉS KÉSZEN ÁLL A RENDSZER ÉLES KÖRNYEZETBE ÁLLÍTÁSÁRA!

Éles rendszer esetén az első tanúsítvány kérelmét e-mailben kell elküldeni csatolt állományként a következő e-mail címre: [email protected], illetve másolatként (cc) a bank e-mail címére ([email protected]). A levél tartalmazza a Payeezy belépési azonosítóját: (pl. IF123456), a tanúsítvány kérelmet (pl. IF123456req.PEM) és hogy kéri a csatolt tanúsítvány aláírását és az éles keystore generáláshoz szükséges állományok elküldését. A rendszer adminisztrátor aláírja a kérelmet, majd ezután a rendszer 2 munkanapon belül küld egy levelet a kérelem küldőjének e-mail címére a lenti csatolt állományokkal.

ECOMM.pem (host CA) IF123456.pem (tanúsítvány kérelemre érkezett válasz) IF123456_certificate_chain.p7.pem

A következő parancs hozza létre a keystore állományt p12 formátumban, amely három részből (privát kulcs, CA tanúsítvány, tanúsítvány kérelemre érkezett válasz) áll össze. A keystore fájl generálásakor meg kell adnia a privát kulcs és a tanúsítvány kérelem fájlok létrehozásakor megadott jelszót (enter PEM passphrase), majd meg kell adnia egy, a keystore fájl használatához későbbiekben használatos jelszót. keytool -import -v -noprompt -trustcacerts -alias root -file ECOMM.pem -keystore IF123456keystore.jks keytool -import -v -noprompt -alias ima -file IF123456.pem -keystore IF123456keystore.jks

*JAVA környezet esetén szintén javasolt külön felvenni a használt tanúsítványtár megbízható tanúsítványai közé az ECOMM.pem file-t, amennyiben a futtatás során a jogosultságok ezt nem engedik meg a rendszernek.

7. A tanúsítvány (keystore fájl) megújítása:

Az éles rendszerhez létrehozott keystore állomány érvényességi ideje egy év. Egy év letelte előtt két héttel a kereskedő az első keystore állomány létrehozásakor megadott e-mail címére kap egy levelet, amely figyelmezteti arra, hogy a keystore állomány hamarosan lejár. A levél tartalmazza a kereskedő azonosítóját, a lejárati dátumot és egy útmutatót arra vonatkozóan hogyan kell megújítani a keystore állományt.

Page 10: E-COMMERCE Műszaki Segédlet (IMA)

10/34

2.2.5. Az IMA termék technikai paramétereinek beállítása JAVA környezetben

1. A létrehozott keystore fájlt mentse el a munkakönyvtárba, melybe az IMA alkalmazást is elmentette.

2. Konfigurálni kell a munkakönyvtárban elhelyezett ’merchant.properties’ fájlt: Nyissa meg a merchant.properties fájlt egy tetszőleges szövegszerkesztő programmal és állítsa be a keystore.file elérési helyét. Ha a keystore.file állomány a következő:1065309_imaksotre.jks , akkor: keystore.file = C:/ecomm/1065309_imakstore.jks (Windows esetében) vagy pedig keystore.file = /usr/java/ecomm/1065309_imakstore.jks (Linux esetében) Állítsa be a merchant.properties fájl „keystore.password=” kezdetű sorában a keystore fájl létrehozásakor megadott tetszőleges jelszó értékét.

A ’merchant.properties’ fájl további beállítási lehetőségei: o bank.server.url – az ECOMM szerver eléréséhez használt cím. (A Bank előre kitölti) o https.proxy.host – a HTTPS proxy server címe (opcionális), o https.proxy.port – a HTTPS proxy server port (opcionális) , o https.handler – a HTTPS protokolt támogató könyvtár (opcionális).

Amennyiben az IMA Java 1.3 platformon fut, és SUN JSSE-t használ, akkor a paraméter értékét a következőre kell beállítani: ”com.sun.net.ssl.internal.www.protocol”.

o https.cipher – a HTTPS kapcsolattitkosító algoritmusa (opcionális). Rendszerint az „SSL_RSA_WITH_RC4_128_MD5” használatos.

o keystore.file – a Payeezy web oldalról tölthető le o keystore.type – tanúsítvány állomány típusa. A javasolt értéke: “JKS”. o keystore.password – az a jelszó, amit a banktól kapott. o connection.timeout – Az ECOMM kiszolgáló egységhez történő kapcsolódás ideje

másodpercekben mérve. Kérjük, vegye figyelembe, hogy ezt a paramétert csak arra használhatja, hogy a rendszerben alapértelmezésként beállított értéket (amely függ az adott platformtól), lecsökkenthesse.

o encoding.source – a bemenő adatok karakterkódolása (opcionális) o encoding.native – az ECOMM szerver által használt karakterkódolás ECOMM. (opcionális)

2.2.6. Az IMA termék technikai paramétereinek beállítása PHP környezetben

1. A létrehozott keystore fájlt mentse el a munkakönyvtárba, célszerűen oda ahol a PHP szervert futtató user teljes körű jogosultsággal el tudja érni.

2. A Payeezy Integration Package linkről letölthető EcommMerchant-2.xx.zip file-ban található PHP példát alapul véve, konfigurálja az /Includes/config.php file-t:

a. ecomm_server_url - Az E-commerce szerver URL-e. A file alapértelmezetten tartalmazza a teszt rendszer elérését. (= 'https://vpos.te.sia.eu:8443/ecomm/MerchantHandler') Ezt az éles rendszerre történő áttéréskor módosítani kell: (= 'https://vpos.sia.eu:8443/ecomm/MerchantHandler') Az éles rendszer elérése során igeny esetén használható unicredit subdomain is: (= 'https://unicredit.hu.sia.eu:8443/ecomm/MerchantHandler')

b. ecomm_client_url - Az E-commerce szerver kliens URL-e. A file alapértelmezetten tartalmazza a teszt rendszer elérését. (= 'https://unicredit.te.hu.sia.eu/ecomm/ClientHandler')

Page 11: E-COMMERCE Műszaki Segédlet (IMA)

11/34

Ezt az éles rendszerre történő áttéréskor módosítani kell: (= 'https://vpos.sia.eu/ecomm/ClientHandler') Az éles rendszer elérése során igény esetén használható a .hu domain is: (= 'https://unicredit.hu.sia.eu/ecomm/ClientHandler')

c. cert_url - A keystore file elérési útja (1. pont). például: (= '/var/www/html/domain/certs//1234567_imakstore.pem')

d. cert_pass - A keystore file generálása során megadott jelszó. Például: (= 'testpass';)

e. currency – A pénznem változó. Forintban történő elszámolás esetén az értéke módosítandó: 348-ra; Euró esetén 978-ra; Amerikai Dollár esetén 840-re (= '348')

*A példa tartalmaz MYSQL adatbázis integrációt a tranzakciók tárolásához. Ennek használata nem kötelező, de a teljes körű működéshez (pl.: reversal indítása) szükséges a tranzakciók valamilyen szintű tárolása (részletesen a 3.4.1 Tranzakciók adatainak tárolása fejezetben).

Page 12: E-COMMERCE Műszaki Segédlet (IMA)

12/34

3. Az IMA alkalmazás integrációja

3.1. Általános működési vázlat

1. Az ügyfél kiválasztott egy terméket, és készen áll arra, hogy fizessen a vásárlásáért. Miután megnyomta a fizetés/vásárlás (checkout) nyomógombot/linket, a program vezérlése átadódik a kereskedő modulnak.

2. A kereskedő modul elküldi az ECOMM rendszer felé a tranzakció adatait (összeg, pénznem, a vásárló IP címét, valamint (opcionálisan) a tranzakció tömör leírását), illetve átveszi a válaszként adott tranzakció-azonosítót. A tranzakció típusát tekintve kétféle lehet: SMS (single message) vagy DMS (double message) . A DMS tranzakciók esetében a tranzakció összege nem kerül azonnal terhelésre, hanem csak zárolja a vásárló számláján az összeget. A tényleges terhelés csak a második lépésben történik.

3. A fizetés/vásárlás nyomógombot kiválasztva a vásárló (a tranzakció azonosítójának a feltüntetésével) átirányításra kerül az ECOMM fizetési szerverére. A megjelenő űrlapon (Cardinfo.html) meg kell adni a kártyaadatokat. Az űrlapot a kereskedő a Bank jóváhagyása nélkül nem módosíthatja. További paraméterek is átadhatók az ECOMM fizetési szerverének. Ezek a paraméterek akkor kerülnek visszaküldésre, amikor az vásárló visszairányításra kerül a kereskedő weblapjára

4. Sikeres hitelesítés esetén megtörténik a tranzakció. 5. A vásárló visszairányításra kerül a kereskedő weblapjára a tranzakció azonosítójával. 6. A kereskedőnek a tranzakció azonosító felhasználásával azonnal kérnie kell a tranzakció

sikerességére (elfogadott/elutasított) vonatkozó adatokat az ECOMM rendszertől. 7. DMS tranzakció esetében, a tranzakció második részét, a tényleges tranzakciót kell

végrehajtani ahhoz, hogy az összeg terhelésre kerüljön a vásárló számláján. Ez rendszerint akkor történik meg, amikor a vásárolt áru átadásra kerül a vásárlónak. A DMS tranzakciók lezárását a 3.4-es fejezet részletezi.

8. Ha szükséges, akkor a kereskedő visszavonhatja a tranzakció teljes illetve részösszegét az ECOMM szerveren sztenderd hívásán keresztül.

9. Az üzleti napzárás naponta egyszer a B24 oldalon automatikusan történik.

Page 13: E-COMMERCE Műszaki Segédlet (IMA)

13/34

A tranzakciók lefolyásának elvi blokkvázlata:

E commerce transaction

Customer

BrowserECOMM ServerMerchant server

Start: Buy Policy

Send TransData

(amount, currency,

IP, description)

Create

Transaction ID

Redirect to

ECOMM server

Transaction ID Card Form

Submit Card

Data

Redirect to

Merchant server

(with trans ID)

Card data

verification

Return: FailURL

(transID)End of transaction

Return: OKURL

(transID)

RESULT

Policy Printout

End of transaction

Page 14: E-COMMERCE Műszaki Segédlet (IMA)

14/34

3.2. Integráció JAVA és PHP környezetben

PHP környzet esetén a fizetés a példa index.php file-ban található a lenti elnevezésekkel egyező függvények és paraméterek meghívásával történik. Az ECOMM fizető szerver meghívása JAVA környzet esetén az IMA alkalmazás (megtalálható az EcommMerchant-2.xx.zip állományban) használatával többféle módon történhet.

1) Az lv.konts.ecomm.merchant.Merchant osztály fő metódusának parancssori meghívásával. Az erre vonatkozó példákat a ’java’ könyvtárban találja meg.

2) Az lv.konts.ecomm.merchant.Merchant osztályba tartozó szerviz metódusok meghívásával. Amikor ezt az osztályt létrehozzák, akkor meg kell adni a konfigurációs fájl nevét, amivel engedélyezzük az IMA inicializálását. Konfigurációs hiba esetén „ConfigurationException” hibával fog visszatérni.

Példa: Merchant merchant; try { merchant = new Merchant(propFile); } catch (ConfigurationException e) { System.err.println("error: " + e.getMessage()); return; } String result = merchant.sendTransData(amount, currency, client_ip, description);

3.2.1. SMS tranzakció létrehozása

Parancssor paraméterek: -v a tranzakció létrehozására vonatkozó kérelmet azonosítja amount a tranzakció összege kisebb egységekben, kötelező (max. 12 számjegy, az utolsó két

karakter a tizedes érték, pl. amount = 10000 megfelel 100,00 azaz száz egységnek az adott pénznemben)

currency deviza (pénznem) kód, kötelező (ISO 4217) (3 számjegy, forint=348, EUR=978, USD=840) client_ip_addr a vásárló IP címe, kötelező (15 byte) description a tranzakció tömör megnevezése, opcionális, URL-enkódolva küldendő (max. 125

byte) language A tranzakció nyelvi azonosítója, opcionális (max. 32 byte) account Addicionális információ továbbítására fenntartott, opcionális (max. 20 byte) Megjegyzés:

A currency mező Forint (348), Euró (978), Amerikai Dollár (840) lehet. Egy VPOS terminál esetén egy pénznem engedélyezett.

Page 15: E-COMMERCE Műszaki Segédlet (IMA)

15/34

Az account paraméter amennyiben nem üres és létezik, az elektronikus tranzakciós értesítőben visszaadásra kerül. A mező a letölthető példakódban nem szerepel, használata esetén ki kell egészíteni az index.php és merchant.php file-okat. index.php pl.: startSMSTrans($amount, $currency, $ip, $description, $language, $account); merchant.php pl.: function startSMSTrans (...) 'account'=> $account);

További paraméterek hozzáadása lehetséges is de nem jelennek meg az adott tranzakció eredményében.

Metódus hívása: public String startSMSTrans(String amount, String currency, String ip, String desc, String language, String account) // régi metódus a visszafelé történő kompatibilitás biztosítása érdekében public String sendTransData(String amount, String currency, String ip, String desc, String language) Eredmény: TRANSACTION_ID: <trans_id> trans_id tranzakció azonosító (28 karakter, base64 kódolással) Abban az esetben, ha valami hiba történt, a visszaadott string „error: ” kezdetű lesz. Példa az eredményre: TRANSACTION_ID: bAt6JLX52DUbibbzD9gDFl5Ppr4=

3.2.2. DMS engedélyezés létrehozása

Parancssori paraméterek: -a a tranzakció létrehozása vonatkozó kérelmet azonosítja amount a tranzakció összege kisebb egységekben, kötelező (max. 12 számjegy, az utolsó

két karakter a tizedes érték, pl. amount = 10000 megfelel 100,00 azaz száz egységnek az adott pénznemben)

currency deviza (pénznem) kód, kötelező (ISO 4217) (3 számjegy) client_ip_addr a vásárló IP címe, kötelező (15 karakter) description a tranzakció tömör megnevezése, opcionális (max. 125 byte) language hitelesítési nyelv azonosítója, opcionális (max. 32 byte) account Addicionális információ továbbítására fenntartott, opcionális (max. 29 byte) Megjegyzés:

Figyelmeztetés: Amennyiben nincs szüksége a DMS funkcionalitásra a 3.2.2. és 3.2.3. pontokat hagyja figyelmen kívül. A DMS tranzakció akár tévedésből történő meghívásakor is a tranzakció összege nem kerül automatikusan jóváírásra!

Page 16: E-COMMERCE Műszaki Segédlet (IMA)

16/34

A currency mező a Forint (348) Euró (978) illetve Amerikai Dollár (840) lehet. Egy VPOS terminál esetén egy pénznem engedélyezett.

Az account paraméter amennyiben nem üres és létezik, az elektronikus tranzakciós értesítőben visszaadásra kerül. A mező a letölthető példában nem szerepel, ha az ott szereplő metódust vesszük alapul azt a következőek szerint ki kell egészíteni.

Metódus hívása: public String startDMSAuth(String amount, String currency, String ip, String desc, String language, String account) Eredmény: TRANSACTION_ID: <trans_id> trans_id tranzakció azonosító (28 karakter base64 kódolással) Abban az esetben, ha valami hiba történt, a visszaadott string „error: ” kezdetű lesz. Példa az eredményre: TRANSACTION_ID: bAt6JLX52DUbibbzD9gDFl5Ppr4=

3.2.3. DMS tranzakció befejezése

Parancssor paraméterek: -t a tranzakció befejezésére vonatkozó kérelmet azonosítja auth_id a korábban készített sikeres hitelesítés azonosítója. amount a tranzakció összege kisebb egységekben, kötelező (max. 12 számjegy, az utolsó

két karakter a tizedes érték, pl. 10000 érték 100,00 azaz száz egész) currency deviza (pénznem) kód, kötelező (ISO 4217) (3 számjegy) client_ip_addr a vásárló IP címe, kötelező (15 byte) description a tranzakció tömör megnevezése, opcionális (max. 125 byte) language hitelesítési nyelv azonosítója, opcionális (max. 32 byte) Metódus hívása: public String makeDMSTrans(String auth_id, String amount, String currency, String ip, String desc) Eredmény: RESULT: <result> RESULT_CODE: <result_code> RRN: <rrn> APPROVAL_CODE: <app_code> result tranzakció eredménye: OK sikeres tranzakció FAILED sikertelen tranzakció

Page 17: E-COMMERCE Műszaki Segédlet (IMA)

17/34

result_code a tranzakció eredményének Transmaster RTPS által visszaadott értéke (3 számjegy)

rrn a Transmaster RPTS által visszaadott visszakeresési hivatkozási szám (12 karakter)

app_code Transmaster RPTS által visszaadott engedélyszám (max. 6 karakter) A RESULT_CODE mező, csak tájékoztatási célt szolgál. Az RRN és az APPROVAL_CODE mezők csak

sikeres tranzakció esetében jelennek meg, céljuk hogy a Transmaster RTPS rendszerben könnyebben lehessen visszakeresni a tranzakciókat. A tranzakciónak a sikeres vagy sikertelen minősítésre vonatkozó döntést kizárólagosan a RESULT mező értékére alapozva kell meghozni. Abban az esetben, ha valami hiba történt, a visszaadott string „error: ” kezdetű lesz. Példa az eredményre: RESULT: OK RESULT_CODE: 000 RRN: IF12345689012 APPROVAL_CODE: 123456 DMS tranzakció befejezésére a DMS engedélyezés létrehozását követő 30 naptári napon belül van lehetősége. A 30. napot követően a DMS engedélyezés (első üzenet) törlésre kerül a rendszerből.

3.2.4. Tranzakció eredménye

A kártyabirtokos a kereskedő által megadott visszatérési URL-ekre irányításakor a tranzakció sikeressége lekérendő az E-commerce szervertől. Ennek hiányában a szerver a tranzakciót befejezetlenként értékeli és 3 perc elteltével automatikusan visszavonja (reversalja) az adott tranzakciót. Parancssor paraméterek: -c a tranzakció eredményének megtekintésére vonatkozó kérelmet azonosítja. trans_id tranzakció azonosító, kötelező (28 karakter) client_ip_addr a vásárló IP címe, kötelező (15 karakter) Metódus hívása: public String getTransResult(String trans_id, String ip) Eredmény: RESULT: <result> RESULT_CODE: <result_code> 3DSECURE: <3dsecure> AAV: <aav> RRN: <rrn> APPROVAL_CODE: <app_code>

Page 18: E-COMMERCE Műszaki Segédlet (IMA)

18/34

result tranzakció eredménye: OK sikeres tranzakció FAILED sikertelen tranzakció CREATED a tranzakció még csak létrejött a rendszerben PENDING a tranzakció még nem hajtódott végre DECLINED a tranzakciót visszautasította az ECOMM, mert az ECI szerepel a

tiltott ECI listán (ECOMM szerver oldali beállítás) REVERSED a tranzakciót visszavonták TIMEOUT a tranzakciónál időtúllépés történt

result_code Transmaster RTPS által visszaadott a tranzakció eredményére vonatkozó kód (3 számjegy)

3dsecure 3D Secure állapot OK a 3D Secure hitelesítési eljárás sikeres volt FAILED a 3D Secure hitelesítési eljárás sikertelen volt ATTEMPTED a kártyatulajdonos nem résztvevője a 3D Secure rendszernek. aav az AAV kereskedő nevét tartalmazó hash érték vizsgálata OK a hash érték megegyezik FAILED a hash érték eltérő

rrn Transmaster RTPS által visszaadott visszakeresési hivatkozási szám (12 számjegy)

app_code Transmaster RTPS által visszaadott engedélyszám (max. 6 számjegy) A RESULT_CODE mező csak tájékoztatási célt szolgál. Az RRN és az APPROVAL_CODE mezők csak

sikeres tranzakció esetében jelennek meg, céljuk, hogy a Transmaster RTPS rendszerben könnyebben lehessen visszakeresni a tranzakciókat. A tranzakciónak a sikeres vagy sikertelen minősítésre vonatkozó döntést kizárólagosan a RESULT mező értékére alapozva kell meghozni. Abban az esetben, ha valami hiba történt, a visszaadott string „error: ” kezdetű lesz. Példa az eredményre: RESULT: OK RESULT_CODE: 000 3DSECURE: ATTEMPTED RRN: IF12345689012 APPROVAL_CODE: 123456

3.2.5. Tranzakció visszavonása

Parancssor paraméterek: -r a tranzakció visszavonására vonatkozó kérelmet azonosítja. trans_id tranzakció azonosító, kötelező (28 karakter)

Page 19: E-COMMERCE Műszaki Segédlet (IMA)

19/34

amount a visszavont összeg kis egységben, kötelező (max. 12 számjegy, az utolsó két karakter a tizedes érték, pl. 10000 érték 100,00 azaz száz egész)). Maximálisan a tranzakció összegig lehet visszavonást indítani.

Metódus hívása: public String reverse(String trans_id, String amount) Eredmény: RESULT: <result> RESULT_CODE: <result_code> result a visszavonás eredménye: OK a tranzakció visszavonása sikeresen megtörtént

FAILED a tranzakció visszavonása sikertelen REVERSED a tranzakció visszavonása sikeresen megtörtént

result_code a visszavonás eredményének a kódja, amit a Transmaster RTPS rendszer adott vissza (3 számjegy)

Abban az esetben, ha valami hiba történt, a visszaadott string „error: ” kezdetű lesz. Példa az eredményre: RESULT: OK RESULT_CODE: 400 Megjegyzés: DMS tranzakció engedélyezése után, de a befejezés előtt is van mód visszavonást indítani 72 órán belül. A DMS befejezése után az SMS–el megegyezően a kártya kibocsátójától függően általában 30 napig vonható vissza.

Page 20: E-COMMERCE Műszaki Segédlet (IMA)

20/34

3.2.6. Az üzleti nap lezárása

Az üzleti nap lezárása automatikusan kell, hogy megtörténjen! Kizárólag a teszteléshez manuálisan kezdeményezhető az alábbiak szerint: Parancssor paraméterek: -b az üzleti nap lezárására vonatkozó kérelmet azonosítja. Metódus hívása: public String closeDay() Eredmény: RESULT: <result> RESULT_CODE: <result_code> FLD_075: <fld_075> FLD_076: <fld_076> FLD_087: <fld_087> FLD_088: <fld_088> result üzleti nap lezárásának az eredménye:

OK az üzleti nap lezárásra került FAILED az üzleti nap nem került lezárásra

result_code az üzleti nap lezárásának az eredményét mutató kód, amit a Transmaster RTPS adot vissza (3 digit hosszban)

fld_075 A visszavont tranzakciók száma (max 10 számjegy hosszban), de csak olyankor, ha a result_code 5-össel kezdődik

fld_076 A vásárlási tranzakciók száma (max. 10 számjegy hosszban), de csak olyankor, ha a result_code 5-össel kezdődik

fld_087 A visszavont tranzakciók összértéke (max. 16 számjegy hosszban), de csak olyankor, ha a result_code 5-össel kezdődik

fld_088 A vásárlási tranzakciók összértéke (max 16 szánjegy hosszban), de csak olyankor, ha a result_code 5-össel kezdődik.

Abban az esetben, ha valami hiba történt, a visszaadott string „error: ” kezdetű lesz. Példa az eredményre: RESULT: OK RESULT_CODE: 500 FLD_075: 12 FLD_076: 31 FLD_087: 3201 FLD_088: 10099

Page 21: E-COMMERCE Műszaki Segédlet (IMA)

21/34

3.2.7. További tranzakciós paraméterek küldése

A 3DSecure 2.X használatára való áttérés során a korábbi (1.X) paramétereken felül további adatok küldhetőek: PARAMETER DESCRIPTION cardholder_email Cardholder email cardholder_phone_cc Cardholder mobile phone country code (1-3

digits) cardholder_phone Cardholder mobile phone number cardholder_home_phone_cc Cardholder home phone country code (1-3

digits) cardholder_home_phone Cardholder home phone number address_match Flag if shiping and billing addresses match (Y

by default) bill_city Billing city bill_country Billing Country code (3 letters as in ISO 3166-1

alpha-3 standard) bill_street Billing addres (max 50 characters) bill_street2 Billing addres second part if needed (max 50

characters) bill_street3 Billing addres third part if needed (max 50

characters) bill_postcode Billing postal code bill_state Billing state code (max 3 characters as in ISO

3166-2) shipto_city Shiping city

A 3DSecure 2.X használatával járó fenti paraméterek miatt (2.11 vagy csomagverziószámig) a $merchant osztályt is módosítani kell a tranzakció hívás során használt startSMSTrans() illetve startDMSTrans() függvényeket mellett. Az egyes paraméterek formai ellenőrzésen esnek át a tranzakció ecommerce szerver általi elfogadása előtt. A formai elvárások a leírás/description oszlopban találhatóak. Példa: //Index.php: $cardholder_email = ”[email protected]”; $cardholder_phone_cc = ”36”; $cardholder_phone = ”201234567”; $resp = $merchant -> startSMSTrans($amount, $currency, $ip, $description, $language, $account, $cardholder_email, $cardholder_phone_cc, $cardholder_phone);

//inclides/Merchant.php: function startSMSTrans($amount, $currency, $ip, $desc, $language, $account, $cardholder_email, $cardholder_phone_cc, $cardholder_phone){ $params = array( 'command' => 'v', 'amount' => $amount, 'currency'=> $currency, 'client_ip_addr' => $ip, 'description' => $desc, 'language'=> $language,

Page 22: E-COMMERCE Műszaki Segédlet (IMA)

22/34

'account'=> $account, 'cardholder_email'=> $cardholder_email, 'cardholder_email_cc' => $cardholder_phone_cc, 'cardholder_phone'=> $cardholder_phone ); return $this->sentPost($params);

3.2.8. A vásárló böngészőben történő átirányítása

A vásárlónak (a fizetésre használt bankkártya adatainak bevitele érdekében) a bank által meghatározott URL-re történő átirányítása úgy a GET, mint a POST metódust használva is végrehajtható. Fontos annak a biztosítása, hogy az átirányítása közben a trans_id változó értéke átadásra kerüljön. Ez a változó tartalmazza a tranzakció azonosítóját. (Kérjük, hogy vegye figyelembe azt is, hogy a trans_id olyan szimbólumokat is tartalmazhat, mint ‘+’, ‘=’ and ‘/’, amelyeket hálózati környezetbarát karakterláncokkal (például a ‘=’ szimbólum helyett ‘%3D’) kell helyettesíteni, mielőtt azokat elküldenék. A Java környezetben ez az úgynevezett URLEncoder.encode metódus hívásával végezhető el). További változók is átadhatók az átirányítás során. Ezek a paraméterek kereskedő weboldalára történő visszairányításkor visszaküldésre kerülnek a kereskedőhöz. Egy példa a POST metódusra a következő módon néz ki: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Merchant example post template to ECOMM</title> <script type="text/javascript" language="javascript"> function redirect() { document.returnform.submit(); } </script> </head> <body onLoad="javascript:redirect()"> <form name="returnform" action="%%post_url%%" method="POST"> <input type="hidden" name="trans_id" value="%%trans_id%%"> <!-- To support javascript unaware/disabled browsers --> <noscript> <center>Please click the submit button below.<br> <input type="submit" name="submit" value="Submit"></center> </noscript> </form> </body> </html>

Amennyiben egy mező elküldésre kerül az nem lehet üres, a tartalmának meg kell felelnie a fenti formai követelményeknek. Amennyiben formailag nem helyes egy vagy több paraméter a tranzakcióhívás függvény hibával tér vissza.

Page 23: E-COMMERCE Műszaki Segédlet (IMA)

23/34

A példában szereplő %%post_url%% szimbólum láncot az ECOMM szervernek a bank által adott URL-jével kell helyettesíteni, a %%trans_id%% karakterláncot pedig a tranzakció azonosítóval. A banknak el kell küldeni annak az URL-nek a címét, amely az ügyfélnek a kereskedőhöz történő átirányításához lesz használva. Kérjük, vegye figyelembe, hogy az ügyfél átirányítása a HTTP POST metódusnak megfelelően lesz végrehajtva, ami annyit jelent, hogy az URL nem tartalmazhat paramétereket. returnOkUrl* – A 3D Secure authentikáció végrehajtását követően és a tranzakció végén (függetlenül annak eredményétől) az ügyfél erre a címre lesz átirányítva. returnFailUrl* – Az ECOMM rendszer működése közben történt technikai hiba esetén az ügyfél erre a címre lesz átirányítva.

3.3. Mintasablon oldalak

3.3.1. Cardinfo.html

A vásárló bankkártyája adatainak a bevitele egy mintasablon („template”) használatával történik meg. Az ECOMM szerver felismeri ennek a sablonnak a következő szimbólumokból álló karakterláncát: %%javascript%% Ide egy JavaScriptet kell beilleszteni, ami mezők ellenőrzését végzi. Ha egy

kereskedő maga akarja használni ezt a funkcionalitást, akkor ennek a karakterláncnak a tartalmát figyelmen kívül lehet hagyni.

%%formdef%% ez helyettesítésre kerül a következővel: <form action=<url> method="post" onSubmit="return FormValidator(this)">

<input type="hidden" name="trans_id" value="<trans_id>" readonly> %%cardname%% <input type="text" name="cardname" size="19" maxlength="50"> %%cardnr%% <input type="text" name="cardnr" size="19" maxlength="19"> %%expmonth%% <input type="text" name="validMONTH" size="2" maxlength="2"> %%expyear%% <input type="text" name="validYEAR" size="2" maxlength="2"> %%cvc2%% <input type="text" name="cvc2" size="3" maxlength="3"> %%amount%% a kinyomtatható tranzakciós összeg %%ccyalpha%% a tranzakció deviza/pénzneme %%description%% a tranzakció megnevezése, amit a kereskedő ad meg az ECOMM

rendszer számára.

3.3.2. Megadott adatok ellenőrzése (Cardinfo.html)

A test Payeezy Cardinfo menüpontja alatt található egy templates.xml hivatkozás ami a cardinfo.html (ClientHandler-rész) háttérben futó szkriptjeit kezeli.

A fizetési felület egy frame-ként, vagy annak részeként megjelenítése esetén kérje támogatásunkat!

*Amennyiben a returnOkUrl és/vagy a returnFailUrl nem titkosított (http) akkor a vásárló böngészője warning-ot dobhat miszerint a POST-ban átadott eredmény nem titkosított csatornán kerül átadásra. A figyelmeztetés a fizetési folyamat végén a „tranzakció folyamatban” oldal előterében jelenhet meg.

Page 24: E-COMMERCE Műszaki Segédlet (IMA)

24/34

Az alapértemlezett ellenőrzések felülírhatóak a "/template/javascripts/formvalidator_lv.js" vagy "/template/javascripts/formvalidator_hu.js" file használatával, nyelvi megkülönböztető képesség használatától függően.

Page 25: E-COMMERCE Műszaki Segédlet (IMA)

25/34

3.3.3. Nyelv megkülönböztető képesség

Az ECOMM IMA szoftver 2.08-as verziójától kezdődően a szerver támogatja a nyelvek megkülönböztetésének a képességét. Ezt a funkciót kifejezetten arra fejlesztették ki, hogy az ECOMM szerver képes legyen kezelni a különböző nyelveken működő felhasználói illesztő felületeket.

Továbbá az alapértelmezett sablonokhoz (cardinfo.html), a kereskedőnek minden szükségesnek tartott nyelvhez ki kell fejlesztenie a további sablon készleteket. Valamennyi sablon készletet össze kell rendelni egy nyelvi kóddal, amit az ECOMM szerveren végeznek el. A nyelvi kód legfeljebb 32 ASCII szimbólumból állhat, csakis kisbetűs szimbólumokat, számokat és a „_” karaktert tartalmazhatja ASCII kódolásban. Az ajánlott nyelvi kódok értékei a 2 betűs közismert nyelvi azonosító kódok (us, uk, fr, lv, ru, lt stb.). A tranzakció ECOMM szerveren történő létrehozása közben lehetőség van megadni az alkalmazott nyelvet. Abban az esetben, ha a tranzakcióhoz nincsen megadva nyelv, avagy az ismeretlen, így a szerver nem talált a megadott nyelvi kódhoz rendelt sablont, akkor a kereskedő által alapértelmezetten megadott nyelvhez rendelt sablonok kerülnek alkalmazásra.

3.4. Tranzakciók kezelése

3.4.1. Tranzakciók adatainak tárolása

Az adott webshop adatbázisának struktúráját úgy szükséges módosítani illetve olyan adatbázist létrehozni, hogy lehetőséget nyújtson az oldalon keresztül végrehajtott tranzakciók adatainak tárolására. Erre szükség lehet az esetlegesen felmerülő reklamációk hatékony kezelése érdekében, ennek segítségével vonhatók vissza egyes tranzakciók, zárhatók le a nyitott DMS tranzakciók, de akár saját statisztikákat is készíthet a kereskedő a tábla adatait felhasználva. Mivel a kártyabiztonsági szempontból szenzitív adatok (kártyaszám, kártyabirtokos neve, érvényesítési kód, lásd. cvv2/cvc2 kódok) a cardinfo html oldalon kerülnek megadásra, az oldal pedig a biztonságos fizető szerveren található, így az adatbázisban szenzitív adatok tárolására nincs lehetőség és nem is megengedett. A következő mezők használata javasolt az adattábla létrehozásakor, mivel ezek felhasználásával könnyedén beazonosíthatók, lekérdezhetők, illetve kereshetők a tranzakciók: id a tranzakció sorszáma trans_id a tranzakció azonosítója amount a tranzakció összege currency devizanem client_ip vásárló ip címe description a tranzakció tömör megnevezése language nyelv result code tranzakció eredménye trans_type tranzakció típusa (SMS, DMS) DMS_closed arról ad információt lezárták-e a DMS tranzakciót reversed arról ad információt, indítottak-e visszavonást a tranzakcióra date tranzakció dátuma Approvalcode tranzakció azonosító B24-ből

Page 26: E-COMMERCE Műszaki Segédlet (IMA)

26/34

refence number A tranzakció kereskedő oldali azonosítója (opcionális) Az alábbi képen láthatunk egy példát arra, hogyan jeleníthetők meg a tranzakciók táblázatos formában a kialakított mezők segítségével.

3.4.2. DMS tranzakciók befejezése

A DMS tranzakció befejezése legegyszerűbben az előző pontban taglalt tranzakciós listán keresztül hajtható végre. A nyitott DMS tranzakciókat táblázatos formában megjelenítve kiválasztható, a ’trans_id’ és ’amount’ mezők segítségével, hogy melyik DMS tranzakció kerüljön lezárásra. A tranzakció kiválasztása után lehetőséget kell adni, hogy a tranzakció összegét megváltoztassa a felhasználó, amennyiben ez nem egyezik a DMS tranzakció létrehozásakor megadott összeggel. Az összeg megadása után a következő lépés a 3.2.3 pontban leírtak szerint a DMS tranzakció befejezésének a végrehajtása. A DMS1 során megadott értéknél nagyobb összeg megadása DMS2 esetén nem lehetséges.

3.4.3. Tranzakció visszavonása

Egy tranzakció visszavonása legegyszerűbben a 3.4.1 pontban taglalt tranzakciós listán keresztül hajtható végre. A tranzakciókat táblázatos formában megjelenítve kiválasztható, a ’trans_id’ és ’amount’ mezők segítségével, hogy melyik tranzakció kerüljön visszavonásra. A tranzakció kiválasztása után érdemes közbeiktatni egy megerősítő kérdést, vagy jelszó megadását, a tranzakció tényleges visszavonásához. Ezután a következő lépés a 3.2.5 pontban leírtak szerint a tranzakció visszavonásának a végrehajtása. A részleges visszavonásra SMS és DMS esetén is van lehetőség, az adott tranzakció összegéig tetszőleges összeg megadható.

Page 27: E-COMMERCE Műszaki Segédlet (IMA)

27/34

3.4.4. A Tranzakció időrendi folyamatábrája

CREATED

Tranzakció regisztráció /

átirányítás a Banki oldalra

PENDING

TIMEOUT státusz ha a fizetés elindítása 10 percen belül nem kerül megnyomásra

A fizetés elindítása gomb

megnyomása

A tranzakció vége, az eredmény lekérdezhető

AUTOREVERSED, ha az eredménylekérdezés 3 percen belül nem történik meg

OK/FAILED/DECLINED /TIMEOUT

Page 28: E-COMMERCE Műszaki Segédlet (IMA)

28/34

4. A teszt tranzakciók végrehajtása (Test Plan)

Az IMA alkalmazás működésének ellenőrzésére a teszt Payeezy-ben (a ‘Test Plan almenü pontban) előre meghatározott Teszt tranzakciókat (teszteseteket) kell végrehajtani, majd azok eredményét rögzíteni és elküldeni a következő pontok alapján. A képernyőmentéseken szereplő adatok csak példaként szerepelnek – az aktuális tesztkártya adatok a tesztkörnyezet ’Test Plan’ menüpontjában találhatóak. Ugyanitt találhatóak tesztrendszerben használható tesztkártyák adatai is (az adott tesztesetet a legördülő menüből kiválasztva).

Page 29: E-COMMERCE Műszaki Segédlet (IMA)

29/34

4.1. A tesztesetek validálása

A tesztesetek validálásához szükséges felület a teszt Payeezy testPlan menüpontjában érhető el. Egy teszteset elvégzéséhez az alábbi 5 lépést kell végrehajtani.

Az egyes mezők jelentése:

‘amount’ – tranzakció összege (két tizedes jeggyel, ponttal elválasztva. Pl.: 1000.00 = egy ezer), mellette a valutanem (pl. HUF – forint)

‘TransId’ – a tranzakció azonosítója (6. oszlop a tranzakciós listában)

’Result’ – A tranzakció eredménye lehet OK, FAILED, CREATED, PENDING, DECLINED, REVERSED, TIMEOUT, Invalid or restricted ip

’ResultCode’ – Az adott tranzakció eredményeként kapott resultcode paraméter

Page 30: E-COMMERCE Műszaki Segédlet (IMA)

30/34

4.2. Elvégzendő tesztesetek és eredményeik

Az egyes végrehajtott tesz tranzakciók eredményét az Elvégzendő tesztesetek és eredményeik (‘Review and send SIA Central Europe, a.s. your test results’) linkre kattintva lehet ellenőrizni.

A link a következő képernyőre vezet:

A fenti 5 lépés megismétlésével végezze el az összes szükséges (10 vagy 12 db) előre meghatározott teszt tranzakciót (‘Select Test Case’), melyek részletes leírását a következő pont tartalmazza. Miután az összes tesztesetet sikeresen elvégezte (a státusz oszlopban ‘Passed’ érték szerepel), küldjön értesítést a Bank felé a tesztelés elvégzéséről.

Page 31: E-COMMERCE Műszaki Segédlet (IMA)

31/34

4.3. Tesztesetek leírása

4.3.1. Sikeres SMS tranzakció létrehozása VISA kártyával:

1, Successful SMS authorization with Visa Card Készítsen SMS tranzakciót a jelen útmutató 3.2.1. pontja alapján a tesztesethez megadott kártya adatokkal.

4.3.2. Sikeres SMS tranzakció létrehozása MasterCard kártyával: 2, Successful SMS authorization with MasterCard Card

Készítsen SMS tranzakciót a jelen útmutató 3.2.1. pontja alapján a tesztesethez megadott kártya adatokkal.

4.3.3. Sikeres DMS tranzakció létrehozása VISA kártyával: 3, Successful DMS transaction with Visa Card

*Akkor hajtsa végre, ha önnek szüksége van a DMS funkcionalitásra. Készítsen DMS tranzakciót (DMS1) a jelen útmutató 3.2.2. pontja alapján a tesztesethez megadott kártya adatokkal, a DMS tranzakciót a 3.2.3. pont alapján fejezze be(DMS2)!

4.3.4. Sikeres DMS tranzakció létrehozása MasterCard kártyával: 4, Successful DMS transaction with MasterCard Card

*Akkor hajtsa végre, ha önnek szüksége van a DMS funkcionalitásra. Készítsen DMS tranzakciót (DMS1) a jelen útmutató 3.2.2. pontja alapján a tesztesethez megadott kártya adatokkal, a DMS tranzakciót a 3.2.3. pont alapján fejezze be (DMS2)!

4.3.5. Sikertelen tranzakció hibás lejárati dátum miatt: 5, authorization with incorect exp.date

Készítsen SMS tranzakciót a jelen útmutató 3.2.1. pontja alapján a tesztesethez megadott kártya adatokkal.

4.3.6. Sikeres 3D Secure tranzakció: 6, Successful 3D-Secure authentication

Page 32: E-COMMERCE Műszaki Segédlet (IMA)

32/34

Készítsen SMS tranzakciót a Szolgáltatás indítási útmutató 3.2.1 pontja alapján a tesztesethez megadott kártya adatokkal. A tranzakció során megjelenik a jobb oldalon található képernyő, ahova jelszóként a „password” szót adja meg. Ezt követően a szokásos módon fejeződik be a tranzakció.

4.3.7. Sikertelen 3D Secure tranzakció: 7, Unsuccessful 3D-Secure authentication

Készítsen SMS tranzakciót a jelen útmutató 3.2.1. pontja alapján a tesztesethez megadott kártya adatokkal. Ennél a tesztesetnél a fenti képernyő a sikertelen tranzakció miatt nem fog megjelenni. A teszteset eredményének rögzítésekor a „ResultCode” mezőt üresen kell hagyni.

4.3.8. Hibás 3D Secure tranzakció: 8, 3D-Secure authentication error

Készítsen SMS tranzakciót a jelen útmutató 3.2.1. pontja alapján a tesztesethez megadott kártya adatokkal. Ennél a tesztesetnél a fenti képernyő a hibás tranzakció miatt nem fog megjelenni. A teszteset eredményének rögzítésekor a „ResultCode” mezőt üresen kell hagyni.

4.3.9. Sikertelen tranzakció létrehozása, mikor az ügyfél IP címe tiltó listán van: 9, authorization with Client's IP-address form BlackList (IP= 192.168.1.2)

Készítsen SMS tranzakciót a jelen útmutató 3.2.1. pontja alapján, de az ügyfél IP címéhez a 192.168.1.2 értéket írja. JAVA környezet esetén: java -jar ecomm_merchant.jar merchant.properties -v 10 348 192.168.1.2

Page 33: E-COMMERCE Műszaki Segédlet (IMA)

33/34

PHP környezet esetén az $ip változó manuálisan ’192.168.1.2’ értékűre állításával lehetséges. A tesztesethez nem szükséges kártyaadatokat használnia, mert odáig nem jut el a folyamat. A „Test Plan” oldalon elegendő az összeg (amount) és az eredmény (Result) mezőket kitöltenie.

4.3.10. Tranzakció visszavonása SMS tranzakció esetén: 10, reversal for SMS authorization from case '1'

Vonja vissza az 4.3.1. pontban elkészített SMS tranzakciót (vagy készítsen újat, amit visszavon) a 3.2.5. pontjában leírtak alapján.

4.3.11. Tranzakció visszavonása DMS tranzakció esetén: 11, reversal for DMS transaction from case '3'

*Akkor hajtsa végre, ha önnek szüksége van a DMS funkcionalitásra. Készítsen DMS tranzakciót a jelen útmutató 3.2.2. pontja alapján, ezúttal végezze el a 6. DMS tranzakció befejezése pontot is! Végezzen el egy Üzleti napzárást a jelen kézikönyv 3.2.6 pontjában leírtak szerint. Fentiek elvégzése után vonja vissza az elkészített DMS tranzakciót a Rendszergazdai kézikönyv 3.2.5 pontjában leírtak alapján.

Page 34: E-COMMERCE Műszaki Segédlet (IMA)

34/34

4.3.12. Üzleti nap lezárása:

12, close business day

Végezzen el egy Üzleti napzárást a Rendszergazdai kézikönyv 3.2.6 pontjában leírtak szerint.

4.3.13. *Unsuccessful SMS authorization with Amex Card

*A teszteset a Magyarországon érvényes kártyaelfogadási szabályok miatt kihagyható.

4.3.14. A tesztesetek eredményeinek elküldése:

Az adott típusú tesztesetek (SMS, DMS) befejezésekor a rendszer felajánl egy lehetőséget az eredmények elküldésére. Ilyenkor a tesztelést végző e-mail címét megadva klikkeljen a submit gombbra. A rendszer ezután automatikus üzenetet generál az E-commerce support részére amely tartalmazza a termilálazonosítót és a tesztesetek elvégzését. SMS tesztesetek esetén ezt a képernyőt kapjuk: