Lisa 1: Pangalingi tehniline spetsifikatsioon Kehtivad alates
Transcription
Lisa 1: Pangalingi tehniline spetsifikatsioon Kehtivad alates
1/3 Lisa 1: Pangalingi tehniline spetsifikatsioon 1. ÜLDINE 1.1 Pangalingi päringute all on mõeldud HTTP POST päringut spetsifitseeritud parameetritega. Iga päring sisaldab endas teenuse numbrit. Igale teenusele vastab oma loetelu parameetritest ja päringu käsitlemise algoritm. Päringud Kaupmehelt Pangale suunatakse URLile: https://www.lhv.ee/banklink. 1.2 Alates 2014. aasta oktoobrist võetakse kasutusele uuendatud tehniline spetsifikatsioon. Uuele spetsifikatsioonile vastavad maksepäringud on välja toodud punktis 2 ja autentimispäringud punktis 3. Vanade päringute kasutamist toetatakse kuni 2015. aasta lõpuni. 2.3 Kehtivad alates 15.10.2014. - VK_MAC VK_ENCODING 700 12 - VK_LANG 3 Kontrollkood e. allkiri Sõnumi kodeering. ISO-8859-1 või UTF-8 (vaikeväärtus) või WINDOWS-1257 Soovitav suhtluskeel (EST, ENG või RUS) Vastuspäring 1111 (asendab päringu 1101) Kasutatakse vastamiseks maksekorralduse toimumisest. 2. MAKSEPÄRINGUD (vastavuses uuendatud tehnilise spetsifikatsiooniga) 2.1 Päring 1011 (asendab päringu 1001) Kaupmees saadab Panka allkirjastatud maksekorralduse andmed, mida Klient internetipangas muuta ei saa. Peale edukat makset koostatakse Kaupmehele päring “1111”, ebaõnnestunud makse puhul “1911”. JRK VÄLJANIMI PIKKUS KIRJELDUS 1 2 3 VK_SERVICE VK_VERSION VK_SND_ID 4 3 15 4 5 VK_STAMP VK_AMOUNT 20 12 6 7 8 9 10 11 VK_CURR VK_ACC VK_NAME VK_REF VK_MSG VK_RETURN 3 34 70 35 95 255 12 VK_CANCEL 255 13 VK_DATETIME 24 - VK_MAC VK_ENCODING 700 12 - VK_LANG 3 Teenuse number (1011) Kasutatav krüptoalgoritm (008) Päringu koostaja (Kaupmehe) ID Päringu ID Maksmisele kuuluv summa. Komakohad ja sendid eristatud punktiga ".". Tuhandete eraldajat ei kasutata. Makse valuuta (EUR) Saaja konto number Saaja nimi Maksekorralduse viitenumber Maksekorralduse selgitus URL, kuhu vastatakse edukal tehingu sooritamisel URL, kuhu vastatakse ebaõnnestunud tehingu puhul Päringu algatamise kuupäev ja kellaaeg ISO 8601 formaadis sekundi täpsusega koos ajatsooni infoga. Nt 2013-0313T07:21:14+0200 Kontrollkood e. allkiri Sõnumi kodeering. ISO-8859-1 või UTF-8 (vaikeväärtus) või WINDOWS-1257 Soovitav suhtluskeel (EST, ENG või RUS) 2.4 2.2 VÄLJANIMI PIKKUS KIRJELDUS 1 2 3 4 VK_SERVICE VK_VERSION VK_SND_ID VK_REC_ID 4 3 15 15 5 6 7 VK_STAMP VK_T_NO VK_AMOUNT 20 20 12 8 9 10 11 12 13 14 15 VK_CURR VK_REC_ACC VK_REC_NAME VK_SND_ACC VK_SND_NAME VK_REF VK_MSG VK_T_DATETIME 3 34 70 34 70 35 95 24 - VK_MAC VK_ENCODING 700 12 - VK_LANG 3 - VK_AUTO 1 Teenuse number (1111) Kasutatav krüptoalgoritm 008 Päringu koostaja (Panga) ID Päringu vastuvõtja (Kaupmehe) ID Päringu ID Maksekorralduse number Makstud summa. Komakohad ja sendid eristatud punktiga ".". Tuhandete eraldajat ei kasutata. Makse valuuta (EUR) Saaja konto number Saaja nimi Maksja konto number Maksja nimi Maksekorralduse viitenumber Maksekorralduse selgitus Maksekorralduse kuupäev ja kellaaeg ISO 8601 formaadis sekundi täpsusega koos ajatsooni infoga. Nt 2013-0313T07:21:14+0200 Kontrollkood e. allkiri Sõnumi kodeering. ISO-8859-1 või UTF-8 (vaikeväärtus) või WINDOWS-1257 Soovitav suhtluskeel (EST, ENG või RUS) Y = panga poolt automaatselt saadetud vastus. N = vastus kliendi liikumisega kaupmehe lehele Vastuspäring 1911 (asendab päringu 1901) Kasutatakse ebaõnnestunud tehingust teatamiseks. Päring 1012 (asendab päringu 1002) Kaupmees saadab panka Kliendi sooviavalduse Tehingu tegemiseks. Makse saaja nimi ja konto number võetakse Panga ja Kaupmehe vahelisest lepingust. Peale edukat makset koostatakse Kaupmehele päring “1111”, ebaõnnestunud makse puhul “1911” JRK VÄLJANIMI PIKKUS KIRJELDUS 1 2 3 4 5 VK_SERVICE VK_VERSION VK_SND_ID VK_STAMP VK_AMOUNT 4 3 15 20 12 6 7 8 9 VK_CURR VK_REF VK_MSG VK_RETURN 3 35 95 255 10 VK_CANCEL 255 11 VK_DATETIME 24 Teenuse number (1012) Kasutatav krüptoalgoritm (008) Päringu koostaja (Kaupmehe) ID Päringu ID Maksmisele kuuluv summa. Komakohad ja sendid eristatud punktiga ".". Tuhandete eraldajat ei kasutata. Makse valuuta (EUR) Maksekorralduse viitenumber Maksekorralduse selgitus URL, kuhu vastatakse edukal tehingu sooritamisel URL, kuhu vastatakse ebaõnnestunud tehingu puhul Päringu algatamise kuupäev ja kellaaeg ISO 8601 formaadis sekundi täpsusega koos ajatsooni infoga. Nt 2013-0313T07:21:14+0200 AS LHV PANK JRK TARTU MNT 2, 10145 TALLINN 6 800 400 [email protected] JRK VÄLJANIMI PIKKUS KIRJELDUS 1 2 3 4 VK_SERVICE VK_VERSION VK_SND_ID VK_REC_ID 4 3 15 15 5 6 7 - VK_STAMP VK_REF VK_MSG VK_MAC VK_ENCODING 20 35 95 700 12 - VK_LANG 3 - VK_AUTO 1 Teenuse number (1911) Kasutatav krüptoalgoritm (008) Päringu koostaja (Panga) ID Päringu vastuvõtja (Kaupmehe) ID Päringu ID Maksekorralduse viitenumber Maksekorralduse selgitus Kontrollkood e. allkiri Sõnumi kodeering. ISO-8859-1 või UTF-8 (vaikeväärtus) või WINDOWS-1257 Soovitav suhtluskeel (EST, ENG või RUS) Y = panga poolt automaatselt saadetud vastus. N = vastus kliendi liikumisega kaupmehe lehele 3. AUTENTIMISPÄRINGUD (vastavuses uuendatud tehnilise spetsifikatsiooniga) 3.1 Vastuspäring 3012 (asendab päringu 3002) Kaupmehele edastatakse Panga poolt tuvastatud kasutaja andmed. 2/3 Turvalisuse huvides peab sõnumi saaja lisaks allkirjale (VK_MAC) kontrollima ka sõnumi saaja ID-d (VK_REC_ID) ning sõnumi genereerimise kuupäeva ja kellaaega (VK_DATETIME), mis tohib erineda kontrollimise hetkel kehtivast maksimaalselt ±5 minutit. 3.2 JRK VÄLJANIMI PIKKUS KIRJELDUS 1 2 3 VK_SERVICE VK_VERSION VK_USER 4 3 16 4 VK_DATETIME 24 Teenuse number (3012) Kasutatav krüptoalgoritm (008) Kokkuleppeline kasutaja identifikaator Sõnumi genereerimise kuupäev ja kellaaeg ISO 8601 formaadis sekundi täpsusega koos ajatsooni infoga. Nt 2013-0313T07:21:14+0200 Sõnumi koostaja (Panga) ID Sõnumi saaja (Kaupmehe) ID Kasutaja nimi Kasutaja isikukood Isikukoodi riik (kahetäheline ISO 3166-1) Muu info kasutaja kohta Autentimisvahendi identifikaatori kood: 1- ID-kaart; 2- Mobiil-ID; 5ühekordsed koodid (v.a. PINkalkulaator); 6- PIN-kalkulaator; 7- korduvkasutusega kaart Sessiooniga seotud identifikaator Kontrollkood e. allkiri Sõnumi kodeering. ISO-8859-1 või UTF-8 (vaikeväärtus) või WINDOWS-1257 Soovitav suhtluskeel (EST, ENG või RUS) 5 6 7 8 9 VK_SND_ID VK_REC_ID VK_USER_NAME VK_USER_ID VK_COUNTRY 15 15 140 20 2 10 11 VK_OTHER VK_TOKEN 150 2 12 VK_RID 30 - VK_MAC VK_ENCODING 700 12 - VK_LANG 3 3.4 VK_REPLY 4 5 6 VK_RETURN VK_DATETIME 255 24 7 - VK_RID VK_MAC VK_ENCODING 30 700 12 - VK_LANG 3 Oodatava vastuspaketi kood (3012) Kaupmehe URL, kuhu vastatakse Sõnumi genereerimise kuupäev ja kellaaeg ISO 8601 formaadis sekundi täpsusega koos ajatsooni infoga. Nt 2013-0313T07:21:14+0200 Sessiooniga seotud identifikaator Kontrollkood e. allkiri Sõnumi kodeering. ISO-8859-1 või UTF-8 (vaikeväärtus) või WINDOWS-1257 Soovitav suhtluskeel (EST, ENG või RUS) Autentimispäring 4012 (asendab päringu 4002) Kaupmehe poolt Pangale saadetav päring kasutaja tuvastamiseks. Teenus avatud vastava lepingu sõlminud kaupmeestele. Vastuspäringu kood 3013. JRK VÄLJANIMI PIKKUS KIRJELDUS 1 2 3 4 5 VK_SERVICE VK_VERSION VK_SND_ID VK_REC_ID VK_NONCE 4 3 15 15 50 6 7 VK_RETURN VK_DATETIME 255 24 8 - VK_RID VK_MAC VK_ENCODING 30 700 12 - VK_LANG 3 Teenuse number (4012) Kasutatav krüptoalgoritm (008) Sõnumi koostaja (Kaupmehe) ID Sõnumi saaja (Panga) ID Päringu koostaja poolt genereeritud juhuslik nonss Kaupmehe URL, kuhu vastatakse Sõnumi genereerimise kuupäev ja kellaaeg ISO 8601 formaadis sekundi täpsusega koos ajatsooni infoga. Nt 2013-0313T07:21:14+0200 Sessiooniga seotud identifikaator Kontrollkood e. allkiri Sõnumi kodeering. ISO-8859-1 või UTF-8 (vaikeväärtus) või WINDOWS-1257 Soovitav suhtluskeel (EST, ENG või RUS) Vastuspäring 3013 Kaupmehele edastatakse vastusena päringule 4012 Panga poolt tuvastatud kasutaja andmed ja nonssi koopia. Turvalisuse huvides peab sõnumi saaja lisaks allkirjale (VK_MAC) ja nonssile (VK_NONCE) kontrollima ka sõnumi saaja ID-d (VK_REC_ID) ning sõnumi genereerimise kuupäeva ja kellaaega (VK_DATETIME), mis tohib erineda kontrollimise hetkel kehtivast maksimaalselt ±5 minutit. 3.3 4 JRK VÄLJANIMI PIKKUS KIRJELDUS 1 2 VK_SERVICE VK_VERSION 4 3 3 VK_DATETIME 24 Teenuse number (3013) Kasutatav krüptoalgoritm (008) Sõnumi genereerimise kuupäev ja kellaaeg ISO 8601 formaadis sekundi täpsusega koos ajatsooni infoga. Nt 2013-0313T07:21:14+0200 Sõnumi koostaja (Panga) ID Sõnumi saaja (Kaupmehe) ID Päringus olnud nonssi koopia Kasutaja nimi Kasutaja isikukood Isikukoodi riik (kahetäheline ISO 3166-1) Muu info kasutaja kohta Autentimisvahendi identifikaatori kood: 1- IDkaart; 2- Mobiil-ID; 5ühekordsed koodid (v.a. PINkalkulaator); 6- PINkalkulaator; 7korduvkasutusega kaart Sessiooniga seotud identifikaator Kontrollkood e. allkiri Sõnumi kodeering. ISO8859-1 või UTF-8 (vaikeväärtus) või WINDOWS-1257 Soovitav suhtluskeel (EST, ENG või RUS) 4 5 6 7 8 9 VK_SND_ID VK_REC_ID VK_NONCE VK_USER_NAME VK_USER_ID VK_COUNTRY 15 15 50 140 20 2 10 11 VK_OTHER VK_TOKEN 150 2 12 VK_RID 30 - VK_MAC VK_ENCODING 700 12 - VK_LANG 3 Päring 4011 (asendab 4001) Kaupmehe poolt Pangale saadetav päring kasutaja tuvastamiseks. Teenus avatud vastava lepingu sõlminud kaupmeestele. Vastuspäringu kood 3012. 4. MAKSEPÄRINGUD (toetatud kuni 31.12.2015) 4.1 Päring 1001. Kaupmees saadab panka kliendi sooviavalduse tehingu tegemiseks. Peale edukat makset edastatakse kaupmehele vastuspäring „1101“. Ebaõnnestunud makse puhul vastuspäring „1901“. JRK 4 3 15 4 5 VK_STAMP VK_AMOUNT 20 17 6 7 8 9 10 - VK_CURR VK_ACC VK_NAME VK_REF VK_MSG VK_MAC VK_RETURN 3 16 70 20 210 700 60 VK_LANG VK_CHARSET Teenuse number (1001) Kasutatav krüptoalgoritm (008) Päringu koostaja ID (kaupmehe ID) Päringu ID Maksmisele kuuluv summa. Komakohad ja sendid eristatud punktiga ".". Tuhandete eraldajat ei kasutata. Valuuta lühend (EUR) Saaja arve number Saaja nimi Maksekorralduse viitenumber Maksekorralduse selgitus Kontrollkood e. allkiri URL, kuhu saadetakse tehingu vastuse päring Soovitav suhtluskeel ISO-8859-1 (vaikeväärtus), UTF-8 või WINDOWS-1257 Kaupmees saadab panka kliendi sooviavalduse tehingu tegemiseks. Makse saaja ja konto number võetakse pangalingi lepingust. JRK VÄLJANIMI PIKKUS 1 2 3 VK_SERVICE VK_VERSION VK_SND_ID 4 3 15 20 17 VÄLJANIMI PIKKUS KIRJELDUS 4 5 VK_STAMP VK_AMOUNT 1 2 3 VK_SERVICE VK_VERSION VK_SND_ID 4 3 15 Teenuse number (4011) Kasutatav krüptoalgoritm (008) Sõnumi koostaja (Kaupmehe) ID 6 VK_CURR TARTU MNT 2, 10145 TALLINN 6 800 400 [email protected] 3 12 KIRJELDUS Päring 1002 JRK AS LHV PANK PIKKUS VK_SERVICE VK_VERSION VK_SND_ID - 4.2 VÄLJANIMI 1 2 3 3 KIRJELDUS Teenuse number (1002) Kasutatav krüptoalgoritm (008) Päringu koostaja ID (kaupmehe ID) Päringu ID Maksmisele kuuluv summa. Komakohad ja sendid eristatud punktiga ".". Tuhandete eraldajat ei kasutata. Valuuta lühend (EUR) 3/3 4.3 7 8 - VK_REF VK_MSG VK_MAC VK_RETURN - VK_LANG VK_CHARSET 20 210 700 200 3 12 Maksekorralduse viitenumber Maksekorralduse selgitus Kontrollkood e.allkiri URL, kuhu saadetakse tehingu vastuse päring Soovitav suhtluskeel ISO-8859-1 (vaikeväärtus), UTF-8 või WINDOWS-1257 JRK Vastuspäring 1101 VÄLJANIMI 1 2 3 4 VK_SERVICE VK_VERSION VK_USER VK_DATE 5 VK_TIME 6 - VK_SND_ID VK_CHARSET - VK_MAC PIKKUS 4 3 16 10 8 15 12 Kasutatakse vastamiseks eestisisese maksekorralduse toimumisest. JRK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4.4 VÄLJANIMI VK_SERVICE VK_VERSION VK_SND_ID VK_REC_ID PIKKUS 4 3 15 15 VK_STAMP VK_T_NO VK_AMOUNT VK_CURR VK_REC_ACC VK_REC_NAME VK_SND_ACC VK_SND_NAME VK_REF VK_MSG VK_T_DATE 20 20 17 3 16 100 16 100 20 210 10 - VK_MAC VK_LANG VK_CHARSET 700 3 12 - VK_AUTO Teenuse number (1101) Kasutatav krüptoalgoritm (008) Päringu koostaja ID (Panga ID) Päringu vastuvõtja ID (Kaupmehe ID) Päringu ID Maksekorralduse number Makstud summa Valuuta lühend (EUR) Saaja konto number Saaja nimi Maksja konto number Maksja nimi Maksekorralduse viitenumber Maksekorralduse selgitus Maksekorralduse kuupäev (DD.MM.YYYY) Kontrollkood e. Allkiri Soovitav suhtluskeel ISO-8859-1 (vaikeväärtus), UTF8 või WINDOWS-1257 Y = panga poolt automaatselt saadetud vastus. 5.3 VÄLJANIMI VK_SERVICE VK_VERSION VK_SND_ID VK_REC_ID 5 6 7 - VK_STAMP VK_REF VK_MSG VK_MAC VK_LANG VK_AUTO JRK 5.4 PIKKUS 4 3 15 15 20 20 255 700 3 Teenuse number (1901) Kasutatav krüptoalgoritm (008) Päringu koostaja ID (Panga ID) Päringu vastuvõtja ID (Kaupmehe ID) Päringu ID Maksekorralduse viitenumber Maksekorralduse selgitus Kontrollkood e. Allkiri Soovitav suhtluskeel Y = panga poolt automaatselt saadetud vastus. 5.1 Päring 4001 Kaupmehe poolt saadetav päring internetipanga kasutaja identifitseerimiseks. Portaali looja peab arvestama, et pank teostab VK_DATE/VK_TIME väljade kontrolli vastu serverikellaaega. Juhul kui panga ja Portaali serverikellaaegade erinevus läheb piisavalt suureks, siis tühistatakse kõik sisenemised. Panga serveri kell on sünkroniseeritud vastu ntp.estpak.ee serverit. 5.2 5 VK_TIME 6 7 VK_SND_ID VK_INFO - VK_CHARSET - VK_MAC PIKKUS 4 3 16 10 8 15 300 12 700 KIRJELDUS Teenuse number (3002) Kasutatav krüptoalgoritm (008) Ei ole kasutusel Paketi genereerimise kuupäev (DD.MM.YYYY) Paketi genereerimise kellaaeg (HH24:MM:SS) Päringu koostaja ID (Panga ID) Kasutaja isikuandmeid sisaldav väli ISO-8859-1 (vaikeväärtus), UTF-8 või WINDOWS-1257 Kontrollkood e. allkiri Autentimispäring 4002 PIKKUS 1 2 3 4 VK_SERVICE VK_VERSION VK_SND_ID VK_REPLY 4 3 15 4 5 VK_RETURN 200 6 VK_DATE 7 VK_TIME - VK_CHARSET - VK_MAC 10 8 12 700 VÄLJANIMI PIKKUS 1 2 3 VK_SERVICE VK_VERSION VK_SND_ID 4 3 15 4 5 VK_REC_ID VK_NONCE 15 50 6 VK_RETURN 60 - VK_CHARSET 12 - VK_MAC 700 KIRJELDUS Teenuse number (4002) Kasutatav krüptoalgoritm (008) Päringu koostaja ID (kaupmehe ID) Päringu koostaja ID (Panga ID) Päringu koostaja poolt genereeritud juhuslik nonss URL, kuhu saadetakse tehingu vastuse päring ISO-8859-1 (vaikeväärtus), UTF-8 või WINDOWS-1257 Kontrollkood e. allkiri 6. AVALIKUD VÕTMED 6.1 LHV aktsepteerib sertifikaadipäringut või self-signed sertifikaati. Avalike võtmete vahetamine toimub lepingu sõlmimisel. Kasutame X.509 standardile vastavaid .PEM formaadis võtmeid/sertifikaate st. sisu on BASE64 kodeeringus ning märgendite ––BEGIN… –– ja ––END… –– vahel. Kliendi poolt genereeritud salajase võtme minimaalne pikkus peab olema 1024 bitti. 6.2 Võtmeid saab luua kasutades openssl utiliiti. Võtme loomisel soovitame lähtuda järgmistest tingimustest: (i) Signature algorithm - sha1RSA KIRJELDUS (ii) Public key - RSA(1024 Bits) Teenuse number (4001) Kasutatav krüptoalgoritm (008) Päringu koostaja ID (kaupmeheID) Oodatava vastuspaketi kood (3001,3002) URL, kuhu saadetakse tehingu vastuse päring Paketi genereerimise kuupäev (DD.MM.YYYY) Paketi genereerimise kellaaeg (HH24:MM:SS) ISO-8859-1 (vaikeväärtus), UTF-8 või WINDOWS-1257 Kontrollkood e. allkiri (iii) Kehtivusaeg mitte üle 10 aasta 7. KONTROLLKOODI VK_MAC LEIDMINE 7.1 Päringutes kasutatava elektroonse allkirja VK_MAC arvutus toimub kokkuleppelise algoritmi alusel. Algoritmi versiooni määrab päringu parameeter VK_VERSION. Hetkel on kasutusel ainult versioon 008. Allkiri VK_MAC edastatakse päringutes BASE64 kodeerituna, VK_MAC(MAC008) arvutatakse kasutades avaliku võtme algoritmi RSA ning räsialgoritmi SHA-1. MAC008(x1,x2,…,xn) := RSA( SHA-1(p(x1)|| x1|| p(x2)|| x2 || … ||p( xn )||xn), d, n) (i) x1, x2, …, xn on päringu parameetrid (ii) p on funktsioon parameetri pikkusest baitides. Pikkus on formateeritud kolmekohalise stringi kujul. Ehk siis pikkus 1 ' "001". Tühjade väljade pikkus on "000". (iii) d on RSA salajane eksponent (iv) n on RSA modulus (v) || - stringide liitmistehe Vastuspäring 3001 Kaupmehele edastatakse kasutaja identifikaator ning paketi genereerimise kuupäev ja kellaaeg. Turvalisuse huvides peab kaupmees kontrollima paketis olevat saatmise aega (VK_DATE ja VK_TIME). AS LHV PANK VK_SERVICE VK_VERSION VK_USER VK_DATE JRK KIRJELDUS AUTENTIMISPÄRINGUD (toetatud kuni 31.12.2015) VÄLJANIMI VÄLJANIMI 1 2 3 4 Kaupmehe poolt saadetav pakett kasutaja tuvastamiseks koos juhusliku nonssiga. 5. JRK Vastuspäring 3002 Kaupmehele edastatakse kasutaja identifikaator ning paketi genereerimise kuupäev ja kellaaeg. Väli VK_INFO sisaldab semikoolonitega eraldatud nimiväärtus paare kujul "NIMI:väärtus". Näiteks "ISIK:37508166516;NIMI:JAAN SAAR". Turvalisuse huvides peaks kaupmees kontrollima paketis olevat saatmise aega (VK_DATE ja VK_TIME). Kasutatakse ebaõnnestunud tehingust teatamiseks. 1 2 3 4 Teenuse number (3001) Kasutatav krüptoalgoritm (008) Ei ole kasutusel Paketi genereerimise kuupäev (DD.MM.YYYY) Paketi genereerimise kellaaeg (HH24:MM:SS) Päringu koostaja ID (Panga ID) ISO-8859-1 (vaikeväärtus), UTF-8 või WINDOWS-1257 Kontrollkood e. allkiri KIRJELDUS Vastuspäring 1901 JRK 700 KIRJELDUS TARTU MNT 2, 10145 TALLINN 6 800 400 [email protected]