Registrite ja Infosüsteemide Keskus
Ametlikud Teadaanded
PAKKUMUS
10.12.2025 hinnapäringule
16.12.2025 täpsustustega
Pakkuja:
Inversion Software OÜ, registrikood 10827700
17.12.2025
Lugupeetud Hankija,
Inversion Software OÜ esitab käesolevaga hinnapakkumuse vastavalt pakkumuskutsele.
Kinnitame, et pakkumuse jõusoleku tähtaeg on 60 päeva pakkumuse esitamisest.
Töö Töö maht tundides Töö maksumus käibemaksuta (EUR)
Riigilõivuga teadaande avaldamise protsess 52 2 288.00
Pääsuke - keskne volituste haldamise 156 6 864.00
infosüsteem
Täiendavad funktsionaalsused 204 8 976.00
Logimise täiendamine (tehniline kirjeldus 208 9 152.00
täpsustatud).
Keskne makselahendus (Everypay) 52 2 288.00
Krediitkaardimaksed (EMTA) 208 9 152.00
Kokku: 880 38 720.00
Tööde tunnihind käibemaksuta: 44 EUR
Arendusleping nr 2/51-25
Arenduslepingu eritingimused
Tallinnas
Võttes arvesse perioodi 2021–2027 Euroopa Liidu ühtekuuluvus- ja siseturvalisuspoliitika fondide meetme
“Digiriik“ projekti „Kasutajakeskse Ametlike teadaannete süsteemi loomine“, mille kohaselt on vastava
projekti elluviija Justiitsministeerium ja partner Registrite ja Infosüsteemide Keskus:
Registrite ja Infosüsteemide Keskus, (registrikoodiga 70000310) asukohaga Lubja 4, 19081 Tallinn,
mida esindab põhimääruse alusel direktor Rivo Reitmann, edaspidi Tellija,
ja
Osaühing Inversion Software, (registrikoodiga 10827700) asukohaga Kaluri tee 8-25, 74001
Haabneeme alevik, Viimsi vald, mida esindab põhikirja alusel juhatuse liige Indrek Järve, edaspidi Täitja,
keda nimetatakse edaspidi pool või koos pooled, sõlmisid käesoleva arenduslepingu (edaspidi nimetatud
Leping) alljärgnevas:
1. Lepingu sõlmimise alus ja ese
1.1. Kooskõlas riigihanke „Ametlike Teadaannete arendustööd“ (viitenumber 275407) tulemusel sõlmitud
raamlepinguga nr 2/28-24 teostab Täitja Lepingu lisas 3 kirjeldatud tööd ning täidab kõik muud Lepingust
tulenevad kohustused (edaspidi ka Töö).
1.2. Pooled kinnitavad, et teevad kõik enesest oleneva, et täita lepingu eesmärgid käesolevas lepingus,
seonduvates õigusaktides ning Perioodi 2021–2027 Euroopa Liidu ühtekuuluvus- ja siseturvalisuspoliitika
fondide rakendamise seaduses, Vabariigi Valitsuse määruses „Perioodi 2021–2027 Euroopa Liidu
ühtekuuluvus- ja siseturvalisuspoliitika fondide rakenduskavade vahendite andmise ja kasutamise üldised
tingimused“ ja juhtrühma otsustes sätestatud tingimustel ja mahus.
2. Hind ja maksetingimused
2.1. Lepingu hind on 38 720 eurot (netosumma), arvestusega, et arendustööde tunnihind on 44 eurot
(netosumma). Lepingu hinnale lisandub käibemaks.
2.2. Leping on 100% ulatuses rahastatud välisvahenditest. Muutes lepingut riigihangete seaduse § 123
alusel täpsustatakse rahastuse allikas lepingu muudatuses.
2.3. Tellija tasub lepingu alusel teostatud tööde eest lepingu üldtingimustes sätestatud korras.
3. Lepingu jõustumine ja Töö teostamise tähtaeg
3.1 Leping jõustub allkirjastamise hetkest ja kehtib kuni lepingujärgsete kohustuste nõuetekohase
täitmiseni.
3.2 Töö teostamise tähtaeg on 15.05.2026.
4. Lepingu dokumendid
4.1 Lepingu dokumendid koosnevad Lepingu tekstist, Lepingu lisadest, mis on lisatud Lepingu
allkirjastamisel ja lisadest, millistes võidakse kokku leppida pärast Lepingu allkirjastamist.
Lepingu allkirjastamisel on Lepingu lisad järgmised:
4.1.1 Arenduslepingu üldtingimused Lisa nr 1;
4.1.2 Personal ja kontaktandmed Lisa nr 2;
4.1.3 Tehniline kirjeldus Lisa nr 3;
4.1.4 Pakkumus Lisa nr 4;
4.2 Kui Lepingu dokumendid on oma sisult vastuolulised ja/või nendes antud informatsioon erinevalt
tõlgendatav, siis dokumentide pädevusjärjekord (ülimuslik lepingu dokument on nimetatud eespool
allolevas loetelus) on järgmine:
4.2.1 Eritingimused;
4.2.2 Arenduslepingu üldtingimused;
4.2.3 Tehniline kirjeldus;
4.2.4 Muud riigihanke alusdokumendid;
4.2.5 Pakkumus.
Käesoleva Lepingu allakirjutamisega tõendavad pooled, et on tutvunud ja on nõus Lepinguga ja selle
lisadega ning mõistavad täielikult enesele võetavate kohustuste sisu ning nende tagajärgi.
Tellija: Täitja:
/ allkirjastatud digitaalselt / / allkirjastatud digitaalselt /
Rivo Reitmann Indrek Järve
Direktor Juhatuse liige
Registrite ja Infosüsteemide Keskus Osaühing Inversion Software
Arendusleping nr 2/51-25
Lisa nr 1
ARENDUSLEPINGU ÜLDTINGIMUSED
Kui eritingimustes on sätestatud teisiti kui üldtingimustes, siis kehtib eritingimustes toodu.
1. Definitsioonid
Järgnevad definitsioonid laienevad nii lepingule kui ka selle osaks olevatele dokumentidele.
1.1 Tarkvara
Tarkvara tähendab põhiliselt arvutiprogramme, telekommunikatsioone, andmebaasi-, rakendus- ja muud
tarkvara objektikoodis, lähtekoodis või nende mistahes muid vorme või adaptsioone koos sellega seonduva
dokumentatsiooniga. Spetsiaalselt Tellijale tema funktsioonide täitmiseks loodud tarkvara käsitletakse
lepingu raames spetsiaaltarkvarana.
1.2 Seadmed
Seadmed tähendavad lepingus kirjeldatud tooteid, hõlmates nendega otseselt seotud tarkvara, mis on
vajalik seadmete funktsioneerimiseks.
1.3 Telekommunikatsioonid
Telekommunikatsioonid tähendavad sisemise ja välise telekommunikatsiooni seadmeid, tarkvara ja
teenuseid ning vajalikke vahendeid, teenuseid ja protseduure.
1.4 Asukoht
Asukoht tähendab kohta või kohti, välja arvatud Täitja asukoht, kuhu seadmeid, telekommunikatsioone või
tarkvara tarnitakse või installeeritakse või teenuseid osutatakse (nt Tellija test- arendus-ja
toodangukeskkond).
1.5 Puudus ja viga
Puuduse või veaga on tegemist juhul, kui seade, telekommunikatsioon või tarkvara ei täida lepingus
sätestatud funktsioone, annab valesid tulemusi, kui tema nõuetekohane toimimine katkeb või on (muul
viisil) häiritud, nii et seadme, telekommunikatsiooni või tarkvara otstarbekohane kasutamine on takistatud
või oluliselt häiritud. Vigu liigitatakse järgnevalt:
1.5.1 Kriitiline/Blocker – viga, mille tõttu süsteemi tervikuna või mistahes süsteemi osa ei ole võimalik
kasutada ja/või see piirab sama süsteemi mistahes teise osa kasutamist.
1.5.2 Kõrge – viga, mille tõttu pole võimalik mingit süsteemi osa kasutada, kuid see ei sega mõne
teist sama süsteemi osa kasutamast.
1.5.3 Keskmine – viga, mille tõttu süsteemi või selle süsteemi mõnda osa on võimalik kasutada
piirangutega ja/või kasutajad peavad tegema mitte ettenähtud tegevusi eesmärgi
saavutamiseks (nt. funktsionaalsus lubab vigadega toiminguid lõpetada).
1.5.4 Madal – viga, mille tõttu süsteemis esineb kõrvalekaldeid ettenähtust, kuid üldprotsessi need ei
häiri või häirivad vähesel määral.
1.5.5 Väheoluline - viga, mille tõttu otseseid kõrvalekaldeid ei teki kuid vajavad
muutmist/parandamist.
1.6 Hooldus
Hooldus tähendab töid, mis tagavad seadmete, telekommunikatsioonide ja tarkvara (kaasa arvatud nende
juurde kuuluvate andmete ja andmebaaside) toimivuse (korrasoleku, terviklikkuse, jõudluse jms). Hooldus
sisaldab kaugtuge, vigade ennetamist ja parandamist, uute redaktsioonide ja versioonide ning nendega
seotud dokumentatsiooni üleandmist. Samuti hõlmab hooldus lepingus sätestatud tingimustel seadmete,
telekommunikatsioonide ja tarkvara kohandamist Tellija vajadustele, eeldusel, et see ei nõua olulist
ümberprogrammeerimist ega uue toote loomist.
1.7 Toodangukeskkond
Reaalseks andmevahetuseks mõeldud keskkond, mis ei ole test- või arenduskeskkond.
2. Hind
2.1 Lepingu hind sisaldab kõiki tolli- ja muid makse, kaasa arvatud käibemaks. Lepingu eritingimustes
märgitakse lepingu hind käibemaksuta (netosummas).
2.2 Lepingu hind väljendatakse eurodes.
2.3 Lepingu hind on Täitja ainuke tasu seoses lepinguga ja Täitja ise ega tema töötajad ei võta
päevarahasid, kaudset tasu ega muud lepingus toodud kohustustega seotud tasu. Samuti ei ole
Täitjal ega tema töötajal õigust täiendavale autori- või muule sarnasele tasule seoses lepingu
täitmisel kasutatud patenteeritud või muul viisil kaitstud eseme või protsessiga.
3. Maksmine
3.1 Täitja esitab Tellijale arve masinloetaval kujul e-arvena. Arve esitamise õigus tekib Täitjal pärast Töö
vastuvõtmist Tellija poolt.
3.2 Arve peab sisaldama vähemalt alljärgnevaid andmeid:
3.2.1 info arve esitaja kohta;
3.2.2 info maksja kohta;
3.2.3 viide Lepingule;
3.2.4 käibemaksukohustuslase number;
3.2.5 vastuvõetud Töö nimetus ja kirjeldus;
3.2.6 käibemaks;
3.2.7 kogusumma;
3.3 Tellija tasub Lepingu hinna Täitja poolt esitatud arvel märgitud kuupäevaks. Maksetähtaeg ei tohi olla
lühem kui 30 kalendripäeva, va juhul kui hankija on nimetatut pakkumuse esitamise ettepanekus ette
näinud.
3.4 Ettemakseid Tellija ei teosta.
3.5 Lõpparve maksmine eeldab Täitja kõigi Lepingu järgsete kohustuste täitmist ning Tellija poolt
vastuvõtmist.
3.6 Tellijal on õigus Lepingu rikkumise korral arvestatud leppetrahvid ja kahju hüvitised maha arvata
Lepingu alusel Täitjale tasumisele kuuluvatest summadest.
3.7 Tellija poolt makstud mistahes summa, mis ületab Täitjale Lepingus ettenähtu, maksab Täitja Tellijale
tagasi 30 kalendripäeva jooksul pärast vastava teate saamist.
3.8 Lepingujärgse hinna tasumisega viivitamisel on Täitjal õigus nõuda viivist iga maksmisega viivitatud
kalendripäeva eest 0,15 (null koma viisteist) % maksmata summast päevas.
4. Informatsioon ja aruanded
4.1. Täitja loetakse asukohaga ja lepingu tingimustega tutvunuks. Eelkõige ei rahuldata Täitja nõuet
lisamakseteks või ajapikenduseks, kui ta oleks saanud vajaliku informatsiooni hankida visiidiga
asukohta, konsulteerides Tellijaga või muul sobilikul viisil.
4.2. Tellija varustab Täitjat tema käsutuses oleva mistahes informatsiooni ja dokumentatsiooniga, mis
võib olla lepingu täitmisel oluline, niipea kui võimalik, kuid mitte hiljem kui 2 tööpäeva jooksul
vastava nõude saamisest.
4.3. Tellija abistab Täitjat niipalju kui võimalik lepingusse puutuva informatsiooni saamisel, mida Täitja
mõistlikkuse piirides lepingu täitmiseks nõuab.
4.4. Täitja annab Tellijale niipea kui võimalik, kuid mitte hiljem kui 2 tööpäeva jooksul vastava nõude
saamisest, lepingu täitmist (sealhulgas seadmeid, telekommunikatsioone, tarkvara, projekti
kulgemist ja teenuseid) puudutavat informatsiooni.
4.5. Täitja kohustub vastavalt perioodi 2021–2027 Euroopa Liidu ühtekuuluvus- ja siseturvalisuspoliitika
fondide rakendamise seaduse § 25 lg-le 3 esitama kontrollija nõudel projektiga seotud teavet ja
dokumente, mis on vajalikud seaduse § 23 lõikes 1 nimetatud asjaolude kontrollimiseks.
5. Teated ja kirjavahetus
5.1. Pooltevaheline suhtlus toimub selleks otstarbeks määratud poolte kontaktandmetel ja aadressidel.
Pooled on kohustatud kontaktandmete ja aadresside muutusest teineteist teavitama viivitamatult,
aga mitte hiljem kui 2 tööpäeva jooksul.
5.2. Kui teisele poolele edastatav teade eeldab vastust, tuleb vastata viivitamatult, kuid mitte hiljem kui
2 tööpäeva jooksul.
5.3. Pooltevahelised Lepinguga seotud teated peavad olema kirjalikku taasesitamist võimaldavas
vormis, välja arvatud juhtudel, kui teated on informatsioonilise iseloomuga, mille edastamisel
teisele poolele ei ole õiguslikke tagajärgi. Teade loetakse kättesaaduks, kui:
5.3.1. teade on üle antud allkirja vastu;
5.3.2. teade on edastatud tähitud kirjana poole postiaadressil ja teate postitamisest on möödunud 5 (viis)
kalendripäeva;
5.3.3. e-posti või telefoni teel on teade edastatud Lepingus märgitud kontaktisikule või esindajale.
6. Asukoht
6.1. Täitja peab andma lepingutäitmise käigus piisavalt informatsiooni korrektselt kirjalikku
taasesitamist võimaldavas vormis koostatud kasutusjuhendi näol, et võimaldada Tellijal asukoht
lepingujärgsete kohustuste täitmiseks kohaselt ette valmistada. Juhend peab olema antud sellise
sisendiga, et objektiivselt keskmise võimekusega programmeerija oleks suuteline asukoha Töö
vastuvõtmiseks vajalike testide teostamiseks ette valmistada. Juhend peab olema esitatud piisava
ajavaruga selleks, et Tellijal oleks võimalik Töö üleandmisel alustada koheselt vastuvõtmiseks
vajalike testide teostamist. Juhul, kui Töö üleandmise hetkeks ei ole juhendit edastatud või kui
edastamisest hoolimata ei ole Tellija asukohta ette valmistada jõudnud, algab Töö vastuvõtmiseks
ette nähtud tähtaeg kulgema pärast asukoha ette valmistamist. Kui Täitja ei ole ette näinud erilisi
keskkonnatingimusi, võib Tellija eeldada, et neid ei nõuta.
6.2. Tellija teeb vastavad ettevalmistused ja loob tingimused omal kulul.
6.3. Kui Tellija ettevalmistused või loodud tingimused ei vasta lepingus sätestatule, esitab Täitja
viivitamatult puuduste loetelu. Kui Tellija ei muuda olukorda selliselt, et Täitjal oleks võimalik
ajagraafikust kinni pidada, on Täitjal õigus saada lepingujärgsete kohustuste täitmiseks vajalikku
ajapikendust.
6.4. Täitjal on õigus taotleda juurdepääsu asukohale Tellija tavalisel tööajal.
6.5. Täitja kulud, mis on seotud lepingus sätestatud juurdepääsupiirangutega ja turvaprotseduuridega,
sisalduvad Lepingu hinnas ning neid ei hüvitata.
6.6. Tellija võib igal ajal lepingu kehtivuse vältel muuta või kehtestada juurdepääsupiiranguid ja
turvaprotseduure. Kui Täitja tõendab, et selline muudatuste tegemine või piirangute või
protseduuride kehtestamine põhjustas lisakulusid, on tal õigus nende hüvitamisele.
7. Lepingu muutmine
7.1. Lepingut võib muuta poolte kirjalikul kokkuleppel. Muudatused jõustuvad pärast nende
allkirjastamist mõlema poole poolt või poolte poolt määratud tähtajal. Kirjaliku vormi mittejärgimisel
on muudatused tühised.
7.2. Riigihangete seaduse § 123 lg 1 p 1 kirjeldatud muudatused lepitakse kokku Tellija ja Täitja
esindajate poolt kirjalikku taasesitamist võimaldavas vormis.
8. Poolte õiguskaitsevahendid
8.1. Lepingu see peatükk fikseerib Lepingu olulised rikkumised, menetluse rikkumisest teatamisel ning
Poolte vastutuse. See peatükk ei välista ega piira Poole õigust kasutada muude Lepingu rikkumiste
korral muid õigusaktidest tulenevaid õiguskaitsevahendeid, samuti kasutada täiendavaid
õiguskaitsevahendeid lisaks selles peatükis kokkulepitule.
8.2. Lepingust või seadusest tuleneva õiguse või õiguskaitsevahendi mittekasutamine või selle
kasutamisega viivitamine ei tähenda nimetatud õigusest või õiguskaitsevahendist või muudest
õigustest või õiguskaitsevahenditest loobumist. Lepinguga seotud mis tahes loobumised on
kehtivad ainult siis, kui need on selgesõnaliselt ja kirjalikult väljendatud.
8.3. Pooled vastutavad Lepinguga võetud kohustuste täitmata jätmise või mittekohase täitmise eest
Eesti Vabariigi õigusaktides ning Lepingus ettenähtud korras.
8.4. Oluliseks lepingurikkumiseks loetakse muu hulgas järgmisi rikkumisi:
8.4.1. Pool ei täida mis tahes Lepingust tulenevat kohustust teise Poole poolt Lepingust tuleneva vastava
kohustuse täitmiseks antud täiendava tähtaja jooksul;
8.4.2. Täitja ei täida garantiiperioodil Lepingust tulenevaid kohustusi;
8.4.3. Täitja ei ole esitanud Tellijale Asukoha keskkonnatingimusi, millest tulenevalt on häiritud Tellija
seadmete, telekommunikatsioonide või tarkvara kohane funktsioneerimine ning mistõttu Tellija
kaotab Täitja Lepingu järgsete kohustuste täitmise vastu huvi;
8.4.4. Täitja rikkus kohustust tahtlikult või raske hooletuse tõttu;
8.4.5. Täitja rikub Personaliga seonduvaid tingimusi;
8.4.6. Poolel või tema poolt kaasatud kolmandal isikul puuduvad Lepingu täitmiseks vajalikud õigused
(sealhulgas load, litsentsid, Intellektuaalse omandi õigused);
8.4.7. Täitja suhtes on algatatud pankrotimenetlus, pankrot on välja kuulutatud, Täitja varad arestitakse
või Täitja finantsseisund halveneb Tellija põhjendatud hinnangul oluliselt ja see halvenemine
muudab vähetõenäoliseks Lepingu nõuetekohase täitmise;
8.4.8. Pool on rikkunud Intellektuaalse omandi õigusi ja nende kasutamise tingimusi;
8.4.9. Pool on rikkunud konfidentsiaalsuskohustust ja/või isikuandmete töötlemisega seonduvaid
kohustusi;
8.4.10. Pool on rikkunud avalikustamise keelu kohustust;
8.4.11. Pool on rikkunud kolmandate isikutega seonduvaid kohustusi;
8.4.12. Tellija on viivituses Lepingus kokku lepitud maksetähtajaga rohkem kui kolmkümmend (30)
kalendripäeva;
8.5. Poolel on õigus nõuda Lepingu olulise rikkumise korral leppetrahvi tasumist kuni 30% Lepingu hinnast
iga vastava juhtumi korral. Juhul, kui leppetrahvi nõue on seotud Töö etapi puuduliku teostamisega ja
puudus ei sea ohtu lepingujärgse Töö tervikuna nõuetekohast üleandmist ei tohi leppetrahvi nõue
ületada 30% teostatud või töös oleva etapi maksumusest.
8.6. Poolte rahaline koguvastutus on piiratud Lepingu maksumusega, välja arvatud juhul, kui Pool rikkus
kohustust tahtlikult või raske hooletuse tõttu.
8.7. Pool peab teavitama teist Poolt leppetrahvi nõudest mõistliku aja jooksul arvates ajast, mil ta sai teada
leppetrahvi nõudmise õiguse tekkimisest. Leppetrahvi nõude esitamisel on Pool kohustatud märkima
mõistliku tähtaja leppetrahvi tasumiseks, tähtaeg ei tohi olla lühem kui 30 kalendripäeva. Pool on
kohustatud leppetrahvi tasuma nõudes märgitud tähtaja jooksul. Kui Poole hinnangul on leppetrahvi
nõue alusetu, on Pool kohustatud esitama oma vastuväited enne leppetrahvi tasumise tähtaega.
Leppetrahvi nõudmine ei mõjuta Poole õigust nõuda Poolelt nõuetekohase Töö või selle osa teostamist
ning kahju hüvitamist või kasutada muid seadusest tulenevaid õiguskaitsevahendeid. Tellija käsitleb
kahjuna ka projekti „Kasutajakeskse Ametlike teadaannete süsteemi loomine“ rakendamiseks antud
toetuse tagasimakse hüvitamist olukorras, mil tagasimakse on tingitud Täitja tegevusest/
tegevusetusest.
8.8. Lisaks leppetrahvi nõudele ja / või leppetrahvi asemel on Tellijal õigus nõuda Täitjalt Lepingu
mittenõuetekohasel täitmisel, et:
8.8.1. Täitja kõrvaldaks puudused, sealhulgas nõuda, et Täitja hangiks parema teenuse osutamiseks
vajalikud lisa- või asendusseadmed, -telekommunikatsioonid, -tarkvara ja teenused;
8.8.2. oluliste puuduste, samuti puuduste kõrvaldamise ebaõnnestumise korral nõuda, et Täitja teeks uue
Töö ja tarniks uued seadmed, telekommunikatsioonid ja tarkvara või keelduda vastuvõtmisest ning
Leping lõpetada;
8.8.3. võtta Täitja pakutud Töö vastu ning alandada vastavalt hinda;
8.9. Lepingust tulenevate leppetrahvide maksmine, samuti tekitatud kahju hüvitamine, ei vabasta Lepingut
rikkunud poolt Lepingujärgsete kohustuste täitmisest.
9. Standardid, liidesed ja ühilduvus
9.1. Täitja lepingujärgsete kohustuste täitmine ei tohi tekitada häireid Tellija mistahes teiste liidestatud
süsteemide talitluses.
9.2. Täitja garanteerib, et kõik seadmed, telekommunikatsioonid, tarkvara ja teenused on vastastikku
ühilduvad, funktsioneerivad ja töötavad standardite ja/või liideste vahendusel rahuldavalt koos
mistahes teiste lepingus sätestatud seadmete, telekommunikatsioonide, tarkvara ja teenustega
ning lepingus sätestatud keskkonnas.
9.3. Täitja ei muuda ilma Tellija eelneva kirjaliku nõusolekuta mistahes standardeid, liideseid,
sideprotokolle jms.
10. Dokumentatsioon
10.1. Lepingu täitmisel kaasneva dokumentatsiooni loomisel toetutakse dokumentatsiooniplaanile.
10.2. Täitja varustab Tellijat piisava ja adekvaatse dokumentatsiooniga, kaasa arvatud informatsioon
seadmete, telekommunikatsioonide ja tarkvara projekteerimise ja funktsioneerimise kohta, mis on
vajalik, et Tellija saaks seadmeid, telekommunikatsioone, tarkvara ja teenuseid efektiivselt
kasutada, hooldada, kohandada ja neile lisaseadmeid lisada.
10.3. Kõik juhendid ja muud dokumendid esitatakse eesti keeles, kui ei ole kokku lepitud teisiti.
10.4. Dokumentatsioon peab vastama tootele, sisaldama muudatusi ja olema terminoloogiliselt üheselt
mõistetav.
10.5. Dokumentide valmistamiseks ja levitamiseks kasutatakse paberkandjat või elektroonilist
infokandjat.
11. Üleandmine ja vastuvõtmine
11.1. Töö või Töö etapi valmimise järgselt annab Täitja selle Tellijale üle vastuvõtmiseks.
11.2. Täitja peab Tellijat Töö või Töö etapi üle andmise viivitusest või viivitusse sattumise ohust ja
põhjustest koheselt kirjalikku taasesitamist võimaldavas vormis informeerima. Kui Täitja viivituse
põhjustab Tellija, on Täitjal õigus nõuda mõistlikku ajapikendust ja põhjendatud lisakulude
hüvitamist.
11.3. Töö või Töö etapi üleandmise kohta koostab Täitja üleandmise akti, milles näidatakse muuhulgas
ära üleandmise kuupäev, teostatud Töö, osutatud teenuste, hoolduse ja tarnitud seadmete,
telekommunikatsioonide ja tarkvara detailiseeritud nimekiri ning vajaduse korral neis esinevad
puudused. Iga Töö etapi üleandmisel koostab ja esitab Täitja antud etapi kohta koostatud
dokumentatsiooni, vastavalt dokumentatsiooniplaanile või Tellija poolt tehnilises kirjelduses
esitatud nõudmistele.
11.4. Töö või Töö etapi üleandmine Tellijale ei ole käsitatav selle vastuvõtmisena Tellija poolt.
11.5. Täitjal on õigus nõuda ja Tellijal kohustus Töö vatsu võtta kui Töös on Täitja poolt kõrvaldatud kõik
järgmise prioriteediga vead: kriitiline/blocker, kõrge ja keskmine. Taolisel juhul lasub Täitjal
kohustus vaegtöödena madala ja väheolulise tähtsusega vead parandada Töö vastuvõtmise aktis
toodud ajaperioodiks.
11.6. Pärast Töö etapi üleandmist on Tellijal õigus Töö üle vaadata 10 tööpäeva jooksul. Pärast Töö
üleandmist on Tellijal õigus Töö üle vaadata 20 tööpäeva jooksul.
11.7. Juhul, kui Tellija leiab, et Töö ei vasta Lepingu tingimustele, on Tellija kohustatud teavitama Täitjat
Töös avastatud puudustest, keeldumisest Tööd enne puuduste kõrvaldamist vastu võtta ja
kirjeldama Töö puudused. Täitja on kohustatud puudused kõrvaldama 5 tööpäeva jooksul, kui
pooled ei ole kokku leppinud mõnda muud tähtaega. Töö puuduste kõrvaldamise kulud kannab
Täitja.
11.8. Enne töö üleandmist viib Täitja Töö nõuetelevastavuse kindlakstegemiseks läbi testid.
11.9. Täitja esitab Tellijale kõik tema poolt läbiviidud testide tulemusena valminud dokumentide koopiad.
11.10. Enne töö vastuvõtmist viib Tellija Töö nõuetelevastavuse kindlakstegemiseks läbi testid.
11.11. Kui Töö või mistahes Töö osa ei läbi teste, viiakse otsekohe pärast seda, kui Täitja on teinud
vajalikud korrektuurid testide edukaks läbiviimiseks, läbi kordustestid samadel tingimustel.
11.12. Tellija nõudmisel viib kordustestid läbi Täitja.
11.13. Parandatud Töö üleandmine toimub nagu esmakordsel üleandmiselgi.
11.14. Puudustega üle antud Tööd ei loeta tähtaegselt üleantuks ning Tellijal on õigus nõuda sellise
lepingurikkumise korral Täitjalt leppetrahvi Lepingus sätestatud korras ja määrades või rakendada
muid õiguskaitsevahendeid.
11.15. Vastuvõtmiseks valmis Töö peab vastama Lepingus sätestatud tingimustele. Töö etapi
vastuvõtmine Tellija poolt ei tingi ega kohusta Töö kui terviku vastuvõtmist Tellija poolt juhul, kui
Töö ei vasta tingimustele. Töö vastuvõtmise kohta koostab Tellija vastuvõtuakti, milles näidatakse
muuhulgas ära vastuvõtmise kuupäev, teostatud Töö, osutatud teenuste, hoolduse ja tarnitud
seadmete, telekommunikatsioonide ja tarkvara detailiseeritud nimekiri.
11.16. Töö või Töö etapp loetakse vastuvõetuks vastuvõtuakti allkirjastamisest või toodangukeskkonnas
kasutusele võtmisest. Juhul, kui Tellija on võtnud puuduseid sisaldava Töö või Töö etapi
toodangukeskkonnas kasutusele, loetakse vastuvõetuks ainult nõuetekohaselt teostatud tööd ja
Täitjal on õigus nimetatute osas esitada arve. Taolises olukorras esitab Tellija Täitjale Töös või Töö
etapis esinevate puuduste nimekirja ning puuduste kõrvaldamise tähtaja, kas enne Töö või Töö
etapi toodangukeskkonnas kasutusele võtmist või vahetult pärast selle toimumist.
11.17. Mistahes seadmete, telekommunikatsioonide, tarkvara ja teenuste osa valmimisel võib Tellija anda
välja vastuvõtuakti vastava osa kohta. Selline vastuvõtmine ei mõjuta Täitja kohustust täita kõiki
Lepingus ettenähtud kohustusi.
11.18. Täitja vastutab Töö juhusliku hävimise või kahjustumise eest kuni Töö vastuvõtmiseni Tellija poolt.
11.19. Täitja kohustub Tellija juhendamisel märgistama Töö enne selle üleandmist vastavalt õigusaktides
kehtestatud nõuetele (Vabariigi Valitsuse 12.05.2022. a määrus nr 54 „Perioodi 2021–2027
ühtekuuluvus- ja siseturvalisuspoliitika fondide vahendite andmisest avalikkuse teavitamine“).
11.20. Tellija kinnitab, et ta on teadlik asjaolust, et projekti „Kasutajakeskse Ametlike teadaannete süsteemi
loomine“ rakendamiseks antud toetuse saamiseks peab Töö vastuvõtmine olema fikseeritud
vastuvõtmisaktis ning kinnitatud juhtrühma poolt.
12. Koolitus
12.1. Täitja tagab Tellija personalile adekvaatse väljaõppe, kindlustamaks seadmete,
telekommunikatsioonide, tarkvara ja teenuste rahuldava ja efektiivse toimimise, vastavalt Lepingus
kokkulepitule.
12.2. Koolituse toimumise aeg, koht ja maht kooskõlastatakse eelnevalt Tellija kontaktisikuga.
13. Garantii
13.1. Täitja annab Tööle 6 (kuue) kuulise töövõtugarantii. Garantiiperiood algab Tööde kogumina
vastuvõtmisest.
13.2. Garantiiperioodil ilmnevad puudused kõrvaldab Täitja omal kulul, v.a punktis 13.6 toodud
juhtumitel. Kui ilmnenud puudused ei ole garantii korras kõrvaldatavad, esitab Täitja Tellijale
põhjendused kirjalikku taasesitamist võimaldavas vormis, kuid mitte hiljem kui järgmisel tööpäeval
pärast sellest asjaolust teada saamist.
13.3. Kui ei ole kokku lepitud teisiti, toimub garantiiliste puuduste üleandmine ja vastuvõtmine Lepingu
punktis 10 toodud regulatsiooni kohaselt.
13.4. Juhul kui garantiiperioodil ilmnenud puudused muudavad osa või kõik seadmed,
telekommunikatsioonid ja/või tarkvara kasutamiskõlbmatuks, varustab Täitja Tellijat nõutud
tasemel toimimise garanteerivate lisa- või asendusosade ja muu vajalikuga omal kulul.
13.5. Tellija informeerib Täitjat puuduse iseloomust ja ulatusest otsekohe selle ilmnemisel. Täitja on
kohustatud eemaldama ilmnenud puudused vastavalt lepingus toodule või Tellija poolt määratud
ajal.
13.6. Garantiiga ei ole hõlmatud:
13.6.1. puudused, mille tekkimise eest vastutab Tellija;
13.6.2. diagnostikaks kulunud aeg, juhul kui algselt garantii juhtumine registreeritud juhtumi raames
tuvastatakse, et tegu ei ole garantiilise juhtumiga. Vastav töö kuulub eraldi tasustamisele Lepingu
tunnihinna alusel.
13.7. Garantii kaotab kehtivuse kui Täitjaga kooskõlastamata on muudetud või muudetakse lähtekoodi,
v.a juhul kui Tellija suudab eristada lähtekoodis tehtavaid muudatusi.
14. Load ja litsentsid
14.1. Täitja vastutab ainuisikuliselt lepingu täitmiseks vajalike lubade ja litsentside saamise eest. Tellija
teeb Täitjaga mõistliku koostööd, hoidmaks ära selliste lubade või litsentside väljaandmise asjatut
viivitamist või väljaandmisest keeldumist.
14.2. Tellija võib ilma ette teatamata lepingu lõpetada, kui Täitja ei saa lepingu täitmiseks vajalikku luba
või litsentsi.
14.3. Täitja garanteerib, et tal on õigus anda Tellijale lepingu objektiks oleva tarkvara ja teiste autori- või
muude sarnaste õigustega kaitstavate esemete kasutamisõigus.
14.4. Täitja garanteerib, et nimetatud kasutusõiguse üleandmisega ei rikuta kolmandate isikute õigusi.
Juhul kui kolmas isik esitab oma õiguste rikkumise tõttu Tellija vastu hagi ning see rahuldatakse,
tasub Täitja võimalikud kahjuhüvitusnõuded, samuti õigusabikulud ja muud seonduvad kulud.
15. Riski üleminek
15.1. Juhusliku hävimise või kahjustumise risk läheb Tellijale üle töö vastuvõtmisel, samuti hetkel, mil
Tellija satub viivitusse toimingu tegemisega, millega ta töö üleandmisele peab kaasa aitama.
16. Intellektuaalne vara
16.1. Lepingu allkirjastamisega kinnitab Täitja Tellijale, et talle kuuluvad Lepingu täitmiseks vajalikud
varalised autoriõigused, litsentsid ja muud intellektuaalse omandi õigused, mis on tarvilikud
Lepingu järgse Töö täielikuks teostamiseks ja loovutamiseks ning, et nende suhtes ei ole
kolmandatel isikutel nõudeid.
16.2. Täitja kinnitab, et ta on võtnud tarvitusele kõik meetmed autori isiklike õiguste realiseerimiseks viisil,
mis ei takista ega raskenda teose kasutamist ja autori varaliste õiguste teostamist Tellija poolt.
16.3. Täitja annab spetsiaaltarkvarale Euroopa Liidu tarkvara vaba kasutuse litsentsi v.1.1 (EUPL).
Juhul, kui Töö üleandmine toimub etapiviisiliselt, siis loetakse litsents antuks iga etapi (teose)
vastuvõtmisel Tellija poolt.
16.4. Tellijal on muuhulgas õigus spetsiaaltarkvara (teose) autoriõiguste kehtivusaja jooksul:
16.4.1. teost kasutada mis tahes eesmärgil ja mis tahes viisil;
16.4.2. teost reprodutseerida;
16.4.3. originaalteost muuta ja luua teosel põhinevaid tuletatud teoseid;
16.4.4. teost või selle koopiaid üldsusele edastada, sealhulgas neid kättesaadavaks teha või
eksponeerida, samuti avalikult esitada;
16.4.5. teost või selle koopiaid levitada;
16.4.6. teost või selle koopiaid laenutada ja rentida;
16.4.7. anda all-litsentse teose või selle koopiate suhtes kehtivate õiguste kohta.
16.5. Täitja annab Tellijale spetsiaaltarkvara lähtekoodi, täitmiskoodi ja dokumentatsiooni kujul, mis
võimaldab Tellijal sellest aru saada.
16.6. Tellija võib levitada lähtekoodi ja täitmiskoodi ning dokumentatsiooni ja selle muudatusi mistahes
kolmandatele isikutele ja asutustele.
16.7. Kõik Täitja poolt Lepingu täitmise käigus koostatud dokumendid ja andmed kuuluvad Tellijale.
Täitja annab kõik nimetatud dokumendid ja andmed Tellijale üle.
16.8. Tellija võib spetsiaaltarkvara autoriõigusi teostada mistahes olemasolevas või hiljem loodud
keskkonnas, toel või formaadis.
16.9. Täitja tagab, et tema töötajad on loobunud Eesti seadusega lubatud ulatuses oma õigusest
teostada isiklikke õigusi, et Tellijale oleks võimalik vajalikke varalisi õigusi litsentsida.
16.10. Lepingujärgse tarkvarasüsteemi loomiseks kolmandatele isikutele kuuluvate komponentide
(tarkvara) kasutamise osas juhinduvad Pooled nende kasutamise litsentsitingimustest. Täitja
kinnitab, et eelistab tarkvara loomisel selliseid kolmandatele isikutele kuuluvaid komponente, mille
kasutamisega ei kaasne täiendavaid litsentsitasusid ega piiranguid tarkvara kasutamisel või
alllitsentside andmisel. Täitja on kohustatud Tellijat teavitama juhul, kui Täitja plaanib tarkvara
loomisel kasutada selliseid kolmandatele isikutele kuuluvaid komponente, mille kasutamine toob
Tellijale kaasa täiendavaid litsentsitasusid või piiranguid tarkvara kasutamisel. Ilma Tellija kirjaliku
nõusolekuta ei tohi Täitja tarkvara loomisel nimetatud komponente kasutada.
16.11. Nimetatud õigused kehtivad kogu autoriõiguste kehtivuse aja ja nende kehtivuse territooriumiks on
kogu maailm.
17 Personal
17.1 Lepingus kirjeldatud teenuseid osutavad Lepingus nimetatud isikud vastavalt Lepingus sätestatud
ülesannetele. Muudatusi tohib teha vaid Tellija kirjalikku taasesitamist võimaldavas vormis antud
nõusolekul.
17.2 Täitja asendab Töid teostava isiku viivitamatult Lepingu objekti täitmise seisukohast võrdväärse
kvalifikatsiooni ja kogemustega ning Tellijale vastuvõetava isikuga, kui:
17.2.1 Töid teostav isik ei ole võimeline teenuste osutamist jätkama haiguse, õnnetusjuhtumi või muu
temast tuleneva põhjuse tõttu;
17.2.2 lepingus nimetatud Töid teostav isik osutub Tellija põhjendatud arvamuse kohaselt lepingujärgsete
ülesannete täitmiseks ebakompetentseks või ebasobivaks või kui tema lepingujärgsete ülesannete
täitmine pidevalt kahjustab lepingu korrektset ja õigeaegset täitmist.
17.2.3 Isikul on kuriteo toimepanemise eest määratud kehtiv karistus.
17.3 Täitja kannab kõik punktis 17.2 nimetatud asendusest tulenevad või sellega kaasnevad kulud.
17.4 Töid teostavatel isikutel ei tohi olla kuriteo toimepanemise eest määratud kehtivat karistust.
17.5 Töid teostavad isikud ei tohi olla Tellija töötajad ega Tellija töötajaga seotud juriidilised isikud.
Seotud juriidiline isik tähendab käesoleva lepingu mõistes juriidilist isikut, mille juhtumis- või
kontrollorgani liige Tellija töötaja on või juriidiline isik, milles vähemalt 1/10 osalusest kuulub Tellija
töötajale.
18 Kolmandad isikud
18.1 Pooled võivad loovutada lepingust tulenevaid rahalisi nõudeid kolmandatele isikutele. Pooled on
kohustatud teineteist nõude loovutamisest viivitamatult kirjalikult informeerima.
18.2 Pooled ei või oma lepingujärgseid kohustusi anda üle kolmandale isikule ega kaasata oma
lepingujärgsete kohustuste täitmiseks kolmandat isikut ilma teise poole sellekohase selgesõnalise
kirjaliku nõusolekuta.Tellijal on õigus edastada või suunata Täitja poolt esitatud arve tasumisele
Tellijast erinevale hankijale nendevahelise koostöökokkuleppest tuleneval alusel juhul kui
vastavasisuline teavitus on Tellija poolt pakkumuse esitamise ettepanekus kajastatud.
18.3 Pooled vastutavad kõigi isikute eest, keda nad kasutavad oma lepingujärgsete kohustuste täitmisel.
19 Auditeerimine
19.1 Mõlemal poolel on õigus kaasata auditeerimiseks sõltumatu audiitor.Audiitori kaasamiseks ei ole
vajalik teise poole luba.
19.2 Audiitori isik ja muu auditeerimisega seotud asjaolud sätestatakse eraldi kokkuleppes.
Auditeerimise käigus avastatud probleemid tuleb registreerida ja vajaduse korral sisestada
probleemide lahendamise protsessi.
19.3 Täitja peab täpset arvet lepingu täitmisel töötatud kalendripäevade ja –kuude kompenseerimisele
kuuluvate kulude kohta. Audiitorile võimaldatakse piiramatu ligipääs nimetatud andmetele.
19.4 Audiitorit kaasanud pool tagab, et audiitor käsitleb saadud informatsiooni konfidentsiaalsena.
Vastutus jääb audiitorit kaasanud poolele.
19.5 Pärast andmete auditeerimist ja kontrollimist teeb audiitor järeldusotsuse, mis on lõplik.
19.6 Auditi kulud kannab auditi tellinud pool.
20 Õigustest loobumine
20.1 Kummagi poole mistahes viivitus, hoolimatus või keeldumine teist poolt lepingutingimuste täitmise
nõudmisel või muude nõuete esitamisel ei kujuta endast selle poole mistahes lepingujärgsetest
õigustest loobumist või nende tühistamist.
21 Konfidentsiaalsus ja isikuandmed
21.1 Täitja ei või oma lepingujärgseid kohustusi anda üle kolmandale isikule ega kaasata oma
lepingujärgsete kohustuste täitmiseks kolmandat isikut ilma Tellija sellekohase selgesõnalise
kirjaliku nõusolekuta.
21.2 Täitja on kohustatud:
21.2.1 tagama lepingu täitmise käigus Tellijalt ükskõik mis vormis saadud teabe (andmed,
tehingudokumentatsioonis ja lepingutes sisalduvad Tellija esindajate isikuandmed, know-how)
konfidentsiaalsuse ning ei edasta ega võimalda sellele teabele juurdepääsu kolmandale isikule
ilma Tellija sellekohase selgesõnalise kirjaliku nõusolekuta;
21.2.2 tagama lepingueelsete läbirääkimiste, lepingujärgsete kohustuste ja lepingu täitmise käigus
ükskõik mis vormis teatavaks saanud isikuandmete (v.a. tehingudokumentatsioonis ja
lepingutes sisalduvate Tellija esindajate isikuandmete) konfidentsiaalsuse ning ei edasta ega
võimalda nendele juurdepääsu ühelegi kolmandale isikule ilma Tellija sellekohase
selgesõnalise kirjaliku nõusolekuta;
21.2.3 ei edasta punktis 21.2.2 nimetatud isikuandmeid väljapoole Euroopa Liidu liikmesriikide ja
Euroopa Majandusühendusse kuuluvate riikide territooriumit ilma tellija sellekohase
selgesõnalise kirjaliku nõusolekuta;
21.2.4 kasutama ja töötlema punktis 21.2.2. nimetatud isikuandmeid üksnes Lepingu täitmiseks ja
Tellija dokumenteeritud juhiste alusel, välja arvatud juhul, kui täitja on kohustatud teavet
töötlema täitja suhtes kohalduva õiguse alusel. Viimati nimetatud juhul teavitab Täitja Tellijat
vastava kohustuse olemasolust enne teabe töötlemist, kui selline teavitamine ei ole olulise
avaliku huvi tõttu Täitja suhtes kohalduva õigusega keelatud;
21.2.5 võimaldab juurdepääsu punktis 21.2.2. nimetatud isikuandmetele ainult nendele isikutele, kellel
on selleks oma tööülesannete täitmiseks vajadus ning tagab, et need isikud on teadlikud ning
järgivad isikuandmete töötlemisalaseid nõudeid ja õigusakte, nad on saanud asjakohase
koolituse eelmainitud nõuete kohta, on võtnud endale konfidentsiaalsuskohustuse või neile
kehtib asjakohane seadusest tulenev konfidentsiaalsuskohustus. Vastav
konfidentsiaalsuskohustus jääb kehtima pärast käesoleva Lepingu lõppemist;
21.2.6 kohustub täitma kõiki kehtivaid isikuandmete töötlemisalaseid nõudeid, andmete turvalisust
puudutavaid ning isikuandmete kaitse alaseid Euroopa Liidu ja Eesti Vabariigi õigusakte ja muid
eeskirju.
21.2.7 kohustub rakendama järgmisi organisatsioonilisi, füüsilisi ja infotehnilisi turvameetmeid punktis
21.2.2. nimetatud isikuandmete kaitseks juhusliku või tahtliku volitamata muutmise; juhusliku
hävimise ja tahtliku hävitamise eest ning õigustatud isikule andmete kättesaadavuse
takistamise eest, volitamata töötlemise s.h. avalikustamise eest:
a) vältima kõrvaliste isikute ligipääsu isikuandmete töötlemiseks kasutatavatele seadmetele;
b) ära hoidma andmete omavolilist lugemist, kopeerimist ja muutmist
andmetöötlussüsteemis, samuti andmekandjate omavolilist teisaldamist;
c) ära hoidma isikuandmete omavolilist salvestamist, muutmist ja kustutamist ning tagama, et
tagantjärele oleks võimalik kindlaks teha, millal, kelle poolt ja milliseid isikuandmeid
salvestati, muudeti või kustutati või millal, kelle poolt ja millistele isikuandmetele
andmetöötlussüsteemis juurdepääs saadi;
d) tagama, et igal andmetöötlussüsteemi kasutajal oleks juurdepääs ainult temale
töötlemiseks lubatud isikuandmetele ja temale lubatud andmetöötluseks;
e) tagama andmete olemasolu isikuandmete edastamise kohta: millal, kellele ja millised
isikuandmed edastati, samuti selliste andmete muutusteta säilimise;
f) tagama, et isikuandmete edastamisel andmesidevahenditega ja andmekandjate
transportimisel ei toimuks isikuandmete omavolilist lugemist, kopeerimist, muutmist või
kustutamist;
g) pidama arvestust isikuandmete töötlemisel kasutatavate tema kontrolli all olevate
seadmete ja tarkvara üle, dokumenteerides järgmised andmed:
i. seadme nimetus, tüüp ja asukoht ning seadme valmistaja nimi;
ii. tarkvara nimetus, versioon, valmistaja nimi ja kontaktandmed.
21.2.8 teavitama tellijat toimunud või põhjendatult kahtlustatavast käesoleva lepingu punktis 21.2.1
ja/või 21.2.2 sätestatud konfidentsiaalsuskohustuse rikkumisest; punktis 21.2.7. ja selle
alapunktides a-g sätestatud turvameetmete rikkumisest, mis põhjustab, on põhjustanud või võib
põhjustada edastatavate, salvestatud või muul viisil töödeldavate isikuandmete juhusliku või
ebaseadusliku hävitamise, kaotsimineku, muutmise või loata avalikustamise või neile
juurdepääsu, kirjalikult viivitamata aga mitte hiljem kui kakskümmend neli (24) tundi pärast
sellest teada saamist. Teates tuleb vähemalt:
a) kirjeldada (Isikuandmetega seotud) rikkumise laadi, sealhulgas puudutatud
andmesubjektide liike ja arvu ning puudutatud kirjete liike ja arvu;
b) teatada andmekaitse töötaja ja tema kontaktandmed või muu kontaktpunkt, kust saab
lisateavet;
c) soovitada meetmeid (Isikuandmetega seotud) rikkumise võimalike negatiivsete mõjude
leevendamiseks;
d) kirjeldada (Isikuandmetega seotud) rikkumise tõttu andmesubjektidele tekkivaid tagajärgi
ja potentsiaalseid ohte;
e) kirjeldada täitja/või kolmandast isikust alltöötleja poolt välja pakutud või võetud meetmeid
(Isikuandmetega seotud) rikkumisega tegelemiseks ja
f) esitada muud teavet, mis on mõistlikult nõutav, et Tellija saaks täita Kohaldatavaid
andmekaitse õigusakte, sealhulgas riigiasutustega seotud teavitamise ja avaldamise
kohustusi, näiteks teavet, mis on nõutav andmesubjekti tuvastamiseks.
21.2.9 Tellija eelnevalt kirjalikul heakskiidul lõpetama käesoleva lepingu punktis 21.2.8.nimetatud
rikkumise ning kohaldama meetmeid (isikuandmetega seotud) rikkumise lahendamiseks,
sealhulgas vajaduse korral rikkumise võimaliku kahjuliku mõju kõrvaldamiseks ja
leevendamiseks;
21.2.10 kohustub lepingu lõppemisel kustutama kõik punktis 21.2.2. nimetatud isikuandmed ja
nimetatute koopiad 30 päeva jooksul, v.a juhul, kui õigusaktidest tuleneb teisiti;
21.2.11 teeb Tellijale kättesaadavaks kogu teabe, mida Tellija peab vajalikuks lepingus sätestatud
kohustuste täitmise tõendamiseks;
21.2.12 võimaldab Tellijal või Tellija poolt volitatud audiitoril teha auditeid ja kontrolle ning panustab
nendesse;
21.2.13 kohustub võimaluse piires asjakohaste tehniliste ja korralduslike meetmete abil punktis 21.2.2.
nimetatud isikuandmete osas Tellijal täita Tellija kohustust vastata taotlustele andmesubjekti
õiguste teostamiseks ning teostada nende õiguste teostamisest tulenevaid toiminguid (andmete
parandamine, sulgemine, kustutamine).
21.3 Käesoleva lepingu punktis 21.2.1. sätestatud konfidentsiaalsuse nõue ei laiene informatsiooni
avaldamisele täitja audiitorile ja advokaadile.
21.4 Käesoleva lepingu punktides 21.2.1. ja 21.2.2. sätestatud konfidentsiaalsuskohustuse nõue on
tähtajatu ning kehtib nii lepingu täitmise ajal kui ka pärast lepingu lõppemist.
21.5 Tulenevalt konfidentsiaalse informatsiooni laadist on tellijal õigus seada täiendavaid nõuded ja/või
juhised isikuandmete töötlemiseks.
21.6 Kõik käesoleva lepingu punktides 21.2.1. – 21.4 kohustused kehtestab täitja kõikidele
kolmandatele isikutele, keda ta kasutab oma lepingujärgsete kohustuste täitmisel. Kolmas isik on
füüsiline või juriidiline isik või riigi- või kohaliku omavalitsuse asutus, kes ei ole ei tellija ega ka täitja.
22 Avalikud suhted
22.1 Pooled ei tegele seoses lepinguga avalike suhetega ega anna teateid pressile, elektroonilisele
meediale, üldsusele või teistele auditooriumidele, välja arvatud teise poole eelneval kirjalikul
nõusolekul. Avaldada võib vaid teateid, mis on teise poolega eelnevalt kooskõlastatud.
22.2 Kõik eelnimetatud kohustused kehtestab pool ka kõigile kolmandatele isikutele, keda ta kasutab
oma lepingujärgsete kohustuste täitmisel.
23 Lepingu täitmise peatamine ja lepingu lõpetamine
23.1 Tellija võib peatada Täitjale lepingujärgselt makstavate summade maksmise kas osaliselt või
täielikult, kui:
23.1.1 Täitja ei täida Lepingut;
23.1.2 vastuvõtmise, testimise või auditeerimise käigus avastatakse puudusi või muid Täitja poolseid
kohustuste rikkumisi;
23.1.3 Tellija Lepingu järgsete kohustuste õigeaegset ja korrektset täitmist segab või ähvardab segada
muu asjaolu, mille eest vastutab Täitja.
23.2 Täitja võib peatada Tellijale teenuse osutamise kas osaliselt või täielikult, kui:
23.2.1 Tellija ei täida Lepingut;
23.2.2 Täitja Lepingu järgsete kohustuste õigeaegset ja korrektset täitmist segab või ähvardab segada
muu asjaolu, mille eest vastutab Tellija.
23.3 Tellija võib igal ajal Lepingu üles öelda, teatades sellest 1 (üks) kuu ette. Sellisel juhul on Täitjal
õigus nõuda tasu täidetud kohustuste eest.
23.4 Tellijal on õigus Leping erakorraliselt etteteatamata lõpetada Täitjapoolse olulise Lepingu rikkumise
korral. Lepingu lõpetamisel punktides 8.4 nimetatud juhtudel Täitja tehtud Tööd ei tasustata. Täitja
poolt tarnitud seadmed, telekommunikatsioonid ja tarkvara tagastatakse, selle võimatuse korral või
muul juhul, kui tagastamine on saadu olemuse tõttu välistatud, makstakse hüvitust
võlaõigusseaduses sätestatud korras.
23.5 Täitja võib Lepingu üles öelda Tellijapoolse olulise Lepingu rikkumise korral pärast vastava
hoiatuse saatmist, kui rikkumist ei ole kõrvaldatud 10 (kümne) tööpäeva jooksul peale hoiatuse
esitamist. Sellise Lepingu lõpetamise korral maksab Tellija Täitjale tasu täidetud kohustuste eest.
23.6 Lepingu lõppemisel on Täitja kohustatud Tellijale tagastama kõik Lepingu täitmiseks üleantu.
24 Vääramatu jõud
24.1 Lepingust tulenevate kohustuste mittetäitmist või mittenõuetekohast täitmist ei loeta Lepingu
rikkumiseks, kui selle põhjuseks oli vääramatu jõud. Vääramatu jõuna käsitlevad pooled
võlaõigusseaduse §-s 103 lg 2 nimetatud asjaolusid.
24.2 Pool, kelle tegevus lepingujärgsete kohustuste täitmisel on takistatud vääramatu jõu asjaolude
tõttu, on kohustatud sellest koheselt kirjalikult teatama teisele Poolele, esitades teavitusega ühes
tõendid kõigi järgnevate asjaolude esinemise kohta:
24.2.1 takistava asjaolu esinemine, mis takistab kohustuse kohast täitmist;
24.2.2 takistava asjaolu asetsemine väljaspool võlgniku mõjusfääri;
24.2.3 asjaolu ettenägematus;
24.2.4 asjaolu vältimatus ja ületamatus.
24.3 Vääramatu jõu asjaolude ilmnemisel pikeneb Lepingu lõpptähtaeg nimetatud asjaolude esinemise
perioodi võrra. Pool peab vääramatu jõu asjaolude äralangemisel Lepingut täitma asuma. Kui
vääramatu jõu asjaolude tõttu on Poole Lepingust tulenevate kohustuste täitmine takistatud enam
kui 60ne kalendripäeva võrra võib teine Pool öelda lepingu üles.
25 Kehtiv seadusandlus
Lepingule ning kõikidele lepingu osaks olevatele dokumentidele kohaldatakse Eesti Vabariigi
õigusakte.
26 Vaidluste lahendamine
26.1 Käesoleva Lepingu allkirjastamisega kinnitavad pooled, et on tutvunud ja on nõus Lepinguga ja
selle lisadega ning mõistavad täielikult enesele võetavate kohustuste sisu ning nende tagajärgi.
26.2 Lepinguga seotud või sellest tulenevate arusaamatuste või vaidluste puhul püüavad pooled leida
lahenduse heal tahtel põhinevate läbirääkimiste teel.
26.3 Kokkuleppe mittesaavutamisel lahendatakse vaidlus Harju Maakohtus.
Arendusleping nr 2/51-25
Lisa nr 2
PERSONAL JA KONTAKTANDMED
1. Tellija esindaja ja kontaktisikud
1.1. Tellija esindajaks tööde vastuvõtmise aktide, teadete jms lepinguga seonduvate dokumentide
allkirjastamisel on Registrite ja Infosüsteemide Keskuse avaliku õigusteabe tiimi tiimijuht Lii
Bergstörm (tel 5349 9801; e-post
[email protected]) või tema ametlik asendaja.
1.2. Tellija kontaktisikuks tööde teostamise juhendamisel ning Täitjale vajaliku lähteinformatsiooni ja
tööülesannete täpsustamisel jmt. on Registrite ja Infosüsteemide Keskuse avaliku õigusteabe tiimi
tiimijuht Lii Bergstörm (tel 5349 9801; e-post
[email protected]) või tema ametlik asendaja.
2. Täitja esindaja ja kontaktisikud
Täitja esindajaks ja kontaktisikuks on Indrek Järve (tel: 58058966; e-post
[email protected]).
3. Personali nimekiri
3.1. Tellija personal
Nr. Nimi Ametinimetus Kontaktandmed
1. Annika Remmelgas Süsteemianalüütik
[email protected]
2. Herstin Mäepea Testija
[email protected]
3.2. Täitja personal
Nr. Nimi Ametinimetus Kontaktandmed
1. Ivo Russak Süsteemiarhitekt
[email protected]
2. Mihhail Kööts Projektijuht -
3. Martin Vahtel Analüütik
[email protected]
4. Indrek Järve Programmeerija
[email protected]
5. Urmas Järve Testija -
4. Kontaktandmed
4.1. Tellija kontaktandmed on: 4.2. Täitja kontaktandmed on:
Registrite ja Infosüsteemide Keskus Osaühing Inversion Software
Reg. nr. 70000310 Registrikood 10827700
Lubja tn 4 Kaluri tee 8-25
19081 TALLINN 74001 Haabneeme alevik, Viimsi Vald
Telefon: 663 6300 Telefon: +372 58058966
Arendusleping nr 2/51-25
Lisa nr 3
TEHNILINE KIRJELDUS KOOS LISADEGA
Tehniline kirjeldus asub arenduslepingu asice konteineris eraldi faili(de)na.
Arendusleping nr 2/51-25
Lisa nr 4
PAKKUMUS
Pakkumus asub arenduslepingu asice konteineris eraldi konteinerina.
Arendusleping nr 2/51-25
Lisa 3
Tehniline kirjeldus
Ametlikud Teadaanded tehnoloogiline uuendamine
digipöörde raames (II etapp)
Tallinn 2025
Sisukord
Hanke eesmärk ja üldinfo ................................................................................................ 4
Hankelepingu alusel tellitavad tööd ................................................................................. 4
Riigilõivuga teadaande avaldamise protsess ............................................................... 4
Üldkirjeldus ............................................................................................................... 4
Praegune olukord (AS-IS) ......................................................................................... 4
Oodatav lahendus (TO-BE) ...................................................................................... 5
Nõuded ..................................................................................................................... 7
Pääsuke - keskne volituste haldamise infosüsteem ...................................................... 11
Üldkirjeldus ................................................................................................................ 11
Liitumine ja rollide haldamine Pääsukeses ................................................................ 11
Protsessijoonis ........................................................................................................... 12
Kasutuslood ............................................................................................................... 12
Nõuded ...................................................................................................................... 14
Pääsukese dokumentatsioon ..................................................................................... 23
Täiendavad funktsionaalsused ...................................................................................... 23
Üldkirjeldus ................................................................................................................ 23
Nõuded ................................................................................................................... 23
Logimise täiendamine ................................................................................................... 27
Üldkirjeldus ................................................................................................................ 27
Nõuded ................................................................................................................... 27
Keskne makselahendus (Everypay) .............................................................................. 29
Üldkirjeldus ................................................................................................................ 29
AS-IS ......................................................................................................................... 29
TO-BE ........................................................................................................................ 31
Nõuded ...................................................................................................................... 33
Andmetabelid ............................................................................................................. 36
Tekstid ....................................................................................................................... 39
Krediitkaardimaksed (EMTA) ........................................................................................ 40
2
Üldkirjeldus ................................................................................................................ 40
Nõuded ...................................................................................................................... 40
Andmetabelid .......................................................................................................... 52
Välised klassifikaatorid ........................................................................................... 54
Tagastatavad vead .................................................................................................... 57
Üldised vead ........................................................................................................... 57
Sisulised vead......................................................................................................... 59
Protsessijoonised ....................................................................................................... 64
Tekstid ....................................................................................................................... 65
Teenused ................................................................................................................... 66
cpgOrderInit......................................................................................................... 73
cpgOrderNotify .................................................................................................... 84
cpgOrderCancel .................................................................................................. 87
3
Hanke eesmärk ja üldinfo
Hanke teises etapis keskendutakse kasutajamugavuse parandamisele, eesmärgiga
muuta süsteemi kasutamine lihtsamaks, loogilisemaks ja ajasäästlikumaks.
Kasutajamugavuse tõstmine aitab vähendada pöördumiste arvu ning parandada teenuse
üldist rahulolu. Samuti täiendatakse süsteemi logimist ja monitooringut, et tuvastada
tehnilisi tõrkeid ning võimaldada kiiremat reageerimist juhtumitele ja nende
lahendamisele.
Hankelepingu alusel tellitavad tööd
Riigilõivuga teadaande avaldamise protsess
Üldkirjeldus
Ametlikes Teadaannetes saab teadaandeid avaldada autenditud isik, kellel on
esindatavaid. Esindatavad on isikud, kellele on ATs antud andmeandja alla avaldamis-
või esindusõigused või kes on Äriregistris andmeandja esindusõigusega isik.
Igale andmeandja liigile (äriühingud, KOVid jms) on määratud kindlad teadaande vormid,
mida neil on lubatud avaldada. Teadaandeid jaotatakse teavituse alusel kolmeks tüübiks
– teavitada üldsust, teavitada isikud ning teavitada üldsust ja isikut. Lisaks eristatakse
teadaandeid riigilõivu alusel – riigilõivuga või riigilõivuta teadaanded. Kõikide
teadaannete alused tulenevad seadusest.
Praegune olukord (AS-IS)
Ametlikes Teadaannetes on kasutusel kahte tüüpi teadaandeid – riigilõivuga ja riigilõivuta.
Riigilõivuga teadaannetel tuleb enne teadaande avaldamist valida makseviis –
pangalingi kaudu või panga ülekandega, ehk maksekorralduse alusel.
o Pangalingiga tasudes tuleb valida, millise panga kaudu riigilõivu tasuda
soovitakse. Riigilõiv tasutakse vastava pangalingi kaudu pangas. Pärast
tasumist suunatakse tagasi ATsse ja avaneb teadaande vorm väljade
täitmiseks. Pärast väljade täitmist tuleb vajutada nupule „Eelvaade“, kus
saab näha kuidas teadaanne täpselt välja nägema hakkab. Kui teadaandes
on vigu, saab „tagasi“ nupuga väljade täitmise vaatesse tagasi minna ja
vastavad parandused teha. Kui kõik on korrektne siis tuleb vajutada nupule
„Kinnitan ja avaldan“, pärast mida teadaanne läheb avalikuks (mõne minuti
jooksul).
o Pangaülekandega tasudes tuleb esmalt ära täita teadaande väljadega
vorm. Olenevalt teadaande liigist, saab mõnel juhul valida, kes tasub
riigilõivu – kas teadaande avaldaja või see kelle kohta avaldatakse. Pärast
4
väljade täitmist (ja riigilõivu tasuja valikut) tuleb vajutada nupule „Eelvaade“,
kus saab üle vaadata kuidas teadaanne täpselt välja nägema hakkab. Kui
teadaandes on vigu, saab „tagasi“ nupuga väljade täitmise vaatesse tagasi
minna ja vastavad parandused teha. Kui kõik on korrektne, siis vajutada
nupule „Kinnitan ja avaldan“. Pärast kinnitamist on teadaande staatuses
„ootel“, kuna riigilõiv pole tasutud.
„Ootel“ saki alt on leitav ka maksekorraldus, mille alusel riigilõiv tasuda.
Teadaande automaatseks avaldamiseks on riigilõivu tasudes kohustuslik
viitenumbri väljale vastav viitenumber sisestada. Ilma selleta teadaanne
automaatselt avalikuks ei lähe ning 30p pärast teadaanne tühistatakse.
Riigilõivuta teadaandel saab pärast teadaande vormi valimist kohe väljasid täita.
Kui väljad täidetud, tuleb vajutada nupule „Eelvaade“, kus näeb lõplikku versiooni.
Vigu märgates saab „tagasi“ nupuga väljade vaatesse tagasi liikuda ja vastavad
parandused teha. Kui eelvaates on kõik korras, tuleb teadaande avaldamiseks
vajutada nupule „Kinnitan ja avaldan“. Pärast seda läheb teadaanne avalikuks.
Joonis 1. Praegune olukord
Oodatav lahendus (TO-BE)
Kasutaja autendib end Ametlike Teadaannete lehele sisenedes esindaja rollis.
Teadaandeid avaldades on kahte tüüpi teadaandeid - riigilõivuga ja riigilõivuta.
Riigilõivuta puhul ei muutu midagi, jääb nii nagu praegu (AS-IS)
Riigilõivuga teadaande puhul kuvatakse lisaks tavapärastele teadaande
üldandmetele (avaldamise algus, pealiik, alaliik jne) ka teavitav tekst riigilõivu
maksmise kohta. Teavituses on kirjas, et riigilõivu tasumise valiku saab teha
peale teadaande kinnitamist. ("Muutunud on riigilõivu makseviisi valiku tegemise
järjekord - sobiva riigilõivu makseviisi valiku ja tasumise saab teha peale
teadaande täitmist ja kinnitamist.").
5
Kui teadaande väljad on täidetud, eelvaatega tutvutud ja avaldamine kinnitatud tuleb
riigilõivu tasumise valik:
1. Riigilõiv tasutakse pangalingi kaudu. Panga logole vajutades suunatakse
kasutaja panka ning pärast makse sooritamist tagasi ATsse. Teadaanne
avaldatakse süsteemi poolt automaatselt mõne minuti jooksul. Teadaanne on
staatuses „avaldatud“.
2. Riigilõivu tasumist soovitakse teha pangaülekandega maksekorralduse alusel.
Kasutajale kuvatakse makseviisi valiku all kaks järgnevat tingimust:
a. kui 30p jooksul riigilõivu ei tasuta, siis teadaanne tühistatakse
b. riigilõivu tasumisel on viitenumbri märkimine viitenumbri väljale kohustuslik
Joonis 2. Oodatav olukord
Kui teadaandes on lubatud riigilõivu tasumine suunata seotud isikule, saab seda nüüd
valida. Laadides alla maksekorralduse riigilõivu tasumiseks ning vajutada nupule
„Kinnitan ja avaldan“. Teadaanne jääb „ootel“ staatusesse, kuni süsteemi jõuab tasutud
riigilõiv. Pärast seda läheb teadaanne avalikuks ja staatus on „avaldatud“.
Kui teadaande avaldamisel soovib kasutaja avaldamise vaatest/lehelt lahkuda (k.a juhul
kui ei täideta ühtki välja):
küsitakse, kas soovitakse vorm salvestada või loobuda. Kui salvestatakse, siis
teadaanne jääb „töös“ staatusesse, kui ei, siis loobutakse ja mustandit ei
salvestata.
6
Nõuded
Nõude ID Nõude sisu Jira pilet
Teadaande avaldamise protsessis kuvatakse kasutajale protsessi
sammud. Iga sammu nimetus võetakse vastava lehe pealkirjast.
Aktiivne ehk hetkel avatud samm kuvatakse kasutajale rasvases
kirjas (boldina), et eristada see teistest sammudest visuaalselt.
Protsessi sammude komponent peab reageerima lehe muutumisele
RLTA-001 (nt kui kasutaja liigub sammule 2, siis peab aktiivne olek vastavalt
muutuma).
Näide komponendist:
Riigilõivuga teadaande avaldamise puhul kuvatakse lisaks
tavapärastele üldandmetele (avaldamise algus, pealiik, alaliik jne)
ka teavitav tekst riigilõivu maksmise kohta. Teavituses on kirjas, et
riigilõivu tasumise valiku saab teha peale teadaande kinnitamist (vt
näidet teavitusest).
Tekst lisatakse haldusesse nimetusega
RLTA-002
"avaldajale_teadaande_riigiloivu_teavitus" ja on muudetav
(Seaded → Tekstid → Süsteemsed tekstid).
"Muutunud on riigilõivu makseviisi valiku tegemise järjekord -
sobiva riigilõivu makseviisi valiku ja tasumise saab teha peale
teadaande täitmist ja kinnitamist."
Näide teavitusest:
7
AT-10
Riigilõivu tasumine toimub pärast teadaande vormi täitmist ja
RLTA-003
eelvaate kinnitamist. AT-122
Teadaande vormi täitmise kinnitamine toimub nupuga "Kinnitan ja
avaldan", mis viib riigilõivu makseviisi valimise vaatesse.
Näide riigilõivu makseviisi valimise vaatest:
RLTA-004
8
Kui kasutaja proovib lahkuda teadaande avaldamisel vormilt (nt
navigeerib mujale, sulgeb vahelehe, vajutab „Tagasi“ või mõne
muu navigeerimistoimingu), peab süsteem kuvama modaalakna,
kus küsitakse kasutajalt, kas ta soovib salvestada teadaannet
mustandina või mitte.
1. Kui kasutaja kinnitab salvestamise (valib „Salvesta“):
a. vormis sisestatud andmed salvestatakse andmebaasi;
b. teadaandele määratakse staatus „töös“;
c. kasutaja suunatakse soovitud sihtkohta.
2. Kui kasutaja keeldub salvestamisest (valib „Ära salvesta“):
a. vormilt sisestatud andmeid ei salvestata;
b. mustand (kui eksisteerib) kustutatakse andmebaasist
või jääb salvestamata;
c. kasutaja suunatakse soovitud sihtkohta.
RLTA-005 3. Kui kasutaja vajutab ristile, suletakse modaalaken ja
kasutaja jääb samale lehele.
Näide modaalaknast:
Kui kasutaja valib makseviisiks pangaülekande, kuvatakse
makseviisi all järgmine tekst:
RLTA-006 "Valides makseviisiks pangaülekandega, nõustute järgmiste
tingimustega:
Riigilõivu tasumisel on viitenumbri sisestamine kohustuslik.
9
Kui riigilõiv ei ole tasutud 30 päeva jooksul, tühistatakse
teadaanne automaatselt süsteemi poolt."
Näide tingimustest:
Tekst lisatakse haldusesse nimetusega
"avaldajale_teadaande_riigiloiv_pangaylekande_tingimused" ja on
muudetav (Seaded → Tekstid → Süsteemsed tekstid).
Süsteem peab saatma teadaande avaldajale e-posti teel
meeldetuletuse juhul, kui teadaandega seotud riigilõiv ei ole
tasutud ja tähtaja lõpuni on jäänud 7 päeva.
Tingimused:
1. Meeldetuletus saadetakse ühekordselt 7 päeva enne
tähtaega (enne 30p täitumist).
RLTA-007 AT-216
2. Meeldetuletust ei saadeta, kui riigilõiv on juba tasutud.
3. Meeldetuletuse sisu peab viitama tasumata riigilõivule ja
selgitama, et teadaanne tühistatakse, kui makset ei tehta.
(Muudetav halduses Seaded → Tekstid → E-kirjad
nimetus: riigiloiv_tasumata_teavitus_sisu)
4. Teadaanne ei ole avalik enne riigilõivu tasumist.
5. Meeldetuletus saadetakse, kas teadaande avaldajale või
isikule, kelle kohta teadaanne avaldatakse.
10
Süsteemi luuakse uus CRON töö. Töö käivitatakse üks kord päevas
iga päev kell 8 hommikul.
Teadaanded saab kätte järgneva päringuga:
SQL näide Expand source
//NAP_MEELDETULETUS_PAEVI = 23; SELECT at.id FROM
atis.teated at WHERE at.staatus_kl IN ('AD') AND
at.mig_kood IS NULL AND at.riigiloiv_arvega AND NOT
at.riigiloiv_makstud AND allkirjastamise_aeg < (now()
- '%s days'::interval) ORDER BY id ASC""" %
atisConf.NAP_MEELDETULETUS_PAEVI
Pääsuke - keskne volituste haldamise infosüsteem
Üldkirjeldus
Antud analüüs kirjeldab Pääsukese liidestumist Ametlike Teadaannete infosüsteemiga.
Ettevõtte ja asutuse esindajad saavad Pääsukesest keskse ülevaate tema poolt või talle
antud volituste kohta terves Eesti riigi infosüsteemis. Volitusi saab vaadata ja lisada ning
juba antud volitusi on võimalik muuta või eemaldada.
Liitumine ja rollide haldamine Pääsukeses
Pääsukese keskkondadega liitumiseks tuleb täita vastav liitumistaotlus ja saata see
allkirjastatult aadressil
[email protected]. Liitumistaotluse peab allkirjastama asutuse
esindusõigust omav isik. Kui taotluse allkirjastab volitatud isik, siis lisage taotlusele ka
volitus. Palume süveneda dokumentide täitmisesse ja kui teil tekib selle käigus küsimusi,
siis palume need saata
[email protected].
Edastada rollid Pääsukesele või lisada rollid Pääsukese halduses:
1. Esindaja:
a. lisada kasutajaid andmeandja alla
b. muuta kasutaja staatuseid (aktiivne, mitteaktiivne)
c. saab muuta enda kontakte
d. avaldada teadaandeid
2. Avaldaja:
11
a. saab muuta enda kontakte
b. avaldada teadaandeid
Protsessijoonis
Joonis 3. Pääsukese üldine kasutamise loogika näite põhjal, viide joonise asukohale:
https://github.com/e-gov/PH-sample-provider-python/blob/main/doc/sequence-diagram-
pr.png
Kasutuslood
Kasutuslugu 1: Esindusõiguse andmine Pääsukese abil
Väli Sisu
Pealkiri AT rolli andmine eesti.ee kaudu
Osalejad - Juriidiline isik (esindatav)
- Füüsiline isik (esindaja)
- eesti.ee
- Pääsuke
- AT süsteem
Eesmärk Juriidiline isik annab teisele füüsilisele isikule õigused
tegutseda AT-s ettevõtte/asutuse nimel.
12
Eeltingimused - Kasutaja on autenditud juriidilise isiku esindajana eesti.ee
lehel
- Kasutaja on volitatud andma esindusõigusi
- Füüsilise isiku isikukood on teada
Voog
1. Kasutaja logib sisse eesti.ee keskkonda.
2. Kasutaja avab volituste lehe ja tegutseb juriidilise
isikuna.
3. Kasutaja annab füüsilisele isikule isikukoodi abil
esindaja rolli.
4. Pääsukese teenus saadab esindatava ja esindaja
andmed päringuga AT-sse.
5. AT süsteem salvestab volituse andmed andmebaasi ja
tagastab eduka päringu vastuse.
6. Pääsukese teenus teavitab füüsilist isikut uuest
volitusest.
7. Kasutaja (füüsiline isik) logib AT süsteemi.
8. AT süsteem tuvastab kasutaja esindaja rolli ja kuvab
talle seotud juriidilise isiku ettevõtte vaate.
9. Kasutaja (füüsiline isik) saab teha toiminguid vastavalt
rollile.
10. Kasutusloo lõpp.
Kasutuslugu 2: Esindusõigusest loobumine Pääsukese abil
Väli Sisu
Pealkiri Füüsiline isik loobub talle antud ettevõtte volitusest ning
süsteem deaktiveerib tema rolli AT süsteemis.
Osalejad - Füüsiline isik (esindaja)
- eesti.ee
- Pääsuke
- AT süsteem
Eesmärk Füüsiline isik loobub talle antud esindusõigusest.
Eeltingimused - Kasutaja on autenditud füüsilise isikuna
13
Voog
1. Kasutaja logib sisse eesti.ee keskkonda.
2. Kasutaja avab volituste lehe ja tegutseb füüsilise
isikuna.
3. Kasutaja valib volituse, millest soovib loobuda ja
kinnitab loobumise.
4. Pääsukese teenus saadab volituse eemaldamise
päringu AT süsteemile.
5. AT süsteem tuvastab kasutaja ja ettevõtte seose ning
märgib andmebaasis vastava volituse mitteaktiivseks.
6. AT süsteem tagastab Pääsukesele eduka päringu
vastuse.
7. Kasutusloo lõpp.
Nõuded
Jira
Nõude ID Nõude kirjeldus
pilet
Üldised nõuded
AT- Juriidiline isik saab eesti.ee volituste veebilehel vaadata oma ettevõtte
PAASUKE- või asutuse kasutajaid, kellele on AT süsteemis määratud roll avaldaja
001 või esindaja.
AT- Juriidiline isik saab eesti.ee volituste veebilehel lisada või eemaldada
PAASUKE- oma ettevõtte või asutuse kasutajaid, kellele on AT süsteemis määratud
002 roll avaldaja või esindaja.
Füüsiline isik saab eesti.ee volituste veebilehe kaudu vaadata talle
AT-
antud rolle erinevate juriidiliste isikute (ettevõtete) esindajana, mis
PAASUKE-
võib olla antud nii AT süsteemis kui Pääsukeses. Füüsiline isik saab
003
nendest ka loobuda.
Esindusõiguse tähtaja lisamine
AT- Esindusõiguse taotlemise vormil saab märkida, kas taotlust esitatakse AT-
PAASUKE- tähtajatult või tähtajaliselt. Süsteem kuvab kasutajale kahte radio tüüpi 118 -
004 valikut: Esindu
14
Taotlen esindusõigust tähtajatult. (Vaikimisi valitud) sõigust
Taotlen esindusõigust tähtajaliselt. e
o Valiku tegemisel avanevad kuupäeva lahtrid, mis on tähtaja
kohustuslikud väljad. Alates kuupäeva lahter on määra
vaikimisi täidetud tänase kuupäevaga. mine
o Süsteem kontrollib kuupäeva valideerimist (nt Loodu
lõppkuupäev oleks pärast alguskuupäeva, alguskuupäev d
ei saa olla minevikus), vastasel juhul annab kasutajale
veateate, et kuupäeva valik ei ole korrektne.
o Vajadusel lisada abistav teksti, mis viitab sellele, et
kuupäeva lahtrid on kohustuslikud vt näitest.
Taotluse eelvaates ja halduri taotluse kinnitamise vaates süsteem kuvab
kasutaja valiku välja tekstina.
Vaikimisi valik tehtud:
Kasutaja valib teise valiku:
15
Taotluse eelvaates süsteem kuvab kasutaja valiku välja tekstina.
Halduri vaade
16
Andmetabelisse avaldamisoiguse_taotlused lisatakse uued andmeväljad:
on_tahtajatu - TRUE / FALSE (teksti kuvamiseks FEs, et
milline tekst), andmevälja kommentaar: Kas taotlus on esitatud
tähtajatult või mitte
esindusoiguse_kehtivus_alates - kuupäev (võib olla NULL),
andmevälja kommentaar: Esindusõiguse kehtivuse kuupäev
alates
esindusoiguse_kehtivus_kuni - kuupäev (võib olla NULL),
andmevälja kommentaar: Esindusõiguse kehtivuse kuupäev kuni
Esindusõiguse taotluse kinnitamisel halduri poolt salvestatakse kasutaja
taotluses tehtud valik (tabelisse atis.andmeandjad_kasutajad). Haldur
AT- taotluses olevaid kuupäevasid ise muuta ei saa.
PAASUKE-
005 Kui alguskuupäev on enne taotluse kinnitamist, süsteem seab
automaatselt alguskuupäevaks kinnitamise kuupäev ja muudab kasutaja
selle andmeandja all aktiivseks kohe.
17
Kehtivuse alguse/lõpu saabudes muudetakse kasutaja õigused
aktiivseks/mitteaktiivseks automaatselt süsteemi poolt. Süsteemi
luuakse uus CRON töö, mis iga päev kontrollib kehtivuse algust/lõppu
AT-
PAASUKE- ja muudab kasutajaid automaatselt (atis.andmeandjad_kasutajad.saatus
= 'M' / 'A').
006
Põhikäivitus: üks kord öösel – näiteks kell 00:05 (uue päeva sees, pärast
kuupäeva vahetust).
Esindusõiguse kehtivuse kuupäeva väljad kuvatakse ka avaldaja
lisamise ja muutmise vaates.
Kui kasutaja valib "Tähtajaline", siis avanevad kuupäeva lahtrid selle
alla.
Kui kasutajal on roll "esindaja", siis ta saab muuta teiste kasutajate
esindusõiguse kehtivuskuupäevi, kuid ei saa muuta enda
esindusõiguse kehtivuskuupäeva. Sellisel juhul peab kuupäeva
muutmise valik olema tema enda kirje puhul mitteaktiivne
(disabled).
AT-
PAASUKE- Alguskuupäeva muuta ei saa, saab muuta vaid lõpukuupäeva või muuta
007 kasutaja esindusõigus tähtajatuks.
Avaldaja lisamisel ja muutmisel
18
Kehtivuse mittemääramise korral saab kasutaja veateate:
Andmetabelisse andmeandjad_kasutajad lisatakse uued andmeväljad:
on_tahtajatu - TRUE / FALSE (teksti kuvamiseks FEs, et
milline tekst), andmevälja kommentaar: Kas taotlus on esitatud
tähtajatult või mitte
esindusoiguse_kehtivus_alates - kuupäev (võib olla NULL),
andmevälja kommentaar: Esindusõiguse kehtivuse kuupäev
alates
esindusoiguse_kehtivus_kuni - kuupäev (võib olla NULL),
andmevälja kommentaar: Esindusõiguse kehtivuse kuupäev kuni
Tehnilised nõuded
Swaggeri link: https://app.swaggerhub.com/apis/TUGI/x-road-services-consumed-by-
paasuke/1.0.5
AT-
Kui X-Road-UserId ja/või X-Road-Represented-Party väärtused on
PAASUKE-
mujalt Euroopa Liidust. Nt:
008
19
PT12345678 - Portugal
ITPTIT0123ZN4LFU - Italy
CY0123456789 - Cyprus
DE1D23DD4AF5A6DAE78901E2CE3EF45D6D7890BBA123
4FA56ADD789012E34567E8 - Germany
Tagastada tühi list [] mitte error.
AT Süsteemi tehtavatel päringutel on kaasas alati header väärtused:
X-Road-UserId - identifier of the user currently logged
in to Pääsuke (for example EE50001029996)X-Road-
Represented-Party - identifier of the person currently
being represented (for example EE11065244)
:warning: Header võib olla mõnel juhul tühi, kui Pääsukese süsteem
teeb automaatse protsessi päringud (endiste töötajate leidmine, kes ei
ole enam aktiivsed TÖR-is), kuid see ei ole veel implementeeritud
Pääsukeses aga sellega peaks arvestama, et võivad ka puududa.
AT süsteemile tehakse Pääsukese poolt läbi X-tee kaudu päring: GET
v1/representees/{representee}/delegates/mandates
(getMandatesByRepresentee)
Päringu töötlemisel:
süsteem kontrollib, kas esindatav {representee} eksisteerib AT
süsteemis (tabelist andmeandjad.kood). Kirje puudumisel
tagastab päringule vastuse tühja listina [];
AT-
süsteem tagastab esindatava all olevad hetkel või tulevikus
PAASUKE-
aktiivsed kasutajad, kellel on esindaja või avaldaja roll.
009
Mitteaktiivseid päringu vastusesse ei saada.
SELECT * FROM kasutajad WHERE id IN (SELECT kasutajad_id
from andmeandjad_kasutajad WHERE andmeandjad_id = (SELECT
andmeandjad_id FROM andmeandjad WHERE andmeandjad.kood =
{representee}) and staatus_kl = 'A')
Päringule vastus kujul:
[ { "representee": { //päringus oleva esindatava
andmed "type": "LEGAL_PERSON", "legalName":
"Väikefirma OÜ", "identifier": "EE10391131" },
20
"delegate": { //kasutaja andmed, kes saab esindada (AT
mõistes, kellel on roll esindaja/avaldaja selle
andmeandja all) "type": "NATURAL_PERSON",
"firstName": "Jüri", "surname": "Juurikas",
"identifier": "EE50001029996" }, "mandates":
[ //kasutaja roll { "role":
"ESINDAJA/AVALDAJA", //seda saab siis teada kuidas
eristatakse kui rollid on konfigureeritud Pääsukesesse
"subDelegable": false, "subDelegator":
{ //võimalik, et meil pole seda vaja saata aga
sisuliselt, see kes lisas kasutaja ATsse või Pääsukesesse
"type": "LEGAL_PERSON", "legalName":
"Raamatupidamisfirma OÜ", "identifier":
"EE23456789" }, "subDelegatorIdentifier":
"EE23456789", //isiku- või registrikood "links":
{ "delete": "/v1/nss/AT/representees/int-
1234/delegates/int-4567/mandates/string-mandate-
avaldaja", // lisada siia kasutaja_id + andmeandja_id +
rolli nimetus, "origin":
"https://ametlikudteadaanded.ee/" } } ] }
, { .... //teine kasutaja, representee on sama },
{ .... //kolmas kasutaja, representee on sama }]
AT süsteemile tehakse Pääsukese poolt läbi X-tee kaudu päring: GET
v1/delegates/{delegate}/representees/mandates
(getMandatesByDelegate)
Päringu töötlemisel:
süsteem kontrollib, kas {delegate} (tabelist kasutajad.isikukood)
on olemas süsteemis, kui puudub süsteemis, siis tagastada kohe
tühi list.
AT-
PAASUKE- süsteem tagastab, millistes ettevõtetes/asutustes sellel
010 konkreetsel kasutajal on avaldamis- või esindusõigus.
Päringu vastuse kuju:
[ { "representee": { //esindatava andmed "type":
"LEGAL_PERSON", "legalName": "Väikefirma OÜ",
"identifier": "EE10391131" }, "delegate":
{ //kasutaja andmed, kes on päringus "type":
"NATURAL_PERSON", "firstName": "Jüri",
"surname": "Juurikas", "identifier":
"EE50001029996" }, "mandates": [ //kasutaja roll
{ "role": "ESINDAJA/AVALDAJA",
21
"subDelegable": false, "subDelegator": { //kui on
volitatud kellegi teise poolt "type":
"LEGAL_PERSON", "legalName":
"Raamatupidamisfirma OÜ", "identifier":
"EE23456789" }, "subDelegatorIdentifier":
"EE23456789", "links": { "delete":
"/v1/nss/AT/representees/int-EE12345678/delegates/int-
EE38302250123/mandates/int-mandate-123",
"addSubDelegate": "/v1/nss/AT/representees/int-
EE12345678/delegates/int-EE38302250123/mandates/int-
mandate-123/subdelegates", //kui on esindaja roll, siis
lisada link "origin":
"https://ametlikudteadaanded.ee/" } } ] }
, { .... //teine esindatav ja roll }, { ....
//kolmas esindatav ja roll }]
AT süsteemile tehakse Pääsukese poolt läbi X-tee kaudu päring: PUT
/v1/representees/{representeeId}/delegates/{delegateId}/mandates/{
mandateId} (editMandate)
Pääsukese dokumentatsioonis märkus: Currently only deleting
(withdrawing or waiving) is allowed. :warning:
AT-
PAASUKE- Päringu töötlemisel:
011
süsteem kontrollib, kas {representeeId} (tabelist
andmeandja_kasutajad.andmeandja_id) ja {delegateId} (tabelist
andmeandja_kasutajad.kasutaja_id) eksisteerib
süsteem määrab antud kasutaja staatuse 'M' peale
Vea korral tagastada vastavalt veale teade.
AT süsteemile tehakse Pääsukese poolt läbi X-tee kaudu päring: POST
/v1/representees/{representee}/delegates/{delegate}/mandates
(addMandate)
AT-
PAASUKE- Kui kasutajal on esindaja roll, saab ta lisada teistele volitusi.
012
Päringu sisend:
{ "representee": { "type": "LEGAL_PERSON",
"legalName": "Väikefirma OÜ", "identifier":
"EE12345678" }, "delegate": { "type":
22
"NATURAL_PERSON", "firstName": "Jüri", "surname":
"Juurikas", "identifier": "EE38302250123" },
"mandate": { "role": "GLOBAL1_EMTA:ACCOUNTANT",
"canSubDelegate": false, "validityPeriod":
{ "from": "2028-01-01", "through": "2030-12-
31" } }, "authorizations":
[ { "userIdentifier": "EE49028099999",
"hasRole": "BR_REPRIGHT:SOLEREP" } ], "document":
{ "uuid": "5b72e01c-fa7f-479c-b014-cc19efe5b732",
"singleDelegate": true }}
Päringu töötlemisel:
süsteem kontrollib, kas {representeeId} (tabelist
andmeandjad.id)
o kui ei eksisteeri, tuleb lisada
süsteem kontrollib, kas {delegateId} (tabelist
andmeandja_kasutajad kasutaja_id) eksisteerib
o kui ei eksisteeri, tuleb lisada
Pääsukese dokumentatsioon
Pääsukese dokumentatsioon leitav järgnevalt lehelt: https://www.ria.ee/riigi-
infosusteem/kesksed-platvormid-avalike-e-teenuste-pakkumiseks/paasuke
Pääsukese prototüüp: https://paasuke.github.io/proto/#/ tuleb vajutada nupule "Sisene"
→ valida roll ja siis vaadata kellele, kuhu ja kuidas on volitused antud.
Täiendavad funktsionaalsused
Üldkirjeldus
Täiendavate funktsionaalsuste analüüs.
Nõuded
Nõude ID Nõude kirjeldus Jira pilet
Kui esindusõigust taotletakse esmakordselt andmeandja kohta AT-249 -
ja andmeandja andmeid ei ole veel AT süsteemis, siis süsteem Andmeandja
AT-TF-001 eeltäidab andmeandja andmed vormil (e-post, telefon, aadress) liik on ÄRist
ning täidab andmeandja liigi automaatselt Äriregistri andmete andmete
põhjal. Selleks süsteem leiab seose ÄR päringust parameetrilt laadimisel
23
oiguslik_vorm ja leiab vastava liigi tabelist küljes
atis.kl_andmeandjad_liigid.lyhend. Loodud
Kui lyhend puudub või ÄR ei tagasta midagi, siis liigi infot
automaatselt ei salvestata.
Seos andmeandja liigi ja andmeandja vahel on tabelis
atis.andmeandjad_kl_andmeandjad_liigid.
AT-215 -
Kui kasutaja valib sisselogides andmeandja, siis avatakse talle
Avaldaja
vaikimisi vaade "Kõik andmeandja teadaanded" (url lõpuga
algvaade
AT-TF-002 teated/andmeandja_teated). Kui soovib avada ainult tema
teadaande
koostatud teadaandeid, siis avab selle menüüst ise (Teadaanded
avaldamisel
→ Minu Teadaanded).
Loodud
Süsteem eristab halduri ja süsteemi automaatseid tegevusi.
Selleks luuakse haldusesse uus tekst "Ametlike teadaannete
süsteem", mis on muudetav ning kuvatakse arhiveeritud
teadaannete lõpetajana kui lõpetajaks on automaatne protsess
(CRON).
AT-TF-003 Pilt soovitud tulemusest:
AT-214 -
Esindusõigus
Süsteem võimaldab lisada mitu volikirja/dokumenti e taotlusel
AT-TF-004
esindusõiguse taotlusele. saab lisada
mitu volikirja
Loodud
24
AT-116 -
ÄR-ist
AT süsteem kontrollib iga päev Äriregistrist, kas ettevõte on kustutatud
staatuses "kustutatud". Kustutatud ühingu korral peab AT ettevõttel on
AT-TF-005
portaal avaldamis- ja esindamisõigusega isikud automaatselt AT-s
mitteaktiivseks muutuma. aktiivsed
esindajad
Loodud
AT süsteem kontrollib Äriregistrist äriühingu staatust ja kuvab AT-117 -
seda ka AT portaalis. Staatus salvestatakse andmebaasi ÄR-ist
tabelisse andmeandjad ning staatus salvestatakse teksti kujul. kustutatud
AT-TF-006 ettevõtte
Näide ÄR-ist: staatuse
muutmine
AT-s Loodud
Avaldamis- või esindusõigusega isikul peab olema iga AT-120 -
andmeandja all unikaalsed kontaktaandmeid ning nende Kasutajal on
muutmine ei mõjuta teiste andmeandjate all olevaid andmeid. iga
Lisaks peab olema võimalus andmeandja esindajal muuta andmeandja
AT-TF-007
andmeandja avaldaja/esindaja andmeid õigusi andes. all vajadusel
Eeltäidetud andmeid ei ole, v.a isikukoodi põhjal RRst päritud erinevad
ees- ja perekonnanimi. Muudatus ei mõjuta juba avaldatud või andmed
arhiivi kantud teadaandeid. Loodud
AT-119 -
Avaldamisõi
gusega isik ei
Avaldamisõigusega isik saab iseenda avaldamisõiguse
AT-TF-008 saa muuta
mitteaktiivseks muuta.
oma õigusi
mitteaktiivse
ks Loodud
25
AT-157 -
Lõpukuupäev
Avalehe otsingus lõpukuupäev ei tohi olla väiksem, kui alguse
saab olla
AT-TF-009 kuupäev - kuvab veateadet ("Lõpukuupäev ei tohi olla väiksem
varasem kui
kui alguse kuupäev.")
alguskuupäev
Loodud
AT-245 -
Teadaandes
väljade
Teadaande vormi väljale teksti asetades (copy-paste
täitmisel
AT-TF-010 funktsionaalsus) eemaldatakse tekstilt mittesobivad vormingud
eemaldatakse
automaatselt.
vorming/vale
formaat
Loodud
Otsingut saab teostada nii registrikoodi kui ka isikukoodi abil
AT-248 -
sobivatelt väljadelt ja tulevad ainult vastavad (õiged/täpsed)
Täpneotsing
tulemused välja. Sarnane lahendus, kui tellimuste
registrikoodi/
funktsionaalsuses juba kasutusel on. Lahendust rakendada nii
AT-TF-011 isikukoodi
rakendusse kui ka üle x-tee teenustes. Rakenduse lahenduseks
järgi
kasutada eraldi checkboxi, mis teeb ainult täpset otsingut. X-tee
otsimiseks
puhul lisada eraldi otsingu sooritamiseks parameeter, millele
Loodud
saab lisada kas registri või isikukoodi.
Üldiselt e-maili aadressi valideerimisel lubada pärast punkti
AT-SF-29
rohkem kui 6 tähemärki.
26
Logimise täiendamine
Üldkirjeldus
Logimine tuleb viia vastavusse nõuded arendustele.
Nõuded
Nõude ID Nõue
Kriitilised sündmused - sessiooni algamine ja lõppemine ning rolli
muutumine tuleb eraldi logida Graylogis.
NA-94 Kriitilised
Väliste rakenduste puhul tuleb logida kasutaja IP. Sessiooni
sündmused - sessiooni
võtmete väärtused, privaatvõtmed, kasutaja salasõnad ja muu info,
algamine ja lõppemine
mis võimaldab kasutaja isiku kindlakstegemist või on
ning rolli muutumine tuleb
andmekaitset ohustav ei või logisse jääda.
eraldi logida turvalogide
tabelis. Live jooksul oli mitu mure, mis selle nõudega seotud (vale IP
loeti välja, kasutaja logiti välja, aga logisse infot ei jõudnud
sellest).
Rakendus peab logima kõiki väliste süsteemidega vahetatavaid
(ka X-tee teenuste kaudu liikuvaid) pöördumisi
NA-95 - Rakendus peab andmevahetuslogisse.
logima kõiki väliste
süsteemidega vahetatavaid Parim vahend on Graylog, teine valik baas, kolmas valik on faili
(ka X-tee teenuste kaudu logimine. Peab olema võimalus antud logimist välise süsteemi
liikuvaid) pöördumisi kaupa sisse-välja lülitada. Logi peab olema struktureeritud
andmevahetuslogisse. selliselt, et päring ja vastus on eraldi failides. Logifaili asukoht
peab olema administraatori poolt ilma rakendust uuesti
kompileerimata seadistatav.
Rakendus peab logima kõiki rakenduses tekkivaid tehnilisi vigu.
NA-98 - Rakendus peab Logi peab sisaldama minimaalselt aega(timestamp), veakoodi, vea
logima kõiki rakenduses sisu (komponent, stack trace, traceback vms), kogu HTTP
tekkivaid tehnilisi vigu. päringut ja võimalusel kasutaja ID-d. Logimine peab olema
konfigureeritav rakenduse taaskäivituseta (sel juhul ei saaks
logide konfigureerimine käia enam läbi Kubernetese. ConfigMap
27
loetakse sisse podi käivitamisel, mis muutmise korral eeldaks
teenuse redeploy-d.)
Failisüsteemi logimise korral peavad logid olema katalogiseeritud,
tunnustatud faililaiendiga, roteeruvad.
Peab olema võimalus logimist välise süsteemi kaupa sisse-välja
NA-99 - Failisüsteemi lülitada. Failisüsteemi kausta ei teki rohkem kui 10000 faili. Peab
logimise korral peavad tagama, et iga rakendusserver saaks vajadusel kirjutada logid oma
logid olema logifaili. Logimine peab olema konfigureeritav rakenduse
katalogiseeritud, taaskäivituseta.
tunnustatud faililaiendiga,
roteeruvad. Kubernetese rakenduse puhul failisüsteemi logimist kasutama
otseselt ei pea, sest teenuse instantsi põhjal katalogiseerida ei
saaks, kuna instantsid võivad iga hetk kinni minna või juurde
tekkida. Erandina võib kaaluda üksikute logide (nt. X-tee
päringute) salvestamist eraldi failidena kuhugi võrgukettale.
Rakenduse logid peavad olema ühesuguse formaadiga,
masinloetavad ja täielikud.
NA-100 - Rakenduse logid Logiväljad, mida lõppkasutaja saab manipuleerida (IP, useragent,
peavad olema ühesuguse URL) peavad salvestuma logisse kodeeritud ja puhastatud kujul.
formaadiga, masinloetavad Igas logikirjes peab olema päringu unikaalne identifikaator. Kui
ja täielikud. parameetri väärtus on tühi, tuleb see logis märkida
asendusväärtusega “-”. Logi kuupäeva ja ajaformaat peab vastama
ISO 8601 standardile ja olema Eesti ajavööndis.
Logi tabelid peavad olema arhiveeritavad operatiivbaasist välja.
NA-101 - Logi tabelid
peavad olema Tabeli suurenedes peab olema võimalik hoida vanu kirjeid,
arhiveeritavad näiteks kuude või aastate kaupa, iseseisvates tabelites või teises
operatiivbaasist välja. baasis. Mehhanism peab töötama ka krüptoaheldatud logi korral.
28
NA-102 - Kui rakendus Kui rakendus kasutab või pakub väliseid teenuseid peab nende
kasutab või pakub väliseid kohta arvestust pidama.
teenuseid peab nende kohta
arvestust pidama. Peab kasutama statisikamoodulit või OpenTelemetry-t.
NA-104 - Rakendusel peab
olema masinloetav Rakendusel peab olema masinloetav staatusleht.
staatusleht.
Rakendus peab olema võimeline saatma logisid ELKi (Elastic
Stack).
Logimine peaks toimuma klastri tasemel, siis pole oluline, milline
backend seal taga on, kas Graylog, ELK, või midagi muud (see
AT-LOG-001 oleks siis OPSi ülesanne). Logimise backend ei tohiks olla
rakendusse sisse kirjutatud nagu hetkel Graylog on.
Logi peaks olema struktuurne, mis lahendadab ära mitmerealise
logi probleemi, kui see on klastri tasemel, siis read võivad liikuda
läbisegi, lisaks muu metainfo võib kaotsi minna.
Keskne makselahendus (Everypay)
Üldkirjeldus
Antud analüüs kirjeldab Everypay makselahenduse integreerimist, vt dokumentatsiooni:
https://support.every-pay.com/api-documentation/
AS-IS
Kõik pangalingid on eraldiseisvate lahendustena, mis nõuab iga makseviisi puhul eraldi
seadistamist. Kõik pangalingid on seadistatavad haldusest halduri rollis: Seaded →
Pangalingid.
29
Vajutades pangalogole suunatakse kasutaja kohe vastavasse panka maksma.
30
TO-BE
Kasutusele võetakse Everypay keskne makselahendus, kus halduse kaudu
seadistatakse Everypay keskkonda suunamise jaoks vajalikud andmed ning teadaande
avaldamise vaates makseviisi valiku "Pangalingid" tegemisel suunatakse kasutaja
Everypay keskkonda, kus kuvatakse vastavad pangad.
31
Valides makseviisiks pangalingiga ning vajutades nupule "Edasi", suunatakse kasutaja
Everypay maksekeskkonda ning kasutaja teeb panga valiku edaspidi seal.
32
Nõuded
Jira
Nõude ID Nõude kirjeldus
pilet
Teadaande avaldamise makseviisi valiku vaates kuvatakse makseviisi
ATEP-001
nimetusega "Pangalingiga".
Teadaande avaldamise vaates valides makseviisiks Pangalingiga ning
vajutades nupule "Edasi", suunatakse kasutaja Everypay
maksekeskkonda.
Detailne süsteemi kirjeldus
1. Kasutaja on teadaande avaldamise vaates ja valib makseviisi.
2. Kasutaja on valinud makseviisiks Pangalingiga ning vajutab
nupule Edasi.
3. Süsteem loob kirje atis.everypay_stamp_logi tabelisse (võib
ATEP-002 kasutada ka olemasolevat tabelit atis.panga_stamp_logi kui ei
ole vajalik eraldi tabelit luua)
a. id
b. session_id
c. user_ip
d. returl
e. teated_id
f. description
g. summa
h. valuuta
33
i. makse_aeg
4. Süsteem teeb päringu Everypay keskkonda
v4/payments/oneoff :
a. "structured_reference": 5705872,
b. "payment_description": "Ametlikud Teadaanded.
Teadaande avaldamine. Makse
'{atis.everypay_stamp_logi.id}'.",
c. "account_name": "EUR3D1",
d. "nonce": "165784ab51fkm",
e. "timestamp": "2023-12-05T10:27:32Z",
f. "amount": 0.05,
g. "order_reference": teadaande ID,
h. "request_token": true,
i. "token_agreement": "unscheduled",
j. "email": "
[email protected]", maksja e-mail
k. "phone_number": {
"country_code": 372,
"number": 7878419
},
l. "customer_ip": "53.62.137.190",
m. "customer_url": "https://example.com", kasutaja tagasi
naasmiseks AT-sse
n. "locale": "et/en",
o. "api_username": "a04e7ce1060e7024",
p. "preferred_country": "EE",
q. "mobile_payment": true/false,
r. "token_consent_agreed": true,
s. "integration_details": {
"integration": "Custom",
"software": "AT",
"version": 2.1
}
5. Süsteem saab päringule vastuse ja töötleb seda:
a. status 201 → suunata kasutaja tagastatavale URL-ile
payment_link
b. status 400 & 401:
i. Vt. teksti "Kasutajale kuvatav info, kui
pangalingiga maksma suundumisel ei saa
süsteem Everypay-st edukat vastust"
34
ii. Kasutuslugu liigub punkti 1
6. Kasutaja jälgib maksekeskkonnas juhiseid ja teostab
pangalingiga makse ning suundub tagasi AT-sse
7. Süsteem logib eduka makse andmed tabelisse
atis.everypay_maksed
a. makse info uuendamiseks päring
(v4/payments/{payment_reference})
8. Süsteem suunab kasutaja teadaannete vaatesse ja kuvab
kasutajale info makse staatuse kohta:
Vt. tekstid tabelist: "Tagastatav info makse staatuse kohta"
9. Süsteem loob eduka makse puhul makstud nõude NAP-i
10. Süsteem muudab teadaande avalikuks
Kasutaja maksab teadaande riigilõivu Everypay keskkonnas (valides
ATEP-003 ise sobiva panga), pärast edukat makset, naaseb Ametlikud Teadaanded
lehele ning teadaanne avaldatakse.
Halduse vaade
Everypay makselahendus on haldusest muudetav halduri rollis
ATEP-004 asukohaga: Seaded → Everypay makselahendus (Tekst muudetav
Seaded → Tekstid → haldus_everypay_pealkiri).
Kuvatakse halduri rollis olevale kasutajale järgnevad väljad ning kõik
on muudetavad:
Kas süsteem kasutab LIVE kontot? Rippmenüü JAH/EI
(atis.sys_everypay.is_live)
API kasutajanimi (atis.sys_everypay.api_kasutajanimi)
API salajane võti (atis.sys_everypay.api_salajane_voti)
TEST API kasutajanimi
ATEP-005 (atis.sys_everypay.test_api_kasutajanimi)
TEST API salajane võti
(atis.sys_everypay.test_api_salajane_voti)
API töötlemiskonto (atis.sys_everypay.api_tootlemiskonto)
Salvestatakse tabelisse atis.sys_everypay.
Andmed saab siit: Your API username and API secret can be found in
Merchant portal/General settings
35
Maksemeetodi nimi maksmise vaates võetakse haldusest halduri rollis
ATEP-006
Seaded → Tekstid → avaldajale_riigiloivu_everypay_valik
Kõik arenduse käigus lisatavad tekstid on muudetavad haldusest
ATEP-007
halduri rollis Seaded → Tekstid
Pangamakseid on võimalik näha haldusest Maksed → Panga maksed
ATEP-008
(olemasoleva loogika täiendamine uue maksekeskusega).
Haldur saab käsitsi NAP nõuet maksega siduda (Maksed → NAP
ATEP-009 Haldus) ning riigilõivuga teadaannetel kuvatakse "Pangalingi info"
blokk (olemasoleva loogika täiendamine uue maksekeskusega).
Andmetabelid
atis.everypay_maksed/atis.panga_maksed
Tunnus Tüüp Selgitus
stamp_logi_id integer Panga_stamp_logi primaarvõti.
session_id character varying(64) Süsteemi sessiooni võti.
user_ip/initial_amount character varying(20) Kasutaja IP aadress.
teated_id integer Teadaande primaarvõti.
summa/initial_amount numeric(12,2) Makstud summa
36
makse_aeg/transaction_time timestamp Makse teostamise aeg.
vk_snd_acc/debtor_iban character varying(20) Maksja kontonumber.
vk_snd_name/ character varying(100) Maksja nimi.
vk_t_date/payment_created_at character varying(20) Makse aeg (pangast).
vk_snd_id/payment_method character varying(20) Panga id.
selgitus/ob_payment_reference character varying(4000) Makse selgitus.
vk_ref/order_reference character varying(20) Makse viitenumber.
vk_rec_acc/creditor_iban character varying(20)
valuuta character varying(3) Makse valuuta.
atis.everypay_stamp_logi/atis.panga_stamp_logi
Tunnus Tüüp Selgitus
id integer Primaarvõti, määrab ATIS.
session_id character varying(64) Süsteemi sessiooni võti.
37
user_ip character varying(20) Kasutaja IP aadress.
returl character varying(1000) Tagasipöördumise URL.
teated_id integer Teadaande primaarvõti.
description character varying(4000) Kirjeldus
summa numeric(12,2) Makstav summa
valuuta character varying(3) Makse valuuta.
makse_aeg timestamp Makse aeg.
atis.sys_everypay
Tunnus Tüüp Selgitus
id integer Primaarvõti, määrab ATIS (kuigi siia ei saa üle id > 1 tulla,
salvestatakse alati üle) võib kaaluda ka mujale paigutamist
is_live boolean Kas kasutatakse päringu tegemisel LIVE või TEST andmeid
api_kasutaj character
animi varying(100
0)
38
api_salajan character
e_voti varying(100
0)
test_api_ka character
sutajanimi varying(100
0)
test_api_sa character
lajane_voti varying(100
0)
api_tootle character
miskonto varying(100
0)
Tekstid
Kõik tekstid on lisatud informatiivselt, et oleks aru saada, millist infot võiks kasutajale
kommunikeerida. Need võiks olla haldusest muudetavad.
Kasutajale kuvatav Süsteemis esines viga, proovige There was a system error, please try
info, kui Everypay uuesti. Kui probleem jätkub, again. If the problem persists, please
keskkonda valige muu makseviis või use a different payment method or
suunamine ei toimi. pöörduge klienditoe poole. contact customer support.
Pangalingiga nupu Pangalingiga Bank link
nimetus
Tagastatav info Süsteemi tekst kohalt
makse staatuse Süsteemi tekst kohalt avaldajale_avaldamine_onnestus
kohta avaldajale_avaldamine_onnestus (olemasolev tekst)
(olemasolev tekst)
39
Krediitkaardimaksed (EMTA)
Üldkirjeldus
Eesmärk on võimaldada kasutajal tasuda riigilõivu krediitkaardiga. Selle jaoks
kasutatakse EMTA maksemoodulit.
Kasutusloo põhivoog
1. Kasutaja on teadaande avaldamisel riigilõivu maksmise vaates ja valib
krediitkaardiga maksmise
2. Kasutaja tasub riigilõivu EMTA maksemoodulis kasutades krediitkaarti
3. Kasutaja ootab, kuni EMTA maksemooduli poolt tuleb teavitus, et riigilõiv on
tasutud
4. EMTA maksemoodul suunab tagasi AT lehele
5. Süsteem kuvab kasutajale õnnestunud teavitust ja teadaanne muutub avalikuks
Nõuded
Jira
Nõude ID Nõude kirjeldus
pilet
Üldised nõuded
Süsteem kuvab teadaande avaldamisel riigilõivu maksmise vaates
krediitkaardiga makseviisi. Makseviisi nimetus on haldusest muudetav
(Seaded → Tekstid → Süsteemsed tekstid).
AT-CC-
001
40
Valides krediitkaardiga maksmise ning vajutades nupule "Edasi" suunatakse
kasutaja maksemooduli keskkonda riigilõivu tasuma.
Detailne süsteemi kirjeldus
Süsteemi kirjeldus:
1. Kasutaja on teadaande koostamisel makseviisi valiku vaates
ning valib krediitkaardiga maksmise ja vajutab nupule "Edasi"
2. Süsteem kontrollib, kas eksisteerib loodud
(maksemooduli_tellimused.seisund='L') tellimus, mis on seotud
teadaande ID-ga, kui pole, jätkub kasutuslugu punktist 3, kui
tellimus on olemas, punkt 2.a.
a. Süsteem kontrollib tellimuse riigilõivu summat
(maksemooduli_tellimused.summa) ja aegumise aega
(maksemooduli_tellimused.aegub)
i. Riigilõivu summa on korrektne ja tellimuse
aegumiseni ei ole liiga vähe aega - kasutuslugu jätkub
AT-CC- punktist 6
002 ii. Riigilõivu summa ei ole korrektne või tellimuse
aegumiseni on liiga vähe aega:
1. Tühistame tellimuse kasutades
cpgOrderCancel teenust:
a. Süsteem edastab cpgOrderCancel
sõnumi:
i. cpgOrderCancelRequest/Id -
atis.maksemooduli_tellimused.
tellimuse_id
b. Süsteem töötleb päringu vastuse:
i. Päring oli edukas:
1. Edukaks loetakse
päring, kui vastuses on
tühi
cpgOrderCancelRespon
se element või vastati
http staatus 204
(Tellimus antud
identifikaatoriga ei
41
eksisteeri või on juba
tühistatud.)
2. atis.maksemooduli_telli
mused.tellimuse_seisun
d_kl väärtuseks
seatakse 'X'
3. Tegevus jätkub
kasutusloo punktis 3
ii. Päring ei olnud edukas:
1. Timeout:
a. Laseme
tellimusel
aeguda ja loome
uue tellimuse
b. Tegevus jätkub
kasutusloo
punktis 3
2. Vastuses on HTTP
staatus 409,
TyhistamineKeelatud
(CancellingNotAllowe
d) - olukord, kus
tellimus on "Pooleli"
seisundis:
a. Laseme
tellimusel
aeguda ja loome
uue tellimuse
b. Tegevus jätkub
kasutusloo
punktis 3
3. Muu viga:
a. Laseme
tellimusel
aeguda ja loome
uue tellimuse
b. Tegevus jätkub
kasutusloo
punktis 3
42
3. Süsteem loob kirje atis.maksemooduli_tellimused tabelisse:
a. tellimuse_id - NULL
b. teadaande_id - Teadaande ID
c. tellimuse_seisund_kl - 'U'
d. loodud - NULL
e. aegub - NULL
f. lopetatud - NULL
g. summa - Riigilõivu nõude summa
h. valuuta - Rigiilõivu nõude valuuta, 'EUR'
i. viitenumber - Teadaande riigilõivu nõude viitenumber
j. link - NULL
k. noue_edastatud - false
4. Süsteem edastab EMTAle cpgOrderInit päringu:
a. Id - ei edasta, tellimuse unikaalne tunnus, genereeritakse
EMTA maksemooduli poolt
b. State - ei edasta tellimuse viimane seisund, esimene
võimalik seisund, millega ka vastatakse meie poolsele
päringule, oleks Loodud ('Created')
c. Description - maksekorralduse selgitus (kuvatakse maksjale
tasumise protsessi käigus EMTA maksemoodulis).
i. Ametlikud Teadaanded. Teadaande avaldamine.
Makse '{atis.maksemooduli_tellimused.id}'. NB!
Selgitus tuleb anda kolmes erinevas keeles.
d. Created - ei edasta, tellimuse loomise kuupäev ja aeg
maksemoodulis
e. Finished - ei edasta, tellimuse täitmise/tühistamise kuupäeva
ja aeg maksemoodulis
f. Expires - ei edasta, väli, mille kaudu Kaupmees saab
määrata aega, milleks tellimus peab olema täidetud. Kui
element puudub, tellimuse kehtivus on määratud vastavalt
globaalsetele seadmetele (EMTA sõnul on toodangus neil
vaikimisi 15min)
g. Amount - atis.maksemooduli_tellimused.summa
h. Currency - atis.maksemooduli_tellimused.valuuta
i. PaymentMethods
i. PaymentMethod
1. Code - hetkel alati 'creditcard'
2. Brokers - Ei edasta
a. Broker - Ei edasta
43
i. Code - Ei edasta
ii. Url - Ei edasta
j. Merchant
i. Id - kaupmehe unikaalne tunnus EMTA
maksemoodulis Ei edasta
ii. Name - kaupmehe nimi EMTA maksemoodulis
'Tuleb küsida mis nimetus EMTA poolt on'
iii. Stamp - atis.maksemooduli_tellimused.id Infoks:
Tellimuse tunnus. Kaupmehe poolt etteantud
ostukorvi identifikaator, mille abil kaupmees saab
siduda maksemooduli kirje ja kirje oma
infosüsteemis.
1. Märkus: Kui Kasutaja on suunatud ümber
tagasi Kaupmehe juurde peale tellimuse
täitmist, Kaupmehe poolt väljastatud
tellimuse number peab olema talle kuvatud.
iv. Notes - Ei edasta
k. Customer
i. Code - Edastame andmeandja registrikoodi või
isikukoodi (maksja andmed)
ii. Email - Edastame andmeandja e-posti aadressi või
isiku e-posti aadressi (kui e-posti aadressi pole, ei
edasta)
iii. Country - 'EE' juhul, kui edastame Code, vastasel
juhul ei edasta
iv. Language - vastavalt portaali keelele 'et'/'en'
v. ReferenceNumber -
atis.maksemooduli_tellimused.viitenumber
l. Callback - Märkus: Callback on vabatahtlik grupp, kui
URL-id on Kaupmehe ja e-MTA Maksemooduli poolt on
ette lepitud. Kaupmees peab ette andma Maksemoodulile
vähemalt 1 redirect ja vähemalt 1 notify URL. Toetatud on
placeholder ${id}. Maksemoodul asendab selle enda poolt
määratud tellimuse identifikaatoriga (x-Tee teenuse vastuses
olev element "order.id")
i. Redirect - atis.maksemooduli_tellimused.callback
Selgitus: URL, kuhu suunatakse maksja brauser
eduka tehingu sooritamisel. URLile lisatakse
tellimuse tunnus.
44
ii. Notify
1. Method - hetkel alati 'xroad', selgitus:
teavitamise meetod: get, post, xroad
2. url - Ei edasta, vabatahtlik, kui meetod on
xroad
m. Links - Maksevormi aadress(id) Ei edasta
n. Payments ← Ei edasta. Puudub välise / x-Tee teenuse puhul.
Kasutusel Maksemooduli Backoffice jaoks.
5. Süteem töötleb EMTAlt tulnud cpgOrderInit päringu vastuse:
a. Vastuses puudub fault sektsioon - süsteem uuendab andmeid
atis.maksemooduli_tellimused tabelis, kus
atis.maksemooduli_tellimused.id=cpgOrderInitResponse/Or
der/Merchant/Stamp:
i. tellimuse_id - cpgOrderInitResponse/Order/Id
ii. tellimuse_seisund_kl -
cpgOrderInitResponse/Order/State
iii. loodud - cpgOrderInitResponse/Order/Created
iv. aegub - cpgOrderInitResponse/Order/Expires
v. lopetatud - cpgOrderInitResponse/Order/Finished
(kui väli on täitmata või puudub, siis NULL)
vi. maksevormi_url -
cpgOrderInitResponse/Order/Links/Link/Href
b. Vastuses eksisteerib fault sektsioon:
i. Vt. teksti "Kasutajale kuvatav info, kui
krediitkaardiga maksma suundumisel ei suuda
süsteem luua EMTA MMis tellimust"
ii. Kasutuslugu liigub punkti 1
c. Saame timeout:
i. soovitame proovida uuesti ja pöörduda kasutajatoe
poole või valida teine makseviis, kui probleem jätkub
ii. atis.maksemooduli_tellimused tabelit ei uuendata ←
vajalik, sest tellimus võidi siiski luua ning hiljem on
võimalik selle alusel tellimus kokku viia, kui meid
teavitatakse tellimuse seisundi muutusest (nt. tellimus
aegub)
6. Süsteem suunab kasutaja EMTA maksemoodulisse, kasutades linki,
mis on atis.maksemooduli_tellimused.maksevormi_url väljal
7. Kasutaja jälgib maksemoodulis juhiseid ja teostab krediitkaardiga
makse ning suundub tagasi AT-sse
45
8. Süsteem pärib taustal tellimuse andmed cpgOrderGet päringuga
a. Id - atis.maksemooduli_tellimused.tellimuse_id (tuleb
tuvastada õige tellimus, st. tuleb arvestada, et korraga võib
teadaandega olla seotud mitu tellimust)
9. Süsteem kontrollib päringu vastusest tellimuse staatust:
a. Kui punktis 8 on staatus 'P' või 'L', siis luua uus nõude kirje
(vt nap_add_noudeinfo())
i. teadanne jääb staatusega 'pooleli', taustatöö käib
hiljem automaatselt kontrollimas, kas staatus muutub
(või haldur teeb seda käsitsi) ning kui saabub
laekumine, seotakse nõue sellega ja alles seejärel
teadaanne avaldatakse ja uuendatakse
atis.maksemooduli_tellimused.noue_edastatud
väärtus true
b. Kui punktis 8 on staatus 'T' ehk 'completed', siis luua uus
nõude kirje ja siduda kohe laekumisega ning avaldada
teadaanne koheselt (teadaande staatus AD ja uuendatakse
atis.maksemooduli_tellimused.noue_edastatud väärtus true)
c. Kui punktis 8 on staatus 'X', siis nõuet ei looda, tellimuse
staatus muudetakse vastavalt ning teadaanne jääb 'töös'
staatusesse (kasutaja saab soovi korral uuesti maksma minna
ja luuakse uus tellimus)
4. Tuleks täiendada cron_nap_checker.py -
cron_nap_checker.py kontrollib NAP-st tasuliste
teadaannete riigilõivude laekumist.
10. Süsteem suunab kasutaja teadaannete vaatesse ja kuvab kasutajale
info tellimuse staatuse kohta:
a. Vt. tekstid tabelist: "Tagastatav info tellimuse staatuse
kohta"
Süsteem muudab teadaande avalikuks (staatusega 'AD') kui krediitkaardi
tellimuse staatuseks saab 'T' ehk 'completed' ning nõue on seotud
laekumisega.
AT-CC-
003 Senikaua kui laekumist ei ole tulnud, on teadaanne staatuses "ootel".
Riigilõivu tulpa kuvatakse teksti "Ootel, krediitkaardiga". Vajutades nupule
"Tühista" tühistatakse tellimus Maksemoodulis cpgOrderCancel teenusega
vt nõuet AT-CC-002 punkt 2a1
46
Näide:
Taustatööd
Süsteem võtab EMTA-lt vastu tellimuste staatuse uuendusi. EMTA MM
teavitab kasutades cpgOrderNotify teenust, kui mõne tellimuse staatus on
muutunud. (Ei ole kindel, et EMTA seda teeb võibolla peab lahendama
tellimuste uuendamise ainult nõudega AT-CC-005)
Detailne süsteemi kirjeldus
1. EMTA saadab sõnumi cpgOrderNotifyRequest, kus on täidetud väli
cpgOrderNotifyRequest/id
2. Süsteem kontrollib, kas sellise ID-ga tellimus on meil olemas
(atis.maksemooduli_tellimused.tellimuse_id=cpgOrderNotifyReque
st/id)
a. Tellimus on olemas:
i. Süsteem saadab vastuseks cpgOrderNotifyResponse
sõnumi, mille keha (body) sisu on:
AT-CC- <tns:cpgOrderNotifyResponse/>
004 b. Tellimust pole:
i. Süsteem saadab vastuseks cpgOrderNotifyResponse
sõnumi, millel on täidetud Fault element:
1. faultcode - 'soap:Server'
2. faultstring - 'Order not found with id: (request
päringus edastatud
cpgOrderNotifyRequest/id)
3. Süsteem lisab kirje atis.krediitkaardi_teavitused tabelisse (või
uuendab olemasoleva töötlemata kirje teavituse_aeg väärtust - võib
tekkida olukorras, kus meid teavitatakse, kuid nemad ei saa teavituse
kinnitamise sõnumit kätte):
a. tellimuse_id - cpgOrderNotifyRequest/id
b. teavituse_aeg - now()
c. toodeldud - false
d. vastus - NULL
e. saatmise_kordi - 0
47
f. viga - NULL
Kuna EMTA teavitab meid tellimuse seisundi muudatusest cpgOrderNotify
teenust kasutades, aga ei anna kaasa uut seisundit, ega tellimuse info, tuleb
eraldi pärida tellimuse infot. Selle jaoks kasutame teenust cpgOrderGet.
Lisaks kontrollitakse, et tellimuse andmed oleksid korrektsed (viitenumbri
ja tellimuse vastavus) ning et tellimus oleks üldse meie oma. Kui tegemist
on kahtlase tellimuse infoga, salvestame vea ja sellega tuleb juba edasi
kästisi tegutseda.
1. Otsitakse välja tellimused, mille seisundi muudatusest on meid
teavitatud (atis.krediitkaardi_teavitused.toodeldud is false)
2. Otsitakse välja tellimused, mille seisund on L või P
3. Päritakse tellimuste info cpgOrderGetRequest päringuga:
a. Id - atis.krediitkaardi_teavitused.tellimuse_id
4. Töödeldakse vastus:
a. saatmise_kordi väärtus seatakse 1 võrra suuremaks
b. Kui vastuseks saadi viga:
i. logitakse see atis.krediitkaardi_teavitused.viga väljale
ja liigutakse edasi järgmise kirje juurde
ii. Liigutakse edasi järgmise kirje juurde
c. Kui vastuseks ei saadud viga, kontrollitakse, et eksisteeriks
kirje ja viitenumber oleks korrektne vastavalt
cpgOrderGetResponse sisule
i. Ei eksisteeri kirjet, kus
atis.maksemooduli_tellimused.id =
Order/Merchant/Stamp või leitud tellimuse
atis.maksemooduli_tellimused.viitenumber ei ole
sama, mis Order/Customer/ReferenceNumber: Seda
olukorda ei saa tekkida, sest pärime ainult
olemasolevate tellimuste infot
1. atis.krediitkaardi_teavitused.vastus väljale
salvestatakse cpgOrderResponse - tegemist on
mingi suurema veaga ning automaatselt
töödelda ei tasu (nt. on alust arvata, et pole
meie loodud tellimus)
2. atis.krediitkaardi_teavitused.toodeldud
seatakse true
ii. Kirje eksisteerib ning viitenumber on korrektne:
48
1. uuendatakse atis.maksemooduli_tellimused
kirjet:
a. tellimuse_seisund_kl - Order/State
b. lopetatud - Order/Finished
c. summa - Order/Amount (summa ja
valuuta peaksid olema alati samad,
kuid igaks juhuks on mõistlik seda
infot uuendada, et meil oleks tasutud
summa osas täielik kindlus -
kontrollime seda enne, kui lubame
avalduse menetlusse)
d. valuuta - Order/Currency
e. atis.krediitkaardi_teavitused.toodeldud
seatakse true
2. Lisatakse riigilõivu tabelisse kirje
5. Otsitakse välja tellimused, mille tellimuse_seisund_kl='T' ja
noue_edastatud is false
6. Edastatakse riigilõivu info punktis 5 leitud tellimuste kohta
kasutades NAP-i edastamise teenust:
a. Tuli viga :
i. uuendatakse
atis.maksemooduli_tellimused.noue_edastatud
väärtus true
b. Päring oli edukas - uuendatakse
atis.maksemooduli_tellimused.noue_edastatud väärtus true
Süsteemi perioodiline taustatöö kontrollib pooleli jäänud
krediitkaardimakseid cpgOrderGet meetodiga (sisendisse tellimuse_id).
Uuendab tellimuste staatuseid vastavalt tabelis atis.klassifikaatorid olevatele
seisunditele.
AT-CC-
005
Nt juhtum, kus kasutaja on läinud maksemooduli keskkonda, kuid back
nupuga tagasi tulnud või lihtsalt sulgenud kõik aknad, siis tellimus jääb
meie tabelisse alles kui staatusega 'L', sellises olukorras on vaja aegunud
tellimused tühistada süsteemi poolt automaatselt.
AT-CC- Süsteemi perioodiline taustatöö kontrollib kui tellimus on saanud staatuseks
006 'T' ehk completed, siis saadetakse makstud nõue NAPi. Eduka saatmise
49
puhul uuendatakse atis.maksemooduli_tellimused.noue_edastatud väärtus
true.
Halduri vaade
Halduri rolli vaates lisada NAP haldusesse "Maksemooduli andmed" blokk
(AT → Halduri roll → Maksed → NAP Haldus → Riigilõivud →
Maksemooduli andmed). Blokki kuvatakse ainult juhul kui makseviisiks on
krediitkaart (atis.teated tabelisse luua uus tulp riigiloiv_krediitkaardiga
true/false).
AT-CC-
007 Kui makseviis on krediitkaart, siis kuvada järgnevaid tingimusi:
Kas on riigilõiv krediitkaardiga? True/False
"Tühista" e. cpgOrderCancel teenus - nuppu kuvatakse ainult siis,
kui tellimuse staatus on "L" (loodud).
"Uuenda" e. cpgOrderGet teenus - nuppu kuvatakse alati tellimuse
taga
50
Logimine
Eesmärk on, et võimalikult paljud tegevused oleks logitud.
Logida järgnevaid tegevusi:
1. Tellimuse info värskendamine tabelisse atis.sys_maksemoodul_logi:
a. Iga kord, kui süsteem teeb cpgOrderGet päringu, tuleb logida
AT-CC-
see maha (kas siis värskendamine on halduri poolt välja
008
kutsutud või taustaprotsessi):
i. makse_mooduli_tellimused_id -
atis.maksemooduli_tellimused.id, mille infot
püütakse värskendada
ii. aeg - now()
iii. tegevus - 'sync'
51
iv. teade:
1. eduka värskendamise korral 'Tellimuse
staatus uuendatud: (vana_vaartus) →
(uus_vaartus)'
2. teenuse vea korral soapfault, tagastatud viga
või timeout
3. üleüldine viga - stacktrace, et oleks võimalik
viga hiljem tuvastada
2. Riigilõivu info edastamine (täiendada olemasolevat loogikat, mis
logib tabelisse atis.sys_xtee_log_nap)
Andmetabelid
Luuakse uus tabel atis.maksemooduli_tellimused, kus hoiame tellimuste infot.
Veeru nimetus Andmetüüp Selgitus Märkused
id bigint PK
teate_id bigint FK atis.teated.id
tellimuse_id text maksemooduli poolt loodud näidis infoks: e1656999-
tellimuse identifikaator 01b8-46c5-b453-
9ca7039785ea
tellimuse_seisu text FK klassifikaatorid.kood (NOT tellimuse seisund
nd_kl NULL)
loodud datetime maksemoodulis tellimuse
loomise aeg
aegub datetime maksemoodulis tellimuse
aegumise aeg
lopetatud datetime maksemoodulis tellimuse
lõpetamise aeg
summa numeric(15,2) tellimuse summa riigilõivu nõude summa
valuuta text tellimuse valuuta peaks olema alati EUR
viitenumber text tellimuse viitenumber
52
maksevormi_url text Maksemooduli link, kuhu
kliendi suuname, et ta saaks
tellimuse eest tasuda
noue_edastatud boolean kas tellimuse kohta on nõue info
edastatud MT-sse (default
väärtus = false)
Luuakse uus tabel atis.krediitkaardi_teavitused, kus hoiame teavituste infot. Lisaks kasutab tabelit
taustaprotsess, mis uuendab teavitatud tellimuste andmeid. (Võibolla pole vajalik seda tabelit
luua)
Veeru nimetus Andmetüüp Selgitus Märkused
id bigint PK
tellimuse_id text Tellimuse
identifikaator
maksemoodulis
teavituse_aeg datetime Aeg, millal
MM teavitas
meid tellimuse
seisundi
muutusest
toodeldud boolean Bit
indikeerimaks,
kas teavituse
põhjal on
tellimuse
andmed
uuendatud
vastus text Tellimuse info Esialgne idee,
päringu vastus, salvestada kogu
kui on alust tellimuse info, kui on
arvata, et alust arvata, et
tegemist pole tegemist ei ole meie
meie loodud loodud tellimusega.
tellimusega Enamus juhtudel
NULL
53
saatmise_kordi int Mitu korda on Siin võiks olla ka max
püütud arv kordi, mitu korda
teavituse infot üritame ühe
pärida konkreetse tellimuse
kohta infot pärida
viga text Teavituse info
pärimisel
tekkinud viga
Täiendatakse tabelit klassifikaatorid järgnevate seisunditega:
tabel_veerg ko nimetus_e nimetus_en keht
od st g ib
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_ L loodud created true
KL
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_ P pooleli pending true
KL
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_ T täidetud completed true
KL
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_ X tühistatud cancelled true
KL
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_ U loomisel under true
KL creation
Välised klassifikaatorid
Tellimuse staatused
Välja on toodud tellimuse võimalikud staatused. Lisatud ka meie baasi koos täiendustega.
created Loodud
Tellimuse identifikaator on loodud e-MTA Maksemooduli poolt.
Tellimuse staatus "Loodud" tekib kui Tellija vajutab ostukorvis
"Siirdu maksma" (või sama tähendusega nupule) ning Kaupmees
kasutab teenust "Tellimuse algatamine".
54
Tellimus jääb "Loodud" staatusse seni kui Tellija / Maksja poolt on
valitud makseviis.
Alternatiivvoog: kui tellimus oli täidetud, kuid kõik sellega seotud
maksed on annulleeritud (tellimuse summa täisulatuses), tellimus
läheb tagasi staatusele "Loodud".
Kui tellimuse on "Loodud" staatuses, sellega ei ole seotud ühtegi
pooleli / sooritatud makset.
pending Pooleli
Tellimus on "Pooleli" staatuses sellest hetkest, kui Maksja valib
makseviisi. Teda suunatakse ümber vastava Vahendaja URLi.
Alternatiivvoog: kui tellimus oli täidetud, kuid mõned sellega seotud
maksed on annulleeritud (kuid mitte tellimuse summa 100%
ulatuses), tellimus läheb tagasi staatusele "Pooleli".
Kui tellimuse on "Pooleli" staatuses, sellega on seotud üks või
rohkem pooleli / sooritatud makseid, kuid tellimuse summa ei
ole makstud 100% ulatuses.
completed Täidetud
Tellimuse eest on makstud 100% ulatuses.
cancelled Tühistatud Tellimus on olnud Kaupmehe poolt tühistatud
Tellimusega seotud makse on olnud Vahendaja poolt tagasi
lükatud
Makse on aegunud. Maksjal on võimalus olla suunatud tagasi
ostukorvi ning proovida maksta uuesti; antud juhul, kui nupp
"Siirdu maksma" on vajutatud, uus Makse tunnus (Id) on
loodud e-MTA Maksemooduli poolt
Tellimus on tühistatud e-MTA Maksemooduli poolt.
55
Kõik tellimusega seotud maksed on olnud annulleeritud
(cancelled)
Makse staatused
Välja on toodud makse võimalikud staatused. Meie baasi eraldi vaja pole, sest maksete infot ei
edastata meile.
pending Pooleli
Makse on "Pooleli" staatuses sellest hetkest, kui Maksja valib
makseviisi. Teda suunatakse ümber vastava Vahendaja URLi.
Märkus: Makse ei või olla "Loodud" staatuses.
complete Sooritatud Makse on olnud edukalt sooritatud
d
cancelled Tühistatud a) Makstamata aegunud või b) sooritatud ja hiljem annuleeritud
makse
Makse/tellimuse tühistamise põhjused
Välja on toodud makse/tellimuse võimalikud tühistamise põhjused. Tegemist pigem informatiivse
infoga, sest meie usaldame täielikult EMTA poolset teavitust, et laekumine on tasutud - infot
maksete kohta eraldi meile ei edastata.
cancelReason Kirjeldus Selgitus
refuse Katkestatud Makse katkestatud Maksja poolt (ehk ta vajutab nuppu
"Tagasi ostukorvi").
expired Aegunud
timedout_broker Aegunud Sessioon on aegunud. Vahendaja poolne sessiooni
(Vahendaja piirang on ületatud.
poolt)
nullified Tühistatud Makse on tühistatud E-MTA Maksemooduli poolt.
error Viga Makse ei ole sooritatud ega lõpetatud. Soovi korral
Maksjal on võimalus proovida uuesti.
56
declined_{Vahend Tagasi lükatud Makse on olnud Vahendaja poolt tagasi lükatud. Siia
aja error code} alla tulevad erinevad Vahendaja poolt antud põhjused,
miks makse ei olnud edulakt sooritatud.
Tagastatavad vead
Üldised vead
cpgOrderInit üldised vead
Vea
HTTP Vea
nimi Kirjeldus Veateade EE Veateade EN
status nimi EE
EN
Kahjuks, Teiega ei
ole seotud ühtegi
Antud
kehtiva lepingut või
Kaupmehe
piirang
ga ei ole Unfortunately there are no
makseviiside
seotud payment methods associated
kuvamiseks on
makseviise with You or You have
lisatud Teie poolt.
Maksevi või e-MTA restricted those available to
Palun vaadake üle
isiPuudu noMet Maksemoo You. Please revise payment
400 omapoolseid
vadVõiP hods duli poolt method restrictions imposed by
makseviiside
iiratud lubatud You and / or contact CPG in
kitsendusi või/jah
makseviisi order to determine whether
võtke ühendust
d on Your agreement is valid and /
CPG-ga, et
piiratud or to sign / renew it
kontrollida oma
Kaupmehe
lepingu kehtivust ja
poolt.
/ või sõlmida /
uuendada lepingut.
Kasutaja ei
ole
autenditud.
Teenust saab
Viga
Unaut kasutada ainult Authentication is required and
Autenti tekkib kui
401 horize edukalt has failed or has not yet been
mata token on
d autentifitseeritud provided
määramata
kasutaja
või
kaupmehe
id või
57
parool ei
ole
korrektne
Kasutajal
puuduvad
õigused
selle
päringu Teil ei ole õigusi
Keelatu Forbi You do not have the rights to
403 teostamise antud toimingu
d dden perform this operation.
ks. Antud teha.
tellimus ei
ole antud
Kaupmehe
ga seotud.
Vaikimisi
Sisestamisel on
veateate,
kui viga ei tekkinud viga!
Viga Error An error occured.
ole õigesti Palun minge tagasi
konfigureer ja proovige uuesti.
itud.
cpgOrderCancel üldised vead
Vea
HTTP Vea nimi
nimi Kirjeldus Veateade EE Veateade EN
staatus EN
EE
Kasutaja ei ole
autenditud. Viga Teenust saab
Authentication is
tekkib kui token on kasutada ainult
Autenti Unauthoriz required and has
401 määramata või edukalt
mata ed failed or has not yet
kaupmehe id või autentifitseeritu
been provided
parool ei ole d kasutaja
korrektne
You do not have
Keelatu Kasutajal puuduvad Teil ei ole the rights to
403 Forbidden õigused selle õigusi antud
d perform this
toimingu teha.
päringu operation.
58
teostamiseks. Antud
tellimus ei ole antud
Kaupmehega
seotud.
The payment for
Antud tellimus this order has
Antud tellimuse
Tyhista Cancelling on juba töös already been
seisund ei ole
409 mineKe NotAllowe ning selle started, so the order
lubatud
elatud d tühistamine ei is not subject to
tühistamisele.
ole lubatud. cancelling any
more.
Tellimust, mida
Telimu Antud tellimuse The order that you
Teie soovite
404 seIdPuu NotFound identifikaatorit ei are trying to cancel
tühistada, ei
dub eksisteeri. does not exist.
eksisteeri.
Tellimus antud The order that you
Tellimus antud
identifikaatoriga are trying to cancel
Tellimu identifikaatoriga ei
204 ei eksisteeri või either does not exist
s eksisteeri või on
on juba or has already been
juba tühistatud.
tühistatud. cancelled.
Vaikimisi veateate,
kui viga ei ole
400 Viga Error Viga. An error occured.
õigesti
konfigureeritud.
Sisulised vead
cpgOrderInit sisulised vead
Välja on toodud EMTA poolsed sisulised kontrollid ja nende poolsed vead teenusele cpgOrderInit
- tellimuse loomine.
Maha on tõmmatud kontrollid, mis meile ei tohiks rakenduda ning punaseks on tehtud kontrollid,
mille osas tuleb täpsustada.
Kontroll Kirjeldus Reegel
59
Kontrollib, et tellimuse algatamise päringus
Kohustuslik Summa eksisteerib.
eksisteerib nõutud maksmisele summa.
Kontrollib, et tellimuse algatamise päringus
Kohustuslik Valuuta eksisteerib.
on määratud valuuta.
Kontrollib, et tellimuse algatamise päringus
Eestikeelne selgitus Kaupmehelt
Kohustuslik on antud eestikeelne tellimuse selgitus
eksisteerib.
Kaupmehelt.
Vabatahtlik Kontrollib, et tellimuse algatamise päringus
Inglisekeelne selgitus
(Kohustuslik on antud inglisekeelne tellimuse selgitus
Kaupmehelt eksisteerib.
(TKT jaoks) Kaupmehelt.
Vabatahtlik Kontrollib, et tellimuse algatamise päringus
Venekeelne selgitus Kaupmehelt
(Kohustuslik on antud venekeelne tellimuse selgitus
eksisteerib.
(TKT jaoks) Kaupmehelt.
Kui Kaupmees on TKT IS või
Tollikassa, viitenumber on antud.
Kontrollib, et tellimuse algatamise päringus
Tingimusliku on antud viitenumber (kui Kaupmehega (Vaata Väärtuste
lt kohustuslik kokkuleppe järgi viitenumber peab olema definitsioonid#4.Kaupmehed -
antud). kõik TKT või Tollikassaga
seotud kaupmehed, sh test).
Kui Kaupmehe seadetes ei ole
Kontrollib, et tellimuse algatamise päringus
Tingimusliku URL ümbersuunamiseks
on antud URL ümbersuunamiseks, kui see ei
lt kohustuslik määratud, see peab olema antud
ole ettemääratud Kaupmehe seadetes.
tellimuse algatamisega.
Kui Kaupmehe seadetes ei ole
Kontrollib, et tellimuse algatamise X-tee meetod teavitamiseks x-Tee
Tingimusliku
päringus on antud meetod teavitamiseks, kui kaudu määratud, siis x-Tee
lt kohustuslik
see ei ole ettemääratud Kaupmehe seadetes. päringu puhul see peab olema
antud tellimuse algatamisega.
Kui Kaupmehe seadetes ei ole
Kontrollib, et tellimuse algatamise päringus
URL teavitamiseks GET
Tingimusliku on antud URL teavitamiseks GET
meetodiga määratud, see peab
lt kohustuslik meetodiga, kui see ei ole ettemääratud
olema antud tellimuse
Kaupmehe seadetes.
algatamisega.
60
Kui Kaupmehe seadetes ei ole
Kontrollib, et tellimuse algatamise päringus
URL teavitamiseks POST
Tingimusliku on antud URL teavitamiseks POST
meetodiga määratud, see peab
lt kohustuslik meetodiga, kui see ei ole ettemääratud
olema antud tellimuse
Kaupmehe seadetes.
algatamisega.
Kontrollib, et kui tellimuse algatamise Kui tellimuse algatamise
Tingimusliku päringus on antud Tellija registrikood, päringus on antud Tellija
lt kohustuslik sellega koos peab olema antud registrikoodi registrikood, sellega peab olema
väljastajariik. antud koodi väljastajariik.
Kontrollib, et kui tellimuse algatamise Kui Tellija registrikoodi
Tingimusliku päringus on antud Tellija registrikoodi väljastajariik on antud,
lt kohustuslik väljastajariik, sellega koos peab olema antud registrikood peab ka olema
Tellija registrikood. antud.
Kontrollib tellimuse summa formaadi ja
Formaat decimal (15 märki, 2 komakohti)
pikkust.
Kontrollib, kas tellimuse summa on suurem,
Formaat Summa on suurem, kui 0.
kui 0.
Kontrollib, et tellimuse valuuta on lubatud
Formaat Lubatud väärtus: "EUR"
töötlemiseks.
Kontrollib, et tellimuse valuuta on määratud Valuuta koodi pikkus on kolm
Formaat
lubatud formaadis. A-z tähemärki.
Kontrollib Kaupmehe tellimuse eestikeelse
Formaat string (max 75)
selgituse formaadi kõrrektsust.
Kontrollib Kaupmehe tellimuse inglisekeelse
Formaat string (max 75)
selgituse formaadi kõrrektsust.
Kontrollib Kaupmehe tellimuse venekeelse
Formaat string (max 75)
selgituse formaadi kõrrektsust.
Kontrollib Kaupmehe poolt lubatud
Võimalikud variandid: Väärtuste
Formaat makseviise väärtuste korrektsust (kui need
definitsioonid#1.Makseviisid
on üldse ette antud).
61
Võimalikud variandid: Väärtuste
Kontrollib Kaupmehe poolt lubatud definitsioonid#2.Vahendajad.
maksevahendaja väärtuste korrektsust (kui
Formaat
need on üldse ette antud) ja maksevahendaja Võimalikud variandid: Väärtuste
lubatud seoseid antud makseviisidega. definitsioonid#3.Makseviisideva
hendajad
Kui Kaupmees on TKT IS või
Tollikassa, lubatud pikkus on 10
tähemärki:
string (max 10)
Kontrollib Kaupmehe poolt antud tellimuse
Formaat (Vaata Väärtuste
numbri formaadi korrektsust. definitsioonid#4.Kaupmehed -
kõik TKT või Tollikassaga
seotud kaupmehed, sh test)
muud kaupmehed: string (max
128)
Kontrollib Kaupmehe poolt antud Tellija
Formaat registrikoodi formaadi ja pikkust (kui see string (max: 20)
element on antud).
ISO 3166-1 alpha-2 standardi
Kontrollib Kaupmehe poolt antud Tellija järgi.
Formaat registrikoodi väljastajariigi koodi formaadi
ja pikkust (kui see element on antud). Väljastajariigi koodi pikkus on 2
tähemärki.
Kontrollib Kaupmehe poolt antud Tellija e- Formaat: email.
Formaat maili formaadi ja pikkust (kui see element
on antud). (max: 128)
Kontrollib Kaupmehe poolt antud Tellija
Formaat ISO 639-1
soovitava suhtluskeele koodi formaadi.
62
Koodi pikkus on 2 tähemärki.
Kontrollib, kas Kaupmehe poolt antud
Formaat Tellija soovitav suhtluskeele kood on
lubatud töötlemiseks.
Viitenumber peab vastama Eesti
Pangaliidu poolt määratud
Kontrollib Kaupmehe poolt antud
Formaat reeglitele.
viitenumbri formaadi.
string (max: 35)
Kontrollib Kaupmehe poolt antud
Formaat URL
ümbersuunamise URL formaadi.
Kontrollib Kaupmehe poolt antud GET
Formaat URL
meetodiga teavitamise URL formaadi.
Kontrollib Kaupmehe poolt antud POST
Formaat URL
meetodiga teavitamise URL formaadi.
63
Protsessijoonised
EMTA dokumentatsioonist protsessijoonis:
64
Tekstid
Kõik tekstid on lisatud informatiivselt, et oleks aru saada, millist infot võiks kasutajale
kommunikeerida. Need võiks olla haldusest muudetavad.
Asukoht Tekst EST Tekst ENG
Kasutajale kuvatav info, kui Süsteemis esines viga, There was a system error, please
krediitkaardiga maksma proovige uuesti. Kui try again. If the problem persists,
suundumisel ei suuda probleem jätkub, valige muu please use a different payment
65
süsteem luua EMTA MMis makseviis või pöörduge method or contact customer
tellimust klienditoe poole. support.
Krediitkaardi maksmise
Krediitkaardiga Credit card
nupu nimetus
Süsteemi tekst kohalt Süsteemi tekst kohalt
Tagastatav info tellimuse
avaldajale_avaldamine_onne avaldajale_avaldamine_onnestus
staatuse kohta
stus (olemasolev tekst) (olemasolev tekst)
Teenused
xtee päise reeglid
X-Tee päringu päis on koostatud X-Tee teenuste üldiste sõnumreeglite järgi ning sisaldab
informatsiooni autoriseeritud asutuse ja kaupmehe kohta.
<xrd:client id:objectType="SUBSYSTEM">
<id:xRoadInstance>ee/ee-test/ee-
dev</id:xRoadInstance>
<id:memberClass>COM/GOV/..</id:memberCla
ss>
<id:memberCode>YOUR_COMMERCIAL_REGISTER_
CODE</id:memberCode>
<id:subsystemCode>YOUR_MERCHANT_ID</id:s
ubsystemCode>
</xrd:client>
Kohust
uslik
(EMTA
makse Kirjeldus
Väli Nimi Tüüp Element Kirjeldus EE
moodul EN
i
seisuko
hast)*
66
Identifies
service client
– an entity
that initiates
the service
call.
This
complex
type serves
as the base
for all other
identifier
types
(derived by
restriction).
Identifitseerib
It contains a teenuse
union of all
klienti, ehk
XRoadClientIden fields that
süsteemi, kes
client Klient Jah can be
tifierType algatab
present in
teenusekõne.
different
identifiers.
The attribute
objectType
contains the
type of the
identifier
and can be
used, for
example, to
distinguish
between X-
Road
member and
subsystem
identifiers
without
resorting to
67
conditions
that check
for presence
of individual
fields.
XRoadClientIden xRoadInsta
client Klient Jah
tifierType nce
XRoadClientIden memberCl
client Klient Jah
tifierType ass
XRoadClientIden memberCo
client Klient Jah
tifierType de
XRoadClientIden subsystem
client Klient Jah
tifierType Code
Identifies the
service that Identifitseerib
XRoadServiceIde
service Teenus Jah* is invoked teenust, mis
ntifierType
by the on päritud.
request
XRoadServiceIde xRoadInsta
service Teenus Jah*
ntifierType nce
XRoadServiceIde memberCl
service Teenus Jah*
ntifierType ass
XRoadServiceIde memberCo
service Teenus Jah*
ntifierType de
XRoadServiceIde subsystem
service Teenus Jah*
ntifierType Code
XRoadServiceIde serviceVer
service Teenus Jah*
ntifierType sion
Identifies the Identifitseerib
XRoadCentralSer
centralSe Keskteenu central keskteenust,
viceIdentifierTyp Ei*
rvice s service that mis on
e
is invoked päritud.
68
by the
request.
XRoadCentralSer
centralSe Keskteenu xRoadInsta
viceIdentifierTyp Ei*
rvice s nce
e
XRoadCentralSer
centralSe Keskteenu serviceCod
viceIdentifierTyp Ei*
rvice s e
e
Unique
identifier for Kordumatu
this sõnumi
message. tunnus.
id Id string Jah The Soovitatav
recommende sõnumi
d form of tunnuse vorm
message ID on UUID.
is UUID.
Kasutaja,
kelle tegevus
User whose algatab
action teenust.
initiated the
Kasutaja
request. The
tunnus peab
user ID
algama
should be
Kasutaja kahetähelise
userId userId Ei prefixed
Id ISO
with two-
riigikoodiga.
letter ISO
country code E-MTA
(e.g., Maksemoodu
EE12345678 l ei hakka
901). salvestama
kasutajate
isikukoode.
69
For
Vastuste
responses,
jaoks. Väli,
this field
mis sisaldab
contains
SOAP
Base64
päringu
encoded
Base64
hash of the
kodeeritud
SOAP
requestH requestHa hash.
string Ei request
ash sh
message. Väli on
This field is automaatselt
automaticall täidetud
y filled in by teenuse
the service pakkuja
provider’s turvaserveri
security poolt.
server.
Identifies Identifitseerib
hash hash
algorithm algorotmi,
that was mis oli
used to kasutatud
calculate the requestHash
requestH requestHa value of the väli väärtuse
ash/ sh/ requestHash arvutamiseks.
string Jah
@algorit @algorith field. The Algoritmid
hmId mId algorithms on
are specified täpsustatud
as URIs URI-dena
listed in näidetud
XML-DSIG XML-DSIG
specification spetsifikatsio
[DSI13]. onis.
Identifies
received Idetifitseerib
issue probleem string Jah application, saadud
issue or rakendust,
document probleemi või
70
that was the dokumenti,
cause of the mis oli
service teenuse
request. This päringu
field may be põhjuseks.
used by the See väli on
client kasutatud
information kliendi
system to infosüsteemi
connect poolt, et
service ühendada
requests (and teenuse
responses) to päringud ja
working vastused
procedures. tööprotseduur
idega.
Maksemood
uli omapära:
Juhul, kui ühe
alamsüsteemi
all eksisteerib
rohkem, kui 1
kaupmees,
siin saab
määrata
vastava
Kaupmehe
koodi (vaata
lähemalt siit:
Väärtuste
definitsioonid
#4.Kaupmehe
d)
Kui väli
puudub / või
vastav
kaupmehe
kood ei ole
71
leitud,
kaupmeest
määratakse
vastavalt
alamsüsteemi
koodile
(subsystemCo
de).
X-Road
X-Tee
message
sõnumi
protocol
protokolli
version. For
protocol Protokolli versioon. X-
string Jah X-Road v6
Version Versioon Tee v6 puhul
default
vaikimisi
message
väärtus on
protocol is
4.0.*
4.0.
* X-tee 6 üldistee reeglite järgi kas Teenus või Keskteenus peab olema päises.
EMTA nõuded liidestuvale kaupmehele
Allpool on välja toodud üldised nõuded, kuidas integreerida Maksemoodulit Kaupmehe
platvormi.
Kirjeldus
Integratsioon peab toimima e-MTA Maksemooduli ajakohastatud versiooniga.
Maksekorralduse sooritamise eeldused on õiged ja täielikud ostukorvi andmed vastavalt antud
teenuse kirjeldusele (summa, valuuta, selgitus).
Ostukorvis kuvatud tellimuse staatus peab olema uuendatud vastavalt tellimuse staatuse
uuendustele Maksemoodulis.
72
Kui peale e-MTA Maksemooduli sulgemist Tellijat suunatakse ümber tagasi Kaupmehe juurde,
Kaupmees peaks kuvama Tellijale tellimuse seisundit, näiteks:
Tellimus on täidetud
Tellimus ei ole täidetud
Kaupmees peaks tagama, et e-MTA Maksemooduli avalik portaali oleks võimalik Tellijale
kuvada samas keeles, kui tellimuse (ostukorvi) keel.
Kaupmees tagab Tellijale elektroonilise kviitungi väljaandmist.
Kaupmeehe poolt on võimalik tühistada ainult tellimusi staatuses "Loodud" (ehk ainult enne
seda, kui Tellija on valinud makseviisi).
Kaupmees ei tohi võimaldada tellimuse (ostukorvi) muutmist peale seda, kui see oli saadetud e-
MTA Maksemoodulile, selle jaoks oli loodud vastav tellimuse identifikaator ning Tellija valis
makseviisi. Kui Tellija soovib uuendada tellimuse detaile, mille jaoks oli juba loodud tellimuse
identifikaator Maksemoodulis ("Loodud" seisundis), tgellimus peab olema eelnevalt Kaupmehe
poolt tühistatud. Kui Tellija soovib uuendada ostukorvi, mille sees on tellimused muus
seisundis, kui "Loodud",uute tellimuste jaoks peab olema loodud uus tellimuse identifikaator.
Kaupmees peab jagama ette oma IP, millele makseteenuse pakkujad annaksid juurdepääsu.
cpgOrderInit
Source: https://x-tee.ee/catalogue-data/EE/EE/GOV/70000349/mkrliides/19.wsdl
MKR liides WSDL Expand source
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:sch="http://cpg-v6.x-road.eu"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cpg-
v6.x-road.eu" xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"
targetNamespace="http://cpg-v6.x-road.eu"> <wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cpg-
v6.x-road.eu" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xrd="http://x-road.eu/xsd/xroad.xsd" elementFormDefault="unqualified"
targetNamespace="http://cpg-v6.x-road.eu"> <import
namespace="http://x-road.eu/xsd/xroad.xsd" schemaLocation="http://x-
road.eu/xsd/xroad.xsd"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderInitRequest">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
73
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema"
name="Order" type="tns:CpgOrder"/> </sequence>
</complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderInitResponse">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema"
name="Order" type="tns:CpgOrder"/> </sequence>
</complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderGetRequest">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1"> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="1"
name="Id" type="string"/> </sequence>
</complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderGetResponse">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema"
name="Order" type="tns:CpgOrder"/> </sequence>
</complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderListRequest">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="0" name="count" type="integer"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="page" type="integer"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="sort" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="id" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="state" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="to" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="from" type="string"/> </sequence>
</complexType> </element>
<element xmlns="http://www.w3.org/2001/XMLSchema"
name="cpgOrderListResponse"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema"> <sequence
xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema" name="Meta">
<complexType
xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
74
<element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="1"
name="Total" type="integer"/>
</sequence> </complexType>
</element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="Orders">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
<sequence
xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="unbounded" name="Order" type="tns:CpgOrder"/>
</sequence>
</complexType> </element>
</sequence> </complexType>
</element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderCancelRequest">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1"> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="1"
name="Id" type="string"/> </sequence>
</complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderCancelResponse">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
</complexType> </element> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgOrder">
<all xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Id" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="State" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Description" type="tns:CpgOrderDescription"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Created" type="dateTime"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Finished" type="dateTime"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Expires" type="dateTime"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Amount"> <simpleType
xmlns="http://www.w3.org/2001/XMLSchema">
<restriction xmlns="http://www.w3.org/2001/XMLSchema" base="decimal">
<totalDigits
xmlns="http://www.w3.org/2001/XMLSchema" value="15"/>
<fractionDigits xmlns="http://www.w3.org/2001/XMLSchema"
value="2"/> </restriction>
</simpleType> </element>
<element xmlns="http://www.w3.org/2001/XMLSchema"
75
maxOccurs="1" minOccurs="0" name="Currency" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="PaymentMethods">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="unbounded" minOccurs="0"
name="PaymentMethod" type="tns:CpgPaymentMethod"/>
</sequence> </complexType>
</element> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Merchant" type="tns:CpgOrderMerchant"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Customer" type="tns:CpgOrderCustomer"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Callback" type="tns:CpgCallback"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Links"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="unbounded" minOccurs="0" name="Link" type="tns:CpgLink"/>
</sequence>
</complexType> </element>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Payments">
<complexType xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="unbounded" minOccurs="0"
name="Payment" type="tns:CpgPayment"/>
</sequence> </complexType>
</element> </all>
</complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgOrderDescription">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="ET" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="EN" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="RU" type="string"/> </sequence>
</complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgPayment">
<all xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="State" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Created" type="dateTime"/>
76
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Finished" type="dateTime"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Amount"> <simpleType
xmlns="http://www.w3.org/2001/XMLSchema">
<restriction xmlns="http://www.w3.org/2001/XMLSchema" base="decimal">
<totalDigits
xmlns="http://www.w3.org/2001/XMLSchema" value="15"/>
<fractionDigits xmlns="http://www.w3.org/2001/XMLSchema"
value="2"/> </restriction>
</simpleType> </element>
<element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1" name="Method" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Broker" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Stamp" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Transfer"/> </all>
</complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgOrderMerchant">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Id" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Name" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Stamp" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Notes"/> </sequence> </complexType>
<complexType xmlns="http://www.w3.org/2001/XMLSchema"
name="CpgOrderCustomer"> <sequence
xmlns="http://www.w3.org/2001/XMLSchema"> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Code" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Email" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Country" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Language" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="ReferenceNumber" type="string"/> </sequence>
</complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgLink">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Href" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="1"
77
name="Rel" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Method" type="string"/> </sequence>
</complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgPaymentMethod">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Code" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Brokers"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="unbounded" minOccurs="0" name="Broker">
<complexType
xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Code" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Url" type="string"/>
</sequence>
</complexType> </element>
</sequence>
</complexType> </element>
</sequence> </complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgCallback">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Redirect" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="unbounded"
minOccurs="0" name="Notify"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1" name="Method" type="string"/>
<element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1" name="Url" type="string"/>
</sequence> </complexType>
</element> </sequence>
</complexType> </schema> </wsdl:types> <wsdl:message
name="cpgOrderListResponse"> <wsdl:part
element="tns:cpgOrderListResponse" name="cpgOrderListResponse"> </wsdl:part>
</wsdl:message> <wsdl:message name="requestheader"> <wsdl:part
element="xrd:client" name="client"> </wsdl:part> <wsdl:part
element="xrd:service" name="service"> </wsdl:part> <wsdl:part
element="xrd:id" name="id"> </wsdl:part> <wsdl:part
element="xrd:userId" name="userId"> </wsdl:part> <wsdl:part
78
element="xrd:protocolVersion" name="protocolVersion"> </wsdl:part>
<wsdl:part element="xrd:issue" name="issue"> </wsdl:part>
</wsdl:message> <wsdl:message name="cpgOrderGetRequest">
<wsdl:part element="tns:cpgOrderGetRequest" name="cpgOrderGetRequest">
</wsdl:part> </wsdl:message> <wsdl:message name="cpgOrderGetResponse">
<wsdl:part element="tns:cpgOrderGetResponse"
name="cpgOrderGetResponse"> </wsdl:part> </wsdl:message> <wsdl:message
name="cpgOrderCancelRequest"> <wsdl:part
element="tns:cpgOrderCancelRequest" name="cpgOrderCancelRequest">
</wsdl:part> </wsdl:message> <wsdl:message
name="cpgOrderInitResponse"> <wsdl:part
element="tns:cpgOrderInitResponse" name="cpgOrderInitResponse"> </wsdl:part>
</wsdl:message> <wsdl:message name="cpgOrderListRequest">
<wsdl:part element="tns:cpgOrderListRequest"
name="cpgOrderListRequest"> </wsdl:part> </wsdl:message> <wsdl:message
name="cpgOrderCancelResponse"> <wsdl:part
element="tns:cpgOrderCancelResponse" name="cpgOrderCancelResponse">
</wsdl:part> </wsdl:message> <wsdl:message name="cpgOrderInitRequest">
<wsdl:part element="tns:cpgOrderInitRequest"
name="cpgOrderInitRequest"> </wsdl:part> </wsdl:message> <wsdl:portType
name="cpgClientPortType"> <wsdl:operation name="cpgOrderList">
<wsdl:documentation> <xrd:title>Orders
list</xrd:title> </wsdl:documentation> <wsdl:input
message="tns:cpgOrderListRequest" name="cpgOrderListRequest"> </wsdl:input>
<wsdl:output message="tns:cpgOrderListResponse"
name="cpgOrderListResponse"> </wsdl:output> </wsdl:operation>
<wsdl:operation name="cpgOrderGet"> <wsdl:documentation>
<xrd:title>Get single Order by id</xrd:title>
</wsdl:documentation> <wsdl:input
message="tns:cpgOrderGetRequest" name="cpgOrderGetRequest"> </wsdl:input>
<wsdl:output message="tns:cpgOrderGetResponse"
name="cpgOrderGetResponse"> </wsdl:output> </wsdl:operation>
<wsdl:operation name="cpgOrderCancel">
<wsdl:documentation> <xrd:title>cancel created
Order</xrd:title> </wsdl:documentation> <wsdl:input
message="tns:cpgOrderCancelRequest" name="cpgOrderCancelRequest">
</wsdl:input> <wsdl:output
message="tns:cpgOrderCancelResponse" name="cpgOrderCancelResponse">
</wsdl:output> </wsdl:operation> <wsdl:operation
name="cpgOrderInit"> <wsdl:documentation>
<xrd:title>create new Order</xrd:title>
</wsdl:documentation> <wsdl:input
message="tns:cpgOrderInitRequest" name="cpgOrderInitRequest"> </wsdl:input>
<wsdl:output message="tns:cpgOrderInitResponse"
name="cpgOrderInitResponse"> </wsdl:output> </wsdl:operation>
</wsdl:portType> <wsdl:binding name="cpgClientPortTypeSoap11"
type="tns:cpgClientPortType"> <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation
name="cpgOrderList"> <soap:operation soapAction=""/>
79
<xrd:version>v1</xrd:version> <wsdl:input
name="cpgOrderListRequest"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/>
</wsdl:input> <wsdl:output name="cpgOrderListResponse">
<soap:header message="tns:requestheader" part="client"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="service" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="userId"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="id" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="protocolVersion"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="issue" use="literal"> </soap:header>
<soap:body use="literal"/> </wsdl:output>
</wsdl:operation> <wsdl:operation name="cpgOrderGet">
<soap:operation soapAction=""/>
<xrd:version>v1</xrd:version> <wsdl:input
name="cpgOrderGetRequest"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/>
</wsdl:input> <wsdl:output name="cpgOrderGetResponse">
<soap:header message="tns:requestheader" part="client"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="service" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="userId"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="id" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="protocolVersion"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="issue" use="literal"> </soap:header>
<soap:body use="literal"/> </wsdl:output>
</wsdl:operation> <wsdl:operation name="cpgOrderCancel">
<soap:operation soapAction=""/>
<xrd:version>v1</xrd:version> <wsdl:input
80
name="cpgOrderCancelRequest"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/>
</wsdl:input> <wsdl:output
name="cpgOrderCancelResponse"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/>
</wsdl:output> </wsdl:operation> <wsdl:operation
name="cpgOrderInit"> <soap:operation soapAction=""/>
<xrd:version>v1</xrd:version> <wsdl:input
name="cpgOrderInitRequest"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/>
</wsdl:input> <wsdl:output name="cpgOrderInitResponse">
<soap:header message="tns:requestheader" part="client"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="service" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="userId"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="id" use="literal"> </soap:header>
<soap:header message="tns:requestheader" part="protocolVersion"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="issue" use="literal"> </soap:header>
<soap:body use="literal"/> </wsdl:output>
</wsdl:operation> </wsdl:binding> <wsdl:service
name="cpgClientPortTypeService"> <wsdl:port
binding="tns:cpgClientPortTypeSoap11" name="cpgClientPortTypeSoap11">
<soap:address location="http://example.org/xroad-endpoint"/>
81
<xrd:address producer="cpg-v6"/> </wsdl:port>
</wsdl:service></wsdl:definitions>
cpgOrderInitRequest Expand source
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:cpg="http://cpg-v6.x-road.eu">
<soapenv:Header> <xro:issue>TKTPUB</xro:issue>
<xro:protocolVersion>4.0</xro:protocolVersion> <xro:id>?</xro:id>
<xro:userId>EE43009090226</xro:userId> <xro:service
iden:objectType="SERVICE">
<iden:xRoadInstance>EE</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>70000349</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>payment-gateway</iden:subsystemCode>
<iden:serviceCode>cpgOrderInit</iden:serviceCode> <!--Optional:-->
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>12345678</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>TKT</iden:subsystemCode> </xro:client>
</soapenv:Header> <soapenv:Body> <cpg:cpgOrderInitRequest>
<Order> <Description> <!--Optional:-->
<ET>DESC ET</ET> <!--Optional:-->
<EN>DESC EN</EN> <!--Optional:-->
<RU>DESC RU</RU> </Description>
<Amount>1</Amount> <!--Optional:-->
<Currency>EUR</Currency> <!--Optional:-->
<PaymentMethods> <!--Zero or more repetitions:-->
<PaymentMethod> <Code>creditcard</Code>
</PaymentMethod> <PaymentMethod>
<!--Optional:--> <Code>banklink</Code>
<!--Optional:--> <Brokers>
<!--Zero or more repetitions:--> <Broker>
<!--Optional:--> <Code>seb</Code>
</Broker> </Brokers>
</PaymentMethod> </PaymentMethods> <!--
Optional:--> <Merchant> <!--Optional:-->
<Id>ID</Id> <!--Optional:-->
<Name>NAME</Name> <!--Optional:-->
<Stamp>MERCHANT_UNIQUE_MESSAGE_ID</Stamp> <!--Optional:-->
<Notes>BASKET NO</Notes> </Merchant> <!--
Optional:--> <Customer> <!--Optional:-->
<Code>123</Code> <!--Optional:-->
<Email>
[email protected]</Email> <!--Optional:-->
<Country>ee</Country> <!--Optional:-->
<Language>et</Language> <!--Optional:-->
<ReferenceNumber>123</ReferenceNumber> </Customer>
<!--Optional:--> <Callback> <!--Optional:--
82
> <Redirect>https://xxx/payment?id=${id}</Redirect>
<!--Zero or more repetitions:--> <Notify>
<Method>xroad</Method> </Notify>
</Callback> </Order> </cpg:cpgOrderInitRequest>
</soapenv:Body></soapenv:Envelope>
cpgOrderInitResponse Expand source
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:cpg="http://cpg-v6.x-road.eu" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:xro="http://x-road.eu/xsd/xroad.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-
ENV:Header> <xro:issue>TKTPUB</xro:issue>
<xro:protocolVersion>4.0</xro:protocolVersion> <xro:id>?</xro:id>
<xro:userId>EE43009090226</xro:userId> <xro:service
iden:objectType="SERVICE">
<iden:xRoadInstance>EE</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>70000349</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>payment-gateway</iden:subsystemCode>
<iden:serviceCode>cpgOrderInit</iden:serviceCode> <!--Optional:-->
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="?"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>12345678</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>TKT</iden:subsystemCode> </xro:client> </SOAP-
ENV:Header> <SOAP-ENV:Body> <cpg:cpgOrderInitResponse>
<Order> <Id>e1656999-01b8-46c5-b453-9ca7039785ea</Id>
<State>created</State> <Description>
<ET>DESC ET</ET> <EN>DESC EN</EN>
<RU>DESC RU</RU> </Description> <Created>2019-
10-10T10:57:27.251+03:00</Created> <Expires>2019-10-
10T11:12:27.263+03:00</Expires> <Amount>1</Amount>
<Currency>EUR</Currency> <PaymentMethods>
<PaymentMethod> <Code>creditcard</Code>
<Brokers> <Broker>
<Code>nets</Code>
<Url>https://xxx/paymentgateway-api/rest/pay/nets?id=e1656999-01b8-46c5-b453-
9ca7039785ea&broker=nets</Url> </Broker>
</Brokers> </PaymentMethod>
<PaymentMethod> <Code>banklink</Code>
<Brokers> <Broker>
<Code>seb</Code>
<Url>https://xxx/paymentgateway-api/rest/pay/banklink?bank=seb&id=e1656999-
01b8-46c5-b453-9ca7039785ea</Url> </Broker>
83
</Brokers> </PaymentMethod>
</PaymentMethods> <Merchant> <Id>fe63bfeb-
cb00-424a-b31a-e435b1b6f0fe</Id> <Name>TKTPUB</Name>
<Stamp>MERCHANT_UNIQUE_MESSAGE_ID</Stamp> <Notes>BASKET
NO</Notes> </Merchant> <Customer>
<Code>123</Code> <Email>
[email protected]</Email>
<Country>ee</Country> <Language>et</Language>
<ReferenceNumber>123</ReferenceNumber> </Customer>
<Callback> <Redirect>https://xxx/payment?id=e1656999-01b8-
46c5-b453-9ca7039785ea</Redirect> <Notify>
<Method>xroad</Method> </Notify>
</Callback> <Links> <Link>
<Href>https://xxx/paymentgateway/e1656999-01b8-46c5-b453-9ca7039785ea</Href>
<Rel>web-portal</Rel> </Link> </Links>
</Order> </cpg:cpgOrderInitResponse> </SOAP-ENV:Body></SOAP-
ENV:Envelope>
cpgOrderNotify
All on välja toodud teenuse WSDL, request (mille EMTA saadab meile teavitamaks, et tellimus
on tasutud) ning response (mille meie saadame EMTAle teavitamaks, et saime info edukalt
kätta).
cpfOrderNotify WSDL Expand source
<?xml version="1.0" encoding="UTF-8" standalone="no"?><wsdl:definitions
targetNamespace="http://tkt.x-road.eu"
xmlns:tns="http://tkt.x-road.eu"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"> <wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://tkt.x-road.eu"> <import
namespace="http://x-road.eu/xsd/xroad.xsd" schemaLocation="http://x-
road.eu/xsd/xroad.xsd"/> <element
name="cpgOrderNotifyRequest"> <complexType>
<sequence> <element name="id">
<simpleType>
<restriction base="string">
<maxLength value="128"/>
</restriction>
</simpleType> </element>
</sequence> </complexType>
</element> <element name="cpgOrderNotifyResponse">
<complexType> <sequence/>
</complexType> </element> </schema>
</wsdl:types> <wsdl:message name="requestHeader"> <wsdl:part
84
element="xrd:client" name="client"/> <wsdl:part
element="xrd:service" name="service"/> <wsdl:part element="xrd:id"
name="id"/> <wsdl:part element="xrd:userId" name="userId"/>
<wsdl:part element="xrd:protocolVersion" name="protocolVersion"/>
</wsdl:message> <wsdl:message name="cpgOrderNotifyRequest">
<wsdl:part element="tns:cpgOrderNotifyRequest"
name="cpgOrderNotifyRequest"/> </wsdl:message> <wsdl:message
name="cpgOrderNotifyResponse"> <wsdl:part
element="tns:cpgOrderNotifyResponse" name="cpgOrderNotifyResponse"/>
</wsdl:message> <wsdl:portType name="tktClientPortType">
<wsdl:operation name="cpgOrderNotify">
<wsdl:documentation> <xrd:title>Order change
notification</xrd:title> </wsdl:documentation>
<wsdl:input message="tns:cpgOrderNotifyRequest"
name="cpgOrderNotifyRequest"/> <wsdl:output
message="tns:cpgOrderNotifyResponse" name="cpgOrderNotifyResponse"/>
</wsdl:operation> </wsdl:portType> <wsdl:binding
name="TktClientPortTypeSoap11" type="tns:tktClientPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation
name="cpgOrderNotify"> <soap:operation soapAction=""/>
<xrd:version>v1</xrd:version> <wsdl:input
name="cpgOrderNotifyRequest"> <soap:header
message="tns:requestHeader" part="protocolVersion" use="literal"/>
<soap:header message="tns:requestHeader" part="userId"
use="literal"/> <soap:header message="tns:requestHeader"
part="id" use="literal"/> <soap:header
message="tns:requestHeader" part="service" use="literal"/>
<soap:header message="tns:requestHeader" part="client" use="literal"/>
<soap:body use="literal"/> </wsdl:input>
<wsdl:output name="cpgOrderNotifyResponse">
<soap:header message="tns:requestHeader" part="protocolVersion"
use="literal"/> <soap:header message="tns:requestHeader"
part="userId" use="literal"/> <soap:header
message="tns:requestHeader" part="id" use="literal"/>
<soap:header message="tns:requestHeader" part="service" use="literal"/>
<soap:header message="tns:requestHeader" part="client"
use="literal"/> <soap:body use="literal"/>
</wsdl:output> </wsdl:operation> </wsdl:binding>
<wsdl:service name="TktClientPortTypeService"> <wsdl:port
binding="tns:TktClientPortTypeSoap11" name="TktClientPortTypeSoap11">
<soap:address location="https://SECURITY_SERVER/cgi-
bin/consumer_proxy"/> <xrd:address producer="tkt"/>
</wsdl:port> </wsdl:service></wsdl:definitions>
cpgOrderNotifyRequest Expand source
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:tkt="http://tkt.x-road.eu">
85
<soapenv:Header> <xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE12345678901</xro:userId> <xro:id>1</xro:id>
<xro:service iden:objectType="SERVICE"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode>
<iden:serviceCode>cpgOrderNotify</iden:serviceCode>
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode> </xro:client>
</soapenv:Header> <soapenv:Body> <tkt:cpgOrderNotifyRequest>
<id>order-id-n3n78ts</id> </tkt:cpgOrderNotifyRequest>
</soapenv:Body></soapenv:Envelope>
cpgOrderNotifyResponse Expand source
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:tns="http://tkt.x-road.eu"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Header>
<xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE12345678901</xro:userId> <xro:id>1</xro:id>
<xro:service iden:objectType="SERVICE"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode>
<iden:serviceCode>cpgOrderNotify</iden:serviceCode>
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode> </xro:client>
</soap:Header> <soap:Body> <tns:cpgOrderNotifyResponse/>
</soap:Body></soap:Envelope>
cpgOrderNotifyResponse kui tellimuse ID meil puudub Expand source
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:tns="http://tkt.x-road.eu"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Header>
<xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE12345678901</xro:userId> <xro:id>1</xro:id>
<xro:service iden:objectType="SERVICE"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode>
86
<iden:serviceCode>cpgOrderNotify</iden:serviceCode>
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode> </xro:client>
</soap:Header> <soap:Body> <soap:Fault>
<faultcode>soap:Server</faultcode> <faultstring>Order not found with
id: order-id-n3n78ts_</faultstring> </soap:Fault>
</soap:Body></soap:Envelope>
cpgOrderCancel
Teenuse wsdl on leitav: KL00040-cpgOrderInit ja https://x-tee.ee/catalogue-
data/EE/EE/GOV/70000349/mkrliides/19.wsdl (sama WSDL, mis cpgOrderInit)
cpgOrderCancelRequest Expand source
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:cpg="http://cpg-v6.x-road.eu">
<soapenv:Header> <xro:issue>TKTPUB</xro:issue>
<xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE43009090226</xro:userId> <xro:service
iden:objectType="SERVICE">
<iden:xRoadInstance>EE</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>70000349</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>payment-gateway</iden:subsystemCode>
<iden:serviceCode>cpgOrderGet</iden:serviceCode> <!--Optional:-->
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>12345678</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>TKT</iden:subsystemCode> </xro:client>
</soapenv:Header> <soapenv:Body> <cpg:cpgOrderCancelRequest>
<Id>6a74e85c-8738-4495-af8d-3d0c0fd930b0</Id> </cpg:cpgOrderCancelRequest>
</soapenv:Body></soapenv:Envelope>
cpgOrderCancelResponse Expand source
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:cpg="http://cpg-v6.x-road.eu" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:xro="http://x-road.eu/xsd/xroad.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-
87
ENV:Header> <xro:issue>TKTPUB</xro:issue>
<xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE43009090226</xro:userId> <xro:service
iden:objectType="SERVICE">
<iden:xRoadInstance>EE</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>70000349</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>payment-gateway</iden:subsystemCode>
<iden:serviceCode>cpgOrderCancel</iden:serviceCode> <!--Optional:-
-> <iden:serviceVersion>v1</iden:serviceVersion>
</xro:service> <xro:client iden:objectType="SUBSYSTEM">
<iden:xRoadInstance>ee-dev</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>12345678</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>TKT</iden:subsystemCode> </xro:client> </SOAP-
ENV:Header> <SOAP-ENV:Body> <cpg:cpgOrderCancelResponse/>
</SOAP-ENV:Body></SOAP-ENV:Envelope>
88