Forum » Programiranje » Davčne blagajne - PHP
Davčne blagajne - PHP
Strato5 ::
Pozdravljeni,
poigravam se z implementacijo slovenskih davčnih blagajn, ker sem v preteklosti že implementiral davčne blagajne za hrvaško in me je zanimalo kolko bolj bodo uspeli pri nas celoten postopek zakomplicirati.
Na prvi pogled je zadeva zgledala dokaj enostavno ampak ko sem si pripravil primere računov v XML datotekah in se lotil PHP skript za pošiljanje, se mi je zataknilo.
Že če poskušam poslati preprost echo request, dobim odgovor "napačni parametri vnosa" zato me zanima ali delam napako jaz ali je kaj drugega?
PHP koda ki jo uporabljam:
če bi kdo bil pripravljen mi pomagati streti ta oreh bi bil zelo hvaležen. Pripravljen bi bil tudi deliti končno kodo v obliki knjižnice za slovenske davčne blagajne v PHP, ki bi lahko v prihodnosti marsikomu prišla prav.
za pomoč se vnaprej zahvaljujem
LP, Matija7
EDIT:
tehnične specifikacije in navodila, ki jih je objavil FURS so dostopni na sledečem naslovu: http://datoteke.durs.gov.si/dpr/index.h...
poigravam se z implementacijo slovenskih davčnih blagajn, ker sem v preteklosti že implementiral davčne blagajne za hrvaško in me je zanimalo kolko bolj bodo uspeli pri nas celoten postopek zakomplicirati.
Na prvi pogled je zadeva zgledala dokaj enostavno ampak ko sem si pripravil primere računov v XML datotekah in se lotil PHP skript za pošiljanje, se mi je zataknilo.
Že če poskušam poslati preprost echo request, dobim odgovor "napačni parametri vnosa" zato me zanima ali delam napako jaz ali je kaj drugega?
PHP koda ki jo uporabljam:
<?php $url = 'https://blagajne-test.fu.gov.si:9002/v1/cash_registers'; $Cert = '/Users/matija/Desktop/TestDB/test-tls.cer'; $xml_string = file_get_contents('/Users/matija/Desktop/TestDB/echoRequest.xml'); $xml = new DOMDocument(); $xml->loadXML($xml_string); $conn = curl_init(); $settings = array( CURLOPT_URL => $url, CURLOPT_CONNECTTIMEOUT_MS => 3000, CURLOPT_TIMEOUT_MS => 3000, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $xml, CURLOPT_FRESH_CONNECT => true, // secure this! CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_CAINFO => $Cert ); curl_setopt_array($conn, $settings); if ($rawResponse = curl_exec($conn)) { print_r($rawResponse); } else { throw new Exception('CODECURL: ' . curl_error($conn)); } echo "\n".$xml->saveXML(); ?>
če bi kdo bil pripravljen mi pomagati streti ta oreh bi bil zelo hvaležen. Pripravljen bi bil tudi deliti končno kodo v obliki knjižnice za slovenske davčne blagajne v PHP, ki bi lahko v prihodnosti marsikomu prišla prav.
za pomoč se vnaprej zahvaljujem
LP, Matija7
EDIT:
tehnične specifikacije in navodila, ki jih je objavil FURS so dostopni na sledečem naslovu: http://datoteke.durs.gov.si/dpr/index.h...
- premaknil iz Pomoč in nasveti: bluefish ()
Baja ::
preveri kaj in v kakem formatu pošiljaš podatke v 17. vrstici. mislim da mu xml format ne odgovarja. http://php.net/manual/en/function.curl-..., išči CURLOPT_POSTFIELDS
Strato5 ::
Japto je bil del problema. manjkal mi je header s soapactionom in v postfields sem mogel pasati raw xml string pa je šlo skoz z echo metodo.
sem našel odgovore s pomočjo v eni drugi temi o davčnih blagajnah. Hvala vseeno za pomoč :)
sem našel odgovore s pomočjo v eni drugi temi o davčnih blagajnah. Hvala vseeno za pomoč :)
suhipes ::
Pozdravljen Matija,
tudi sam se težko prebijam skozi php za te davčne blagajne. Zanima me kako si popravil zgornjo kodo, da ti deluje, iz tvojega zadnjega posta težko razberem kaj si popravil.
Do sedaj mi je uspelo narediti podpisovanje xml s testnim certifikatom za programerje, ki sem ga pridobil od fursa.
Manjka mi tale echo. No potem pa počasi še naprej.
Bi ti bil zelo hvaležen za pomoč.
lp Sandi
tudi sam se težko prebijam skozi php za te davčne blagajne. Zanima me kako si popravil zgornjo kodo, da ti deluje, iz tvojega zadnjega posta težko razberem kaj si popravil.
Do sedaj mi je uspelo narediti podpisovanje xml s testnim certifikatom za programerje, ki sem ga pridobil od fursa.
Manjka mi tale echo. No potem pa počasi še naprej.
Bi ti bil zelo hvaležen za pomoč.
lp Sandi
marko35 ::
p12 lahko konvertiras v cer na:
https://www.sslshopper.com/ssl-converte...
Jaz pa imam vprašanje kako bi lahko s PHP jem generiral ZOI?
Je kdo tako dober pa bi lahko prilepil kodo. Menda je že kar nekaj takih, ki jim je ratalo.
Mare
https://www.sslshopper.com/ssl-converte...
Jaz pa imam vprašanje kako bi lahko s PHP jem generiral ZOI?
Je kdo tako dober pa bi lahko prilepil kodo. Menda je že kar nekaj takih, ki jim je ratalo.
Mare
JerKoJ ::
$taxNum = 12345678; //from certificate $date= date('d.m.Y H:i:s',time()); $invoiceNumber=123; $businessPremiseID = 'AAA'; $electronicDeviceID = 'BBB'; $amount = 123.45; $signData = $taxNum.$date.$invoiceNumber.$businessPremiseID.$electronicDeviceID.$amount; $key = openssl_pkey_get_private('file://mycert.pem',$hiddenPass); //convert from .p12 openssl_sign($signData, $signature, $key, OPENSSL_ALGO_SHA256); openssl_free_key($key); $zoi=md5($signature);
vajenec ::
Na testnem okolju mi deluje vse, se je pa zakompliciralo na produkcijskem - in to s certifikati. Kako (iz česa oz s čim) narediti .pem certifikata za povezavo? Ves čas teži SSL certificate problem: self signed certificate in certificate chain, če naredim cerifikata po navodilu za testno okolje.
vajenec ::
Kolega je izjavil, da je včasih zaradi dreves težko videti gozd. Prav je imel. Uporabniški certifikat in sigov-ca.crt sta dovolj.
brble ::
Zdravo pubeci ino pupe.
Najprej bi se rad zahvalil vsem, ki tako lepo sodelujete na tem forumu. Tudi z vašo pomočjo sem skupaj sestavil to presneto skripto. Ker bi rad prihranil muke vsem, ki se s tem ukvarjate, sem se odločil, da svojo skripto objavim. Skripta pokriva:
- echo sporočilo
- prijavo poslovnega prostora
- prijavo posameznega računa
- se omejuje na operacije prek spletne strani, kar pomeni, da obstaja 1 poslovni prostor in 1 elektronska naprava.
Ker drugega v tem trenutku ne potrebujem, se mi ni dalo pisati naprej. V osnovi je skripta tako narejena, da je nadgradnja precej logična in enostavna. Vse kar vas prosim, je, da če boste skripto (kvalitativno) nadgradili, da mi jo pošljete nazaj, da jo objavim še za vse ostale. Pošljite mi še svoje ime, da ga navedem v avtorstvu.
PHP skripta za potrjevanje računov je dostopna na:
https://github.com/matejpos/PHP-davcne-...
Najprej bi se rad zahvalil vsem, ki tako lepo sodelujete na tem forumu. Tudi z vašo pomočjo sem skupaj sestavil to presneto skripto. Ker bi rad prihranil muke vsem, ki se s tem ukvarjate, sem se odločil, da svojo skripto objavim. Skripta pokriva:
- echo sporočilo
- prijavo poslovnega prostora
- prijavo posameznega računa
- se omejuje na operacije prek spletne strani, kar pomeni, da obstaja 1 poslovni prostor in 1 elektronska naprava.
Ker drugega v tem trenutku ne potrebujem, se mi ni dalo pisati naprej. V osnovi je skripta tako narejena, da je nadgradnja precej logična in enostavna. Vse kar vas prosim, je, da če boste skripto (kvalitativno) nadgradili, da mi jo pošljete nazaj, da jo objavim še za vse ostale. Pošljite mi še svoje ime, da ga navedem v avtorstvu.
PHP skripta za potrjevanje računov je dostopna na:
https://github.com/matejpos/PHP-davcne-...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Davčne blagajne (strani: 1 2 3 4 … 24 25 26 27 )Oddelek: Programiranje | 332247 (72250) | Macketina |
» | Davčna blahajna - PHP - certifikatiOddelek: Programiranje | 1033 (799) | app5771283 |
» | PHP davčna blagajnaOddelek: Programiranje | 8077 (6101) | brble |
» | online davčne blagajne - plagiat hrvaških?Oddelek: Loža | 10231 (8781) | Matako |
» | [java] system.setproperty xml apis vec implementacij naenkratOddelek: Programiranje | 2689 (2148) | Fizikalko |