Esettanulmány

MFF

Megbízó: Első Mobilfizetés Elszámoló Zrt.

Az MFF rendszer a világon egyedülálló általános mobilfizetési rendszer, mely szignifikánsan hozzájárult az új fizetési megoldás rohamos hazai terjedéséhez. A rendszer egy alkalmazáson belül képes a teljes fizetési folyamat lekezelésére olyan teljesen eltérő üzleti logikát követő feladatoknál is, mint a parkolás, a jegyvásárlás, vagy az autómosás.

Feladat:

Hazánk piacvezető mobilfizetési cége, stratégiai együttműködő partnerünk, az Első Mobilfizetés Elszámoló ZRt. a közterületi mobilfizetéssel tette le a névjegyét a hazai piacon. Miután a projekt nemzetközi szinten is komoly siker lett, a cég vezérkara úgy határozott, hogy a jól működő üzleti modellt a piac más területein is bevezeti. A műszaki megvalósításra cégcsoportunkat kérték fel, így jött létre az MFF.

Megvalósítás:

A Multi Funkciós Felület (továbbiakban MFF) egyedi igények alapján fejlesztett szoftver. Elsődleges feladata a Magyarország négy mobilfizetési szolgáltató bármelyikében (EME Zrt, Telenor, T-Mobile, Vodafone) mobiltelefonnal történő fizetés megvalósítása.

Az MFF központi feladatot lát el a mobilfizetési tranzakciók lebonyolításában. Egyedi megoldásainak köszönhetően egyszerre tart kapcsolatot az EME ZRt. informatika rendszere (továbbiakban MOPA), valamint a magyarországi operátorok (Telekom, Telenor, Vodafone) egységesített, Cellum Zrt által üzemeltetett rendszere (továbbiakban CMPS) között.

A rendszer alapja egy VMWare ESX virtuális környezetben futó szerver. Ennek előnye, hogy könnyen és gyorsan áthelyezhető másik, esetleg erősseb hardveren futó virtuális környezetbe, nagyon rövid idő alatt. A rendszer egy fejlett Cisco tűzfal-rendszer mögött kapott helyet, így a szervert és a szoftvert a külső támadások számára szinte láthatatlanná teszi. A szükséges portok és IP címek egyesével, kézzel, rendszergazdák által kerülnek beállításra. A beállított paraméterek egyediek és csak az adott funkció, illetve interfész használja. Ezek a beállítások megkötést is jelentenek, hiszen az összes beállítás egy megadott belső, illetve külső IP címre hivatkozik. Költözéskor, áthelyezéskor minden kapcsolat ellenőrzése szükséges.

Az alkalmazott technológiák, valamint a szerveren futó szoftverek nyílt forráskódúak.

Operációs rendszer: LINUX Debian Lenny (2.6.26-2-686 GNU/LINUX)
WEB szerver: APACHE 2.1
Adatbázis: MySQL 5.1
Programnyelv: PHP 5.2.6

A rendszer SMS alapú vásárlások lebonyolítására lett megalkotva. Az operátorokkal egyenként alakítottuk ki az SMSC csatornákat, amelyen keresztül küldeni és fogadni is tud a rendszer SMS-t. Az itt alkalmazott megoldások operátoronként eltérnek. A három SMSC kapcsolat három különböző SMSC kommunikációs nyelvet használ (Telekom: EMI, Telenor: HTTP, Vodafone: CMI2). A kommunikációs interfészek megvalósítása nagyon hosszú időt vett volna igénybe, ezért külső megoldást használunk az SMSC kapcsolatok kezelésére: egy LINUX rendszeren futó nyílt forráskódú SMS gateway szoftvert, a neve Kannel. A Kannel képes egyszerre több, különböző SMSC kapcsolat egyidejű kezelésére.


  • Legfontosabb jellemzői:
  • könnyű konfigurálás
  • különböző SMSC kommunikációs formák ismerete
  • teljes körű log készítése
  • webes alkalmazásokhoz való gyors igazíthatósága
  • karakter kódtáblák kezelése

Tervezéskor az egyik legfontosabb szempont az volt, hogy a rendszer moduláris felépítésű legyen, és hogy a fő folyamatok egymástól jól elkülönítve, de mégis egy adatbázisból dolgozzanak.

Továbbá fontosak voltak az alábbi paraméterek is:
- teljes körű logolás
- adatvesztés nélküli működés
- projekt központú működés
- egyszerű bővíthetőség

Ha a külső partner az általa nyújtott szolgáltatás kifizetésére mobilfizetést szeretne igénybe venni, akkor ezt a fizetési modellt a rendszerben projektként kezeljük.

A projektek fontosak a rendszerben, mert a telefonszámok hozzárendelése és az üzleti logika (BULO) megvalósítása projektenként eltér.

A mobilfizetés megvalósításához szükség van az ügyfelek mobil egyenlegének terhelésére. A mobil egyenlegek terhelése két módon történhet. Ha EME ügyfél a vásárló, akkor a MOPA rendszerén keresztül, más esetben a CMPS rendszerén keresztül terhelünk. Mindkét esetben az ügyfél folyószámláját a szolgáltató, az operátorok vagy az EME kezeli. A folyószámla feltöltés és a számlázás az MFF feladatán kívül esik.

Az EME ügyfél folyószámlájának terheléséhez szükség volt a MOPA oldalon és az MFF oldalon is egy kommunikációs protokoll kidolgozása. Az interfész XML alapú, kötött szerkezetű üzenetformákkal kommunikál. A kommunikáció az EME szervertermén belül LAN kapcsolaton, TCP/IP socket kapcsolaton valósul meg SSL titkosított csatornán TLSV1 alatt. Az SSL ezen formájánál nem kell tanúsítványt installálni a kliens oldalon.

A mobilszámlás ügyfél folyószámlájának terhelése esetén WSDL alapú Soap hívásokat küldünk a CMPS rendszernek HTTPS titkosított csatornán. A WSDL a webszolgáltatás nyilvános felületét írja le. Ez egy XML-alapú szolgáltatás-leírás a webszolgáltatással történő kommunikációról, mégpedig a protokoll kötésekről és az üzenet formátumokról, amelyek a webszolgáltatások használatához szükségesek. A támogatott műveletek és üzenetek ebben vannak definiálva.

Működés:

Az MFF központi szerepe nagyon fontos a mobilfizetések lebonyolításában, mind a külső partner, mind a vásárló, mind a szolgáltatók szempontjából. A rendszer egyik legfontosabb pontja a teljes körű tranzakció logolás. Tárolásra kerülnek a bejövő és kimenő SMS-ek, a külső partnerrel folytatott kommunikáció paraméterei, üzenetei, illetve a pénzügyi tranzakciók valamennyi adata. Az összes csatornán érkező, áthaladó, valamint küldött adat tárolásra kerül.

Ezeket az adatokat egy központi szoftveren keresztül lehet megtekinteni. Modulokba rendezve lehet adatokat táblázatos formában lekérdezni. Lehetőség van szűrési feltételek beállítására is.

Külön felület áll rendelkezésre a külső partnerek számára. Minden egyes projekt esetében egy webes FrontEnd készül, amely egyedi igények alapján kerül kivitelezésre. Itt megtekinthető a rendszerben a partner projekthez tárolt pénzügyi tranzakciók listája. A webes felületek esetében a felhasználó IP címe is regisztrálásra kerül a rendszerben. Így könnyen gyorsan kikereshető, kitiltható az esetleges kárt okozó, vagy csak akaró személy.

Funkcionális részek:

Négy fő részre tagoltuk a működést. Ez a négy funkcionális rész egymástól elkülönítve rezidensen, a memóriában fut állandóan. Ez a rendszer szíve.

SMS kezelő

Fő feladata a beérkező SMS-ek kezelése. Meghatározza, hogy az SMS melyik projekthez tartozik, új tranzakció vagy egy kérésre adott válasz. A projektazonosító alapján végrehajtja az üzleti folyamat első fázisát, valamint vásárlást generál. Az esetleges kommunikációs vagy egyéb hibákról a vásárlót és az rendszergazdákat is tájékoztatja a rendszer.

MOPA fizetés

Az EME ügyfelek vásárlásait hajtja végre a MOPA interfészen keresztül.

CMPS fizetés

Az operátorok ügyfeleinek vásárlásait végzi el a CMPS rendszerén keresztül.

Záró eseménykezelő

A fizetés eredményéről tájékoztatja az ügyfelet, és lezárja a tranzakciót. Mind a négy modul teljes körű logolást végez a tranzakciók végrehajtása során.

Ezen adatok alapján nyilvánvalóvá vált, hogy nem egy mindennapi, egyszerű rendszerről beszélünk, ezért is fontos, hogy a megrendelések alkalmával a pontos leírások és kérések megfogalmazása világos legyen és teljes körűen kifejtett.

Jelenleg futó projektek a MFF-en keresztül:

Skidata és Signelit - zárttéri parkolás
Az ügyfél vásárlást indít a parkoló kártyasorszám helyes számra történő elküldésével. A MFF a Mom Park Skidata rendszeréhez kapcsolódva kéri le a parkolási adatokat, s a válasz összeg alapján, illetve a vásárlást indító telefonszám alapján kéri az összeg terheléseket a mobilszolgáltatóktól. (EME,Telenor,T-Mobile,Vodafone)
Gépi autómosó
Az ügyfél a munkalapszám helyes számra történő elküldésével elindítja a vásárlást. Az MFF a Carpark rendszeréből lekéri a tranzakcióhoz tartozó adatokat az összeggel együtt, s az adott mobilszolgáltatók felé megkezdi az összeg terhelésének kérését. (EME, Vodafone)
Kézi autómosó
Az ügyfél a kézi autómosón feltüntetett kódot elküldi a helyes számra, ezzel elindítva a vásárlást. Egy fix összeg befoglalását kéri a MFF az operátoroktól a telefonszám alapján, majd az fix összeg elérését követően, vagy az ügyfél általi vásárlás megszakítást követően a végső összeg terhelését kéri. Amennyiben a fix és a végső összeg eltér, a különbözet felszabadításra kerül. (EME, Telenor, T-Mobile, Vodafone)
Futárszolgálat
Az Mex futárszolgálat diszpécsere mobilfizetés kérés esetén mobilvásárlási kérést indít a kiadott külsős felületen. Az ügyfél erről SMS-t kap, mely jóváhagyása után a külsős felületen beírt összeg és az ügyfél telefonszáma alapján a MFF befoglalási kérést indít a mobilszolgáltatók felé. Fixként beállított időn belül a vásárlás összege terhelési kérelembe fut. Amennyiben a felületen az összeget stornózzák, illetve átírják (a már terhelt összegnél kisebb megadása lehetséges), úgy a befoglalt összeg felszabadul, avagy kisebb összeg beírása esetén a különbözet szabadul fel. (EME)
Koncertjegy vásárlás
Az ügyfél az adott koncert kódját elküldi a helyes telefonszámra, ezzel elindítva a vásárlást. Amennyiben az adott jegy szabad, annak befoglalása és a helyjegyhez tartozó összeg terhelési kérése megkezdődik a telefonszám alapján. Amennyiben az adott helyjegy elfogyott, más a kérésnek helytálló jegy felajánlására kerül sor. Az ügyfél a vásárlásról tranzakciós kódot vagy kódokat kap, a rendelt jegymennyiségtől függően, melynek bemutatásával átveheti a jegyet a koncert kezdetekor. (EME)
Múzeumi jegyvásárlás
Az ügyfél a helyes telefonszámra beküldi a megvásárolni kívánt kiállítás és igényelhető kedvezmények kódját. Ez alapján lekérdezi a MFF a múzeumtól a jegy árát, illetve a befoglalja azt. Az összeg és telefonszám alapján a MFF a mobilszolgáltatóktól az összeg terhelését kéri. Az ügyfél tranzakciós kódot kap, mely felmutatásával veheti át a jegyét a múzeum bejáratánál.
Percalapú fesztiváljegy
Az ügyfél az adott fesztiváljegy kódját beküldi a helyes telefonszámra. Az MFF a telefonszám alapján befoglaltatja a mobilszolgáltatóknál a fesztiváljegy napi összegét és a belépéshez szükséges tranzakciós kódot kiküldi az ügyfél telefonszámára. Amennyiben az ügyfél a fesztiválra belép (a tr.kód felmutatásával), a percszámlázás elkezdődik a beléptető, kiadott felület segítségével. Kilépéskor az ügyfelet szintén a kiadott felületen kilépteti a hosztesz, ezzel lezárva a percszámlálást. A díjak és percek alapján a végösszeg terhelését kéri az MFF az operátoroktól, valamint amennyiben nem lépett be az ügyfél, vagy különbözet van a befoglalt és végösszeg között, a maradék felszabadítását kéri.
Kültéri parkolás
A felszíni parkolás a mobilvásárlás alkalmával egyszerűbb, kényelmesebb, valamint gazdaságosabb, hiszen annyit fizet az ügyfél, amennyi időt ténylegesen parkol. Az ügyfél kezdeményezi telefonjáról a parkolás indítását, illetve annak leállítását. Az MFF a parkolás kezdetekor az ügyfél telefonszáma alapján befoglalási kérelmet indít a mobilvásárlás szolgáltatók felé, majd a parkolást üzemeltető társaságtól a parkolás befejeztével lekéri az összeget a zóna, illetve a parkolási percek alapján és az ügyfél számláján a végső terhelést, illetve felszabadítást kéri.
Megvalósítható projektek az MFF-en keresztül
- autópálya matrica vétel lehetősége mobillal, mind belföldiek, mind külföldiek részére
- fürdők / gyógyfürdők / strandok belépőjegy vásárlásának mobiltelefonról történő lebonyolítása
- vidámpark / színház / mozi / állatkert mobiljegy vásárlása
- boltokban/üzletekben történő fizetés mobiltelefonnal
- BKV jegyvásárlás mobiltelefonnal, akár a közlekedési járműre szálláskor is
A MFF kapcsolati ábrája
Smiley face

A felsorolt projektek nagy része megvalósítható akár NFC, illetve QR kód használatával is.

Az MFF kód szintjén fel van készítve mind az NFC-s, mind pedig a QR kód alapú fizetési folyamatra, melyekhez hamarosan saját márkás hardver termékkel is a piacra lépünk.


Megvalósítás éve 2011