Esimene Mobiil-ID makse

Viimasest Mobiil-ID maksega seotud postitusest on möödunud ligi kuu, mis aga ei tähenda, et töö selle kallal lõppenud oleks. Selle parimaks tõestuseks on üleeilne ülimalt edukas õhtupoolik kui sain tehtud oma esimese Mobiil-ID makse. Järgnev jutt annabki ülevaate, kuidas makse toimib ning mis probleemid selle juures olnud on.

Esimene makse

Kõik algab internetipangast, kus on võimalik Mobiil-ID makse lubada või keelata ning vaadata ka oma kontojääki. Meid huvitaval kontol on katse algul 19 991 krooni, mis on täitsa piisav ühe sisseostu tegemiseks. Lisaks veendume ka, et sellel kontol oleks MID makse lubatud.

Kontojääk internetipangas enne makset

Seejärel jalutame mõttes ühte lihtsasse kioskisse, kus müüakse 8 erinevat toodet. Meid huvitavad värsked uudised ning seepärast ostame sealt ühe Postimehe, mis maksab selles putkast 10 krooni. Müüja toksib meie ostu oma kassasüsteemi ning uurib, et millist maksevahendit soovime kasutada. Loomulikult sobib meile kõige enam maksta oma mobiiltelefoniga. Seejärel tipime Mobiil-ID makse terminali oma telefoninumbri (sel korral küsitakse seda siiski veel javascripti abil, kuid hiljem päris terminaliga) ning vajutame OK nuppu.

Telefoninumbri sisestamine

Järgmiseks edastab terminalile maksekeskusele teate, et telefoninumbriga “+3725097678” soovitakse sooritada makset kogusummas 10 EEK.  Esimese päringu tulemusel saab terminal teada, kas kasutajal on Mobiil-ID leping ning internetipangas maksed lubatud. Staatus OK tähendab, et kõik on hästi. Lisaks jõuab sama sõnumiga terminali ka neljakohaline kontrollkood, mida kliendile näidatakse. Meie näite puhul on selleks 5392.

Rohkema interaktiivsuse saavutamiseks hakkab terminal iga paari sekundi järel maksekeskuselt küsima käimasoleva tehingu staatust ning seda ekraanile kuvama.

Makse on saanud DigidocServicest OK sõnumi

Mõni sekund pärast “OK” vajutamist annab meie telefon piiksu kostel märku, et soovitakse allkirjastada 10 EEK suurust makset. Kõrvale kuvatakse ka kontrollkood, mis peab klappima terminalil näidatavaga. Meil sobib.

Sisestame oma Mobiil-ID PIN2’e, mille peale saadab telefon digitaalse allkirja tagasi maksekeskusele.

Makse allkirjastamine

Varsti peale seda näeme terminali ekraanil teadet, et makse on edukalt lõppenud ning võime minna koju oma ostetud ajalehte lugema.

Makse tehtud

Hiljem kodust internetipanka sisse logides näeme, et meie kontolt on tõesti 10 krooni maha võetud.

Kontojääk internetipangas pärast makset

Hetkel ei ole võimalik minu internetipangas tšekki (sarnast sellele, mida trükib kaardimakse korral POS terminal või kassasüsteem ise) alla laadida, aga baasis on ta olemas ja seetõttu saame vahendite olemasolul selle siiski kätte. Tšekiks on üks digidoc konteiner, mis sisaldab xml faili ja milles omakorda on kirjeldatud makse andmed. Tulevikus peaks xml faili kõrval olema ka mõni inimloetavam formaat – näiteks pdf.

Panka saadetud makse Digidoc

Senised suuremad probleemid

Enne esimese makse edukat teostamist tuli vaeva näha päris mitmete tööd pidurdavate probleemidega.

  1. Valisin DigidocService veebiteenusega suhtlemiseks kogemata vana Axis teegi. Kõik oli hästi kuni sõnumi vastus sisaldas massiive, millega see versioon ei olnud võimeline tegelema. Peale mõningas pusimist avastasin, et on olemas ka projekt nimega Axis2, mis töötas juba oluliselt paremini.
  2. Digidoc Service meetodi GetMobileCreateSignatureStatus vastus ei sisalda WSDL‘is nõutavat Signature tag’i, kui allkiri ei ole veel kasutaja telefonist tagasi jõudnud. Axis2 ei olnud selle vea tõttu väga koostööaldis. Lõpuks aitas ajutise abinõuna mõne rea lisamine genereeritud Java lähtekoodi. Sertifitseerimiskeskus lubas vea järgmises versioonis ära parandada.
  3. Jdigidoc teek kaotab allkirjastamata digidoci konteineri lugemisel seal sees olevate failide body’d. Registreerisin selle kohta ka vea.

Mis edasi?

Ma loodan lähinädalail internetipanga, kioski ning maksekeskuse mõnda kõigile ligipääsetavasse serverisse üles saada ja proovimiseks avalikuks teha.

Ja teiseks tahaks päris terminali valmis saada ning kassasüsteemiga ühendada.

18-03-2010