PHP framework

Nov 27, 2012 at 4:47 PM

Pozdrav kolege, da li je netko radio na PHP verziji potpisivanja računa? Ako nije, da li postoji potreba da napravimo zajedno?

Nov 27, 2012 at 5:48 PM

I ja ću raditi na jednom takvom projektiću, ali tek negdje u drugom ili trećem mjesecu slijedeće godine. 

Nov 27, 2012 at 5:55 PM

Kakva je ideja?

Za sada ne vidim problem da se realizira sa openssl_pcks12_read funkcijom i php cURL metodom?

 

http://php.net/manual/en/function.openssl-pkcs12-read.php

http://stackoverflow.com/questions/561816/php-curl-extract-an-xml-response

Nov 30, 2012 at 6:09 PM

Što se tiče PHP-a, vidi li netko realni problem u povezivanju putem exec funkcije, primjer

<?php

echo exec('call.bat');

?>

 

call.bat
Raverus.FiskalizacijaDEV.EXE.exe RacunZahtjev "" "C:\Users\my pc\Documents\a.xml" "C:\Users\my pc\Documents\b.xml" true true "FISKAL1"

 

Govorimo o radu na localhostu na windowsu, XAMPP.

Nov 30, 2012 at 8:06 PM

Koliko sam upoznat moja firma je napravila prvo samostalno, robustno rjesenje za php platformu, koje je neovisno o OS-u (windows/linux/etc) i koje je vec sad spremno za produkciju.

http://www.mcs-informatika.hr/

pozdrav

Nov 30, 2012 at 11:06 PM

Da li se već može komercijalno kupiti?

Dec 1, 2012 at 11:08 AM
Edited Dec 1, 2012 at 11:10 AM

Fiscalman, trenutno nije dostupan ali za dodatne informacije mozes poslati upit na info(at)mcs-informatika.hr

Dec 1, 2012 at 11:59 AM
mpapec wrote:

Fiscalman, trenutno nije dostupan ali za dodatne informacije mozes poslati upit na info(at)mcs-informatika.hr

Ako nije besplatan, mislim da je krajnje nedopustivo i nekorektno da se uopće spominje na ovom forumu na kojem svi, počevši od začetnika projekta, bezrezervno dijele sve što znaju i imaju potpuno besplatno.
Inače bi ispalo da je forum iskorišten kao besplatna reklama za tu tvrtku i njen proizvod.

Dec 1, 2012 at 12:13 PM

Moje isprike clanovima foruma ako su time narusena pravila istog, i molim administratora da u tom slucaju obrise sporne poruke.

lp

Dec 6, 2012 at 1:08 AM

Evo ja se već par sati igram sa ovim i malo sam zapeo. Dobijem nešto što mi izgleda kao ispravna poruka, međutim FINA mi odgovara sa: "Neispravan digitalni potpis"

Koristio sam xmlseclib koji sam morao pošteno prepraviti kako bih dobio

.........
<SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <Reference URI="#poslovniProstorId"> <Transforms>
..........

umjesto:

......
<ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <ds:Reference URI="#poslovniProstorId"> <ds:Transforms>
.....

Ono što me trenutno muči je što imam:

 

<Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

umjesto:
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">

 

Drugo pitanje koje imam je, što se točno potpisuje sa certifikatom. Kanonizirani <Signature> skupa sa Digestom ili pak isto kao i prilikom računanja Digesta, sama kanonizirana poruka?

Pitam zato što bi mi bilo logičnije da se potpisuje poruka, a koliko sam debugirao xmlseclib on zapravo potpisuje <Signature> element što mi nema nikakvog smisla.

Ja sam krenuo sa klasični CURL-om, je li netko uspio složiti da se koristi SoapClient? Neznam kako bih umetnuo potpis u SoapClient...

Dec 6, 2012 at 6:39 PM

"ds" je namespace i to nemoj dirati jer xmlseclibs zna bolje od tebe. :)

Da, <Signature> se ne potpisuje vec RacunZahtjev, a <Signature> se naknadno smjesta unutar RacunZahtjev.

Dec 11, 2012 at 10:54 AM

Evo PHP verzija izračuna zaštitnog koda:

$zki = ZastitniKodIzracun("democert.pfx", "lozinka", "12345678901", "2012-12-11 08:04:26", "1", "11", "12", "11125.25");
echo ($zki);



function ZastitniKodIzracun($certifikat, $lozinka, $oib, $datetime, $brrac, $ozn_posl, $ozn_napl, $ukup_izn_rac){

	$p12cert = array();
	$fd = fopen($certifikat, 'r');
	$p12buf = fread($fd, filesize($certifikat));
	fclose($fd);

	if (openssl_pkcs12_read($p12buf, $p12cert, $lozinka)){
		
		$private_key = $p12cert['pkey'];
		
	}
	else
	{
		echo 'Nemogu otvoriti certifikat!';
	}

	$medjurezultat = $oib;

	$datVrij = 	date('d.m.Y H:i:s', strtotime($datetime));

	$medjurezultat .= $datVrij;

	$medjurezultat .= $brrac;

	$medjurezultat .= $ozn_posl;

	$medjurezultat .= $ozn_napl;

	$medjurezultat .= $ukup_izn_rac;

	$signature = "";

	openssl_sign($medjurezultat, $signature, $private_key, OPENSSL_ALGO_SHA1);
	openssl_free_key($private_key);

	return md5($signature);
}

Dec 14, 2012 at 2:56 PM

nezardc hvala puno na ovom komadu koda, da li imas mozda i dio sa kojim generiras glavni xml?

Hvala, Dorijan

Dec 14, 2012 at 6:08 PM

Ima li netko kompletan primjer potpisivanja xml poruke.

Koliko vidim ovo što je nezardc postao je samo za izračun zaštitnog koda, može li neki primjer potpisivanja cijelog XML dokumenta?

Uspio sam na kraju potpisati dokument sa xmlsec alatom, no preferiram čisto PHP riješenje.

 

@mpapec, znači ovo sa ds: prolazi u poreznoj? Mislio sam da me to mučilo jer mi je javljalo da je potpis neispravan, pa sam zato to išao micati.

Dec 15, 2012 at 8:40 AM

Imam ja cijeli kod, samo mi je na poslu sve pa ću u pon postati ostalo :)

Dec 15, 2012 at 6:29 PM
nezardc wrote:

Imam ja cijeli kod, samo mi je na poslu sve pa ću u pon postati ostalo :)

Za to plaćam ćevape! :)

Dec 15, 2012 at 7:11 PM

i ja isto :)

Dec 16, 2012 at 9:25 PM

Evo i treće porcije :)

Dec 17, 2012 at 1:07 PM

Evo ovako. Nažalost moram vas razočarati i reći vam da ipak nemam riješenje. Kolega i ja se dobrano mučimo još uvijek oko toga.
Ništa od ćevapa zasad, a tako sam se ponadao! hehe

dorijan, mogu ti postati kod gdje generiram RacunZahtjev.xml, ali jos uvijek imam problema sa potpisom.

Probali smo potpisati xml dokument i preko RaverusFiskalizacijaDEV.EXE.exe datoteke, ali i to iz php-a nikako da proradi, dok u DOS-u odmah proradi. Trudimo se da nam proradi i preko RaverusFiskalizacijaDEV.COM, ali zasad ništa. Dali je itko od vas tako uspio potpisati xml?

gog, kažeš da si ti uspio potpisati. Možeš li ti postati kako si to napravio sa xmlsec alatom?

Dec 17, 2012 at 1:26 PM

Pozdrav

nezardc moze, ako moze tu ili na mail dmailj@gmail.com,

pa ako uspijem nesto napraviti pošaljem tu, ili na mail...

 

Dorijan

Dec 17, 2012 at 1:34 PM

A što mislite o rješenju preko SysTray.EXE, čini se vrlo zgodno i jednostavno?

Dec 17, 2012 at 1:47 PM

Evo dorijan, poslano.

pehape, ti si uspio preko toga ili?

Dec 17, 2012 at 3:15 PM

Nisam integrirao još, ali koliko vidim radi se sa txt datotekama i ako se ne varam trebali bi samo s phpom izvuć potrebne podatke i zaljepit na račun (jir i zki)? Vezu sam uspostavio.

Dec 17, 2012 at 3:18 PM
Edited Dec 17, 2012 at 3:26 PM

Uspio sam ga ja potpisat sa phpom i COMom "jos davno, aka prosli tjedan", tj nisam ga potpisao nego ga saljem odmah.

Napravite obican XML string bez signaturea i samo zovete

$response = $com->PosaljiSoapPorukuCertifikatDatoteka($xml,$certPath,$certPass);

Hvatajte exceptione na pozivu, ako poziv ima exception error 500, probajte uzeti poruku greske sa

$error = $com->OdgovorGreska;

Ja trenutno radim na čistom PHP rjesenju, mislio da imate istu namjeru. Uglavnom ovo sa COMom radi bez problema. (koristim punu putanju do .pfx-a)

 

Ako vam ovo nije dosta,  vidjet cu sa sefom da open sourcam ovaj kod koji imam (raverus COM verzija), ima cirka 60 linija sa mnogo whitespacea unutra i punim error handlingom.

Dec 17, 2012 at 4:08 PM
Edited Dec 17, 2012 at 4:09 PM

Ma da, više manje ćemo svi vjerujem u relativno brzom roku rješiti potpisivanje s već (zahvaljujući ekipi) gotovim alatima. Volio bi vidjeti i bio bi zahvalan ako netko ima s čistim phpom rješeno jer se također mislim uhvatit ovakvog načina.

Dec 17, 2012 at 5:34 PM
Edited Dec 17, 2012 at 8:59 PM

Potpisivanje sa command line xmlsec-om je trivijalno. Ja planiram aplikaciju vrititi na Linux poslužitelju tako da pretpostavljam ovo COM riješenje mi ništa ne znači.

Što se xmlsec-a tiče procedura je ovakva:

Da bi ispravno potpisao dokumenta moraš dodati signature u njega, inače xmlsec ne zna što sve treba napraviti sa signature-om, na primjeru poruke za Poslovni prostor poruka koja se potpisuje treba izgledati ovako:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<f73:PoslovniProstorZahtjev xmlns:f73="http://www.apis-it.hr/fin/2012/types/f73" Id="poslovniProstorId">
<f73:Zaglavlje>
<f73:IdPoruke>ca996cc7-fcc3-4c50-961b-40c8b875a5e8</f73:IdPoruke>
<f73:DatumVrijeme>01.09.2012T21:10:34</f73:DatumVrijeme>
</f73:Zaglavlje>
<f73:PoslovniProstor>
<f73:Oib>1234567890</f73:Oib>
<f73:OznPoslProstora>Poslovnica1</f73:OznPoslProstora>
<f73:AdresniPodatak>
<f73:Adresa>
<f73:Ulica>Avenija Marina Drzica</f73:Ulica>
<f73:KucniBroj>0014</f73:KucniBroj>
<f73:KucniBrojDodatak>B</f73:KucniBrojDodatak>
<f73:BrojPoste>10000</f73:BrojPoste>
<f73:Naselje>Zagreb</f73:Naselje>
<f73:Opcina>12345</f73:Opcina>
</f73:Adresa>
</f73:AdresniPodatak>
<f73:RadnoVrijeme>Pon: 07:00-14:00, Uto: 07:00-17:00, Sri: 18:00-20:00, Cet: 12:00-16:00, Pet: 09:00-18:00, Sub: 08:00-21:00, Ned: 09:00-14:00</f73:RadnoVrijeme>
<f73:DatumPocetkaPrimjene>01.01.2013</f73:DatumPocetkaPrimjene>
<f73:SpecNamj>08765432498</f73:SpecNamj>
</f73:PoslovniProstor>
      <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
        <SignedInfo>
          <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
          <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
          <Reference URI="#poslovniProstorId">
            <Transforms>
              <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
              <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
            </Transforms>
            <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
            <DigestValue></DigestValue>
          </Reference>
        </SignedInfo>
        <SignatureValue></SignatureValue>
        <KeyInfo>
          <X509Data>
            <X509Certificate></X509Certificate>
          </X509Data>
        </KeyInfo>
      </Signature>
</f73:PoslovniProstorZahtjev>

 

Nakon što tu poruku spremiš na disk, pozoveš sa PHP-om xmlsec:

 

xmlsec1 --sign --output potpisana_poruka.xml --pkcs12 path-do-certifikata.pfx --pwd password_od_certifikata --id-attr:Id poslovniProstorId poruka_koja_se_potpisuje.xml

Umjesto zapisivanja potpisane poruke na disk predlažem da pozivaš xmlsec1 sa shell_exec bez "--output potpisana_poruka.xml"  pa ćeš odmah dobiti output nazad.

 

$potpisana = shell_exec('/usr/bin/xmlsec1 --sign --pkcs12 path-do-certifikata.pfx --pwd password_od_certifikata --id-attr:Id poslovniProstorId poruka_koja_se_potpisuje.xml');

 

 

Dec 17, 2012 at 6:30 PM

Je li netko uspio potpisati poruku sa http://code.google.com/p/xmlseclibs/ ?

Dec 17, 2012 at 9:22 PM

gog hvala na ovim uputama, ali ja ne uspjevam potpisati ovaj xml koji si stavio tu sa ovom komandom, dobijem greske:

 

func=xmlSecXPathDataExecute:file=xpath.c:line=273:obj=unknown:subj=xmlXPtrEval:error=5:libxml2 library function failed:expr=xpointer(id('poslovniProstorId'))func=xmlSecXPathDataListExecute:file=xpath.c:line=356:obj=unknown:subj=xmlSecXPathDataExecute:error=1:xmlsec library function failed:func=xmlSecTransformXPathExecute:file=xpath.c:line=466:obj=xpointer:subj=xmlSecXPathDataExecute:error=1:xmlsec library function failed:func=xmlSecTransformDefaultPushXml:file=transforms.c:line=2395:obj=xpointer:subj=xmlSecTransformExecute:error=1:xmlsec library function failed:func=xmlSecTransformCtxXmlExecute:file=transforms.c:line=1226:obj=unknown:subj=xmlSecTransformPushXml:error=1:xmlsec library function failed:transform=xpointerfunc=xmlSecTransformCtxExecute:file=transforms.c:line=1286:obj=unknown:subj=xmlSecTransformCtxXmlExecute:error=1:xmlsec library function failed:func=xmlSecDSigReferenceCtxProcessNode:file=xmldsig.c:line=1571:obj=unknown:subj=xmlSecTransformCtxExecute:error=1:xmlsec library function failed:func=xmlSecDSigCtxProcessSignedInfoNode:file=xmldsig.c:line=804:obj=unknown:subj=xmlSecDSigReferenceCtxProcessNode:error=1:xmlsec library function failed:node=Referencefunc=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=547:obj=unknown:subj=xmlSecDSigCtxProcessSignedInfoNode:error=1:xmlsec library function failed:func=xmlSecDSigCtxSign:file=xmldsig.c:line=303:obj=unknown:subj=xmlSecDSigCtxSigantureProcessNode:error=1:xmlsec library function failed:Error: signature failedError: failed to sign file "nekixml.xml"

Dec 18, 2012 at 8:10 AM
Edited Dec 18, 2012 at 8:12 AM

grizwako, meni preko COM verzije javlja grešku: "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel." Neznam dali je problem u certifikatu ili mi je to do php-a... Dali se tebi to dogodilo?

Bilo bi lijepo kad bi mogao staviti source kod od COM verzije, mislim da bi ti dosta njih bilo zahvalno... :)


Coordinator
Dec 18, 2012 at 8:15 AM

@nezardc, Stvar je certifikata: http://blog.fiskalizacija-dev.com.hr/post/2012/10/17/Certifikati-i-fiskalizacija.aspx

Dec 18, 2012 at 8:23 AM

@nezardc Brzi hack je stavljanje certifikata da vazi za cijeli komp. Ono, kad ga instaliras duplim klikom, on ce vaziti samo za trenutnog usera.

Otvori mms, dodaj cert snap-in. Odaberi trecu opciju kada biras za koga ides administrarat certove, te ga tamo importaj u Trusted Root.

Uglavnom, ta poruka se odnosti na onaj 'samopotpisani' cert, i njega moras importirat.

 

Moguce je da ga ne treba importat za cijeli komp(ne znam bas puno o sustavu certifikata),no kod mene je to rjesilo problem.

Dec 18, 2012 at 9:06 PM
Edited Dec 18, 2012 at 9:12 PM
dorijan wrote:

gog hvala na ovim uputama, ali ja ne uspjevam potpisati ovaj xml koji si stavio tu sa ovom komandom, dobijem greske:

Ok, skužio sam što je krivo, problemi u copy pejstanju, treba biti:

 

xmlsec1 --sign --output output.xml --pkcs12 CERTIFIKAT.pfx --pwd PASSWORD --id-attr:Id PoslovniProstorZahtjev poruka.xml

umjesto:

xmlsec1 --sign --output output.xml --pkcs12 CERTIFIKAT.pfx --pwd PASSWORD --id-attr:Id poslovniProstorId poruka.xml
Krivi parametar je bio za --id-attr:Id

Dec 19, 2012 at 9:20 PM
Edited Dec 20, 2012 at 8:36 AM

pozdrav ljudi, novi sam na forumu, te isto danima tražim kako rješiti fiskalizaciju računa na linux serveru u phpu. na internetu sam našao jednu klasu  koja bi možda mogla pomoći, postati ću ju ovdje da vidim šta vi mislite o tome i kako bi se to moglo implenetirati.

evo link za klasu: http://www.phpkode.com/source/s/xml-security/xml-security/xmlsec.class.php

ovako bi se trebala koristiti:

<?
include "xmlsec.class.php";

 $xmlsec = new xmlsec( 'deskey.xml');

 if ( !file_exists('deskey.xml') ){
       if ( !$xmlsec->addkey('deskey.bin', 'DES', XMLSEC_DES)  )
            die( $xmlsec->errorMsg );
 }


  // read input xml file
  $f =  fopen( "data.xml" , 'r') ;
  if ( !$f ){
     echo 'Error open file ';
     exit;
  }

  $xmlstr = fread($f, filesize("data.xml"));
  fclose($f);

  $doc = domxml_open_mem( $xmlstr );

 if ( !$doc )
  {
      echo "Error while parsing the input xml document\n";
      exit;
  }


  // encrypt data
  $encryptxml = $xmlsec->encrypt($doc , XMLSEC_3DES );
  if ( !$encryptxml  )
   die( $xmlsec->errorMsg  .'
'.$xmlsec->cmd);

  unset( $doc );
  $doc = domxml_open_mem( $encryptxml );
   if ( !$doc )
  {
      echo "Error while parsing the decrypt document \n";
      exit;
  }

 // decrypt data
 $outxml = $xmlsec->decrypt( $doc );
 if ( !$outxml  )
   die( $xmlsec->errorMsg  .'
'.$xmlsec->cmd);
 else
  header('Content-type: text/xml');

PRINT  $outxml;

?>

 

da li netko od vas ima ideju kako to iskoristiti za fiskalizaciju računa

Dec 20, 2012 at 8:32 AM

Uh, nisi morao bas cijeli source postati ovdje, mogao si samo staviti link na phpclasses ili odakle god si ga skinuo..

Dec 20, 2012 at 8:37 AM

Evo promjenio sam stavio sam link, upravu si grizwako, ovako je bolje.

Dec 21, 2012 at 9:00 AM

Pozdrav kolege,

da Vas informiram kako sam ja napravio komunikaciju između EXE datoteke az potpisivanje i PHP-a, kao što sam već prije pisao, imam problem s SSL konekcijom kod direktnog pozivanje EXE-a i PHP-a executeom bat datoteke.

 

Rješenje je sljedeće:

- rad na Win platformi

- Nusephere / Xamp ili slični virtualni server

- Mala VB.NET aplikacija koja radi u system trayu sljedeće:

* svaku desetinu sekunde (opcionalno) provjerava da li u xy folderu postoji datoteka primjerice "novipotpis.txt"

* datoteku "novipotpis.txt" generira PHP aplikacija

* Ukoliko postoji datoteka "novipotpis.txt" prilikom provjere timera u VB.NET poziva se bat file koja poziva vanjski EXE

* Desktop aplikacija također svakih 0,1 sekundu generira kontrolnu datoteku sa zapisom vremena, PHP aplikacija u kombinaciji s Ajaxom provjerava da li se vremena poklapaju, ukoliko ne prikazuje grešku da VB.NET aplikacija nije otvorena

* Još nekoliko kontrolnih filtera je uključeno

 

Homemade rješenje, ali jako dobro funkcionira za sada :) Da li netko vidi neku realnu prepreku za ovakav rad u realnim uvjetima?

 

Da li ima naznaka da ćemo uspjeti napraviti "čisto PHP potpisivanje", da li se možda ujediniti i prevesti manual od porezne i postaviti projekt na oDesk i podijeliti troškove projekta? I dalje držim da je s PHP-om jako jednostavno napraviti potpisivanje, problem je što se do sada nisam niti u teoriji susretao s nekim pojmovima i nemam dovoljno povjerenja sam u sebe tako ozbiljnu stvar raditi pokusno.

 

Također, molim da da mi netko na mmisic70@net.hr pošalje dijelove sourca koji su se slali, hvala.

 

Vraćam se s puta za nekoliko dana pa mogu uploadati VB.NET source koji komunicira između PHP i vanjskog EXE.

 

LP,

 

Dec 21, 2012 at 9:04 AM

Druga ideja je PHP/Java bridge http://php-java-bridge.sourceforge.net/pjb/tomcat6.php za pozivanje vanjskog EXE-a

Najveći problem ovakvog sustava je isključivo WIN platforma.

Dec 21, 2012 at 9:14 AM

A gle, ovaj dio mi je zapeo za oko:

- Mala VB.NET aplikacija koja radi u system trayu sljedeće:

* svaku desetinu sekunde (opcionalno) provjerava da li u xy folderu postoji datoteka primjerice "novipotpis.txt"

* datoteku "novipotpis.txt" generira PHP aplikacija

Ovo sve stoji, ali recimo PHP aplikacija generira u dvije fileice "novipotpis.txt" ( recimo u isto vrijeme sa dva mjesta - radne stanice )
Ja bi mozda samo u naziv txt file-a dodao neki indikator ( naplatnog uređaja, oib djelatnika  ili tako nesto ) a ova VB.NET aplikacija nega u folderu gleda sve *.txt datoteke.

To tek onako da slicajno jedan file ne pregazi drugi.

 

 

Dec 21, 2012 at 11:48 AM

Zašto komplicirate, ne koristim PHP na Windowsima, ali ne vidim problem u slijedećem workflow-u:

  1. Spremi XML za potpis u temp file
  2. Pozovi alat za potpisivanje XML-a sa exec()
  3. Učitaj potpisani XML
  4. Slanje u CIS i iščitavanje podataka pretpostavljam nije nikome problem

Ja sam pokušao potpisati dokument sa PHP xmlsecs lib-om, ali hash koji dobijem i sam potpis (SHA1) su različiti od onoga što generira xmlsec1 CLI alat.

Dec 27, 2012 at 8:24 PM

Pozdrav ljudi, prvo sretni blagdani svima.

Znam li netko kako uspješno napisati echo metodu u phpu za fiskalizaciju, cijeli dan se ubijam na tome ali nejde nedobivam odgovor od CIS-a.

Sve radim na svom linux serveru. Ime servera je "centora" ako vas to zbunjuje slucajno.

<?php
   $client = new SoapClient("http://centora/test.wsdl", array(
      'location' => "https://cistest.apis-it.hr:8449/FiskalizacijaServiceTest",
    // 'login'          => "",
   //  'password'       => "",
      'local_cert'  => "/home/lusio/public_html/cistest.apis-it.hr.crt",
      'encoding'    => "UTF-8",
    
       'trace'=>1));

 // var_dump($client->__getFunctions());

  try {
      echo "asdffs";
    var_dump($client->__getFunctions());
    } catch (Exception $exp) {
   die("Exp: " . var_export($exp, 1) . "\n"); // here I get error
}
?>

ovo je test.wsdl xml datoteka

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:f73="http://www.apis-it.hr/fin/2012/types/f73">
<soapenv:Body>
<f73:EchoRequest>proizvoljan tekst</f73:EchoRequest>
</soapenv:Body>
</soapenv:Envelope>

Ima li tko kakvu ideju gdje griješim?

Pozz

Jan 2, 2013 at 7:45 PM

Odakle preuzimate datum, lokalno s windowsa (linux?) ili s interneta i da li datum automatski nakon određenog vremena ažurirate prema vremenu na internetu?

Jan 9, 2013 at 12:16 AM

Finally, nešto konkretno..

http://www.magentocommerce.com/magento-connect/catalog/product/view/id/15776/

Skinuo sam source, koristi xmlseclibs ; ne čini mi se toliko jako komplicirano, trebalo bi proučiti i poslužiti se idejom. :)

lp

Jan 9, 2013 at 12:17 AM

Inače, ekstenzija je free; jedino što je namijenjena samo Magento aplikaciji.

Jan 9, 2013 at 8:52 AM

Super, hvala puno za pronalazenje blaga :)

Nego, ne kuzim kak skinuti tu ekstenziju? Registrirao sam se, i dobio neki kljuc http://connect20.magentocommerce.com/community/Inchoo_Fiskalizacija ali tam nis nema?

Dorijan

Jan 9, 2013 at 2:12 PM

Hvala svima koji su ovdje pisali. Try & error, čitajući i probavajući pomaknuo sam se s mrtve točke.

U PHP-u (CodeIgniter, XAMPP pod Windowsima 7, demo cerifikat) sam uspio rijesiti potpisivanje sa XMLSEC-om Zahtjeva za poslovni prostor koristeći ovdje naveden postupak i uzorak. Dodao sam na XML programski SOAP envelope i sa CURLom pokusao to poslati serveru, ali sam dobio odbijenicu: http code 500. Znaci nesto mi ne stima u osnovi komunikacije.

Za RacunZahtjev mi ne uspijeva niti potpisivanje.

Ima netko neki savjet uputu?

 

Jan 9, 2013 at 4:38 PM

Riješio sam http error 500. Pretpostavljam kad sam postavio nase podatke, pretpostavljam da je OIB kljucan i da se usporedjuje sa demo certifikatom.

Sad mi ostaje racun.

XMLSec mi javi:

Error: failed to find default node with name="Signature"
...

XMLSEC command line:
xmlsec.exe --sign --pkcs12 fiskal1.pfx --pwd H2O --id-attr:Id RacunZahtjev r2.xml

Poruka bi trebala imati veze sa:

xml koji se potpisuje (dio):

<?xml version="1.0" encoding="UTF-8"?>
<tns:RacunZahtjev Id="racunId"
               xmlns:tns="http://www.apis-it.hr/fin/2012/types/f73"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://www.apis-it.hr/fin/2012/types/f73 ../schema/FiskalizacijaSchema.xsd">
<tns:Zaglavlje>
...

Gdje grijesim?
Jan 9, 2013 at 5:33 PM

Download Magento ekstenzive:

- registrirati se, "pokupiti" magento ekstenzija key

- direktan download: http://freegento.com/ddl-magento-extension.php

- exportirati sa 7zip programom (tar.gz) je u pitanju

 

Koliko vidim modificirali su xmlsec library, čovjek je označio dio koji je dodao. Na putu sam ovih dana, pa sam samo letimično par puta pregledao? Kad pogledate, dajte i vi mišljenje, mislim da smo jako blizu :)

 

Napomena: mora biti pfx datoteka za certifikaz sa passwordom, ne smije biti bez lozinke.

Jan 10, 2013 at 10:32 AM

Greska je nestala kad sam u XML nepotpisanog racuna dodao (izmedju </tns:Racun> i </tns:RacunZahtjev>

 

</tns:Racun>
-------------- dodano 

        <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
        <SignedInfo>
        <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
        <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
        <Reference URI="#racunId">
        <Transforms>
        <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
        <DigestValue></DigestValue>
        </Reference>
        </SignedInfo>
        <SignatureValue />
        <KeyInfo>
        <X509Data >
        <X509SubjectName/>
        <X509IssuerSerial/>
        <X509Certificate/>
        </X509Data>
        <KeyValue />
        </KeyInfo>
        </Signature>        

----------- kraj dodanog

</tns:RacunZahtjev>

 

 

<Reference URI="#racunId"> : racunId je Id uz element RacunZahtjev:
<tns:RacunZahtjev Id="racunId" xmlns:tns="http://www.apis-it.hr/fin/2012/types/f73" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

XMLSEC komandni redak:
xmlsec.exe --sign --pkcs12 fiskal1.pfx --pwd H2O --id-attr:Id RacunZahtjev racun.xml

Sad mi preostaje dotjeravati greske u komunikaciji s PU sajtom.
Jan 10, 2013 at 6:40 PM

Ja sam sve napravio tako da php poziva java kod. Za localhost idealno...

Jan 10, 2013 at 8:29 PM

Ne vidim po čemu je konekcija sa java konekcijom bolja od SysDos rješenja? Samo je robusniji sustav i još jedan addon koji mora biti instaliran (java virtual machine)..

 

Tko radi localhost, preporučam SysDos, radi na demu savršeno, testirano na 25000 računa, 2 računa nisu prošla (timeout postavljen na 5)..

Jan 11, 2013 at 12:32 AM

PHP nije u mojoj domeni (oprostite sto se mijesam), ali ne znam decki, zasto se mucite kad gotova rjesenja kao sto su Fiska2Tray ili Wrapper, koji se oba oslanjaju na Raverus rade savrseno?! Mislim da se uopce nema potrebe muciti i i izmisljati svoju toplu vodu kad su drugi to vec napravili, a izgleda da funkcioniraju odlicno. Ja to mogu potvditi za kombinaciju DOS / Fiska2Tray, ali iskren da budem, da programiram u bilo cemu sto radi pod Windowsima, ne bih se upustao u probleme sa certifikatima, potpisivanjima, generiranjem xml-ova i svega ostalog, nego bih koristio kombinaciju moj program + F2T ili Wrapper, vec sto kome odgovara, a vrijeme potrosio na programiranje ostalog.

Jos jednom, isprika sto se petljam gdje mi nije mjesto, a ispravite me ako postoji neophodan razlog da bas radite sopstvena rjesenja (osim radoznalosti, inata, i sl.)  :)

Jan 11, 2013 at 9:35 AM
Edited Jan 11, 2013 at 9:10 PM

Pozdrav ljudi, u suradnji s jednom firmom iz Varaždina razvili smo kvalitetno rješenje za fiskalizaciju na php platformi u obliku PHP klase, ne koristimo nikakve vanjske library-e. Maksimalno optimizirano za brzinu i pouzdanost. Slobodno se javite na email ako imate kakvih pitanja. emil.trandler [et] info-sektor.hr

Jan 11, 2013 at 7:48 PM
trandler wrote:

Pozdrav ljudi, u suradnji s jednom firmom iz Varaždina razvili smo kvalitetno rješenje za fiskalizaciju na php platformi u obliku PHP klase, ne koristimo nikakve vanjske library-e. Maksimalno optimizirano za brzinu i pouzdanost. Slobodno se javite na email ako imate kakvih pitanja.

A na koji mail da ti se javimo, i reci odmah koliko košta i je li uopće išta košta ili je besplatno kao što je ovdje sve besplatno.

Jan 11, 2013 at 9:09 PM

dodao sam mail

Jan 12, 2013 at 12:41 AM

Jel moze netko postati odgovor tu, da svi ne zatrpavamo covjekov mail :)

Jan 12, 2013 at 8:08 AM

Evo mogu ja jer sam dobio mail od čovjeka, nije besplatno. Cijenu ne mogu napisati ali piše se sa 4 znamenke i ovisi o razini/trajanju podrške za koji se odluči kupac. :)

Jan 12, 2013 at 12:02 PM
trandler wrote:

Pozdrav ljudi, u suradnji s jednom firmom iz Varaždina razvili smo kvalitetno rješenje za fiskalizaciju na php platformi u obliku PHP klase, ne koristimo nikakve vanjske library-e. Maksimalno optimizirano za brzinu i pouzdanost. Slobodno se javite na email ako imate kakvih pitanja. emil.trandler [et] info-sektor.hr

evo ljudi ovako:
Zahtjevi su imati instaliran xmlsec1 na serveru ili računalu, te php sa extenzijama openssl, curl i imati otvoren port 8449 u firewall-u. Ako mi partner dozvoli da objavim cijenu objaviti ću ju.

Jan 13, 2013 at 4:15 PM

@trandler

A da ti i kolege otvorite vlastiti sajt pa se reklamirate na njemu, a ne na open source forumu nudite svoja komercijalna rjesenja?

SVINJARIJA!

Jan 13, 2013 at 7:44 PM
viggor wrote:

@trandler

A da ti i kolege otvorite vlastiti sajt pa se reklamirate na njemu, a ne na open source forumu nudite svoja komercijalna rjesenja?

SVINJARIJA!

@viggor
A tko ti je kriv što ti ne možeš takvo što napraviti nego se šlepaš s tuđim trudom i znanjem, a sigurno si naplatio nadogradnju za fiskaliziranje...

''bo te clipper/clarion ili što već

Jan 13, 2013 at 7:55 PM
Edited Jan 13, 2013 at 8:04 PM
Obrisao komentar
Jan 13, 2013 at 9:10 PM
Edited Jan 13, 2013 at 9:12 PM

Eto AndrijaS ne treba ničiju pomoć, on je sve spoznaje u životu sam spoznao, on čak ne treba ni kompajler, za svoj source napiše odmah i kompajler pa ga odmah i prevede.
Samo je pitanje s čim je preveo program za kompajliranje.
U kojem programskom jeziku AndrijaS piše svoj softver? Vjerojatno u nekom C sa 6 pluseva, jer zašto bi on koristio C++ s dva plusa ili C# sa 4 plusa kad on može sam projektirati svoj programski jezik.

Daj AndrijaS otkači sa ovog foruma i prestani pametovati. Kladim se da te malo propitamo o višemetodnim delegatima i o tome što se događa u pozadini izvršenja foreach petlje i kako ona u stvari radi da ne bi imao pojma.

Jan 13, 2013 at 9:17 PM

I ja sam mu napisao komentar pa ga odlučio obrisat. Ignorirati je mislim najbolja opcija

Jan 13, 2013 at 9:28 PM
Edited Jan 13, 2013 at 10:12 PM
viggor wrote:

@trandler

A da ti i kolege otvorite vlastiti sajt pa se reklamirate na njemu, a ne na open source forumu nudite svoja komercijalna rjesenja?

SVINJARIJA!

Pozdrav svima!

Ja sam kolega od @trandler ...

Prije svega dozvolite da ispravim netočne navode :

  • naša klasa je u potpunosti open-source (molim provjeri što znači "open source", jer to ne znači ujedno i "free")
  • da, naša klasa nije besplatna. Iza ovog koda koji trenutno imamo je više od 3 tjedna napornog istraživanja, tapkanja u mraku i nebrojenih "slijepih ulica" na kraju različitih smjerova, te mnogo mnogo testiranja i debugiranja, pokušavajući razviti pouzdano rješenje temeljeno 100% na PHP-u ...
  • ja osobno sam do danas napisao tisuće redaka free open-source koda za razne projekte, a tako ću i nastaviti; ali budimo realni, fiskalizacija nipošto nije nešto od općedruštvenog značaja, već isključivo namjenjena komercijalnim korisnicima; i siguran sam da će 100% korisnika naše klase na njoj i mnogostruko zaraditi
  • ali, kao što je @trandler napisao, ako imate bilo kakvih pitanja (osim da vam pošaljemo gotovu klasu!) - pitajte nas!! Rado ćemo vas uputiti u pravom smjeru. Pošto ovo nije forum/portal o PHPu, nema smisla da se ovdje raspisuju nepregledne teme. Uskoro ćemo imati svoj forum za pomoć i podršku u PHP-u i uz dopuštenje ćemo objaviti link.

Cijena - ovo zbilja nije mjesto za prodaju, niti to želimo!
Ali pomalo je zločesta i krivo navodeća tvrdnja da je cijena četveroznamenkasta! Imamo 3 cijene i samo jedna je jedva četveroznamenkasta, a uključuje podršku 12 mjeseci i sve nove/ispravljene verzije klase u tom razdoblju.
Ako nekome ne treba cijela klasa, nego samo konkretno rješenje problema - pišite i pomoći ćemo besplatno ako ste se zbilja potrudili da sve ostalo napravite sami!

Ostalo

  • klasa omogućava rad s xmlsec1 toolom i XmlSecLib PHP librarijem
  • vjerojatno ćemo objaviti LITE verziju klase, koja radi samo s xmlsec1 ... kad? ne znam, trenutno smo zaokupljeni dovršavanjem klase
  • vjerojatno ćemo objaviti besplatni plugin za neki od webshop sustava, pa ako je nekom nužno kopirati tuđi rad, moći će potražiti svo naše znanje u tom pluginu i iskoristiti ga

Evo, nadam se da sam ovime rješio sve dileme i nedoumice... Za sva pitanja - stojim na raspolaganju!

Jan 13, 2013 at 9:31 PM
AndrijaS wrote:
viggor wrote:

@trandler

A da ti i kolege otvorite vlastiti sajt pa se reklamirate na njemu, a ne na open source forumu nudite svoja komercijalna rjesenja?

SVINJARIJA!

@viggor
A tko ti je kriv što ti ne možeš takvo što napraviti nego se šlepaš s tuđim trudom i znanjem, a sigurno si naplatio nadogradnju za fiskaliziranje...

''bo te clipper/clarion ili što već


Hehehehe, kakav tip. Pa koji kurac ti radis ovdje ako si sve napisao sam??? Ipak spijuniras, ne bi nesto mozda saznao "for free"?

Ovo je sajt za sve nas ostale "idiote" koji to ne znamo i trazimo pomoc od onih koji znaju i nesebicno je, za razliku od supaka tebi slicnih, daju. I naravno da naplacujemo, ali ne drugim kolegama, kojima pomazemo ako mozemo, nego svojim klijentima, koji nemaju veze sa ovim forumom.

Jan 13, 2013 at 9:38 PM
Edited Jan 13, 2013 at 9:40 PM
viggor wrote:Ovo je sajt za sve nas ostale "idiote" koji to ne znamo i trazimo pomoc od onih koji znaju i nesebicno je, za razliku od supaka tebi slicnih, daju. I naravno da naplacujemo, ali ne drugim kolegama, kojima pomazemo ako mozemo, nego svojim klijentima, koji nemaju veze sa ovim forumom.

 

Pa evo onda jedan challenge, za sve one koji se "busaju" u prsa s FLOSS filozofijom - javite mi se mailom sa svojim linkovima do vlastitog uploadanog FLOSS koda!

AKO imate više uploadanog koda (koji netko i skida!) od mene - ova klasa je besplatna !!! Uvijek ću radi podijeliti svoje znanje sa svima koji rade isto, a ne samo da skidaju tuđi FLOSS kod, pa na njemu zarađuju. Fair??

Coordinator
Jan 13, 2013 at 9:40 PM

jeje, i moj tata je jači od vašeg tate...

dizaster xD

Jan 13, 2013 at 9:43 PM

he he, ovo me podsjeća na predškolsko doba i testiranje čiji je veći. Ajd bar smo se malo nasmijali

Jan 13, 2013 at 9:54 PM
btoplak wrote:
Cijena - ovo zbilja nije mjesto za prodaju, niti to želimo!
Ali pomalo je zločesta i krivo navodeća tvrdnja da je cijena četveroznamenkasta! Imamo 3 cijene i samo jedna je jedva četveroznamenkasta, a uključuje podršku 12 mjeseci i sve nove/ispravljene verzije klase u tom razdoblju.
Ako nekome ne treba cijela klasa, nego samo konkretno rješenje problema - pišite i dogovorit ćemo sitnu naknadu - i svi sretni!

Evo ga opet, sad se kolegin kolega, u "pokusaju da nam objasni jer smo svim mi idioti i nista ne razumijemo" ponovo suptilno reklamira.

Pa covjece, kad se gazda ovog foruma i moj (nas) dobrocinitelj, nrasinec, suzdrzava od samoreklamiranja ostalih svojih proizvoda, ne znam otkuda vama ideja da to radite? Mislim, cisto zato sto ovdje vlada jedna druga atmosfera - pomazemo jedni drugima, a ne prodajemo jedni drugima. Svaka tebi/vama cast na proizvodu koji ste napravili. ali mislim da ovdje nije mjesto za reklamu takvog tipa.

I cisto radoznalosti radi, daj mi (nama?) objasni sto to znaci open source, jer izgleda da ja (mi) zivim(o) u teskoj zabludi.

Jan 13, 2013 at 10:07 PM
Edited Jan 13, 2013 at 10:10 PM
viggor wrote:
Evo ga opet, sad se kolegin kolega, u "pokusaju da nam objasni jer smo svim mi idioti i nista ne razumijemo" ponovo suptilno reklamira.

@viggor:

Slobodno možeš izokretati moje riječi koliko ti volja, ne želim nasjedati na trolanje (čini mi se da si na početku napisao da se uopće ne baviš PHP-om).
Ali si malo previdio da je @trandler u prvom postu koji spominje klasu napisao da nam se svatko može javiti ako ga zanima rješenje PHP problema (ne cijela klasa), i pomoć je besplatna. Ja sam ponovio da ćemo pomoći svakome tko se obrati za pomoć u PHP-u negdje gdje je zaglavio, besplatno, ali ne i da pošaljemo gotovu klasu!

Niti ikog ovdje smatram idiotom, niti treba suptilna reklama, napisao sam ispravak u najmanju ruku zbunjujuće informacije o cijenama, te ujedno odgovorio na tvoj neozbiljni trol-post, te ujedno i nepoznavanje pojma "open source"...

Svaka čast gazdi foruma i njegovom open source uratku. Ako on smatra da je moj post neprikladan i reklama - molim da ga izbriše.

Jan 13, 2013 at 10:24 PM

Hehehehe...koji ste vi tipovi! Nenadmasno, zaista!

Ali vidis, da si pravi, posto smatras da ja ne znam sto je open source, onda bi ti meni i svima meni slicima, objasnio sto je to, tj. sto pod tim smatras. Jer ovo je pravo mjesto da naucimo jedni druge, popravimo ili mozda ispravimo necije krivo misljenje, stav, tumacenje.

No, ne, ti i dalje ko "Maxim po diviziji", tjeras vodu na svoj mlin i objasnjavas mi (nama) da, kako pjevaju Gustafi:

Nebo je zuto, a Sunce je blu.

Jan 13, 2013 at 10:27 PM
btoplak wrote:

.... pomalo je zločesta i krivo navodeća tvrdnja da je cijena četveroznamenkasta! Imamo 3 cijene i samo jedna je jedva četveroznamenkasta, a uključuje podršku 12 mjeseci i sve nove/ispravljene verzije klase u tom razdoblju.

Hmm, onda ste mi vjerovatno krivo upisali cijene u email ili ste ih korigirali u međuvremenu, ova kako kažeš "jedva četveroznamenkasta" je bila vezana za 3 mj. podrške, a druga za 12 mj.

No dobro, u svakom slučaju nisam želio biti zlonamjeran. :)

Jan 13, 2013 at 10:48 PM
Edited Jan 13, 2013 at 10:50 PM
GoodLooker wrote:
No dobro, u svakom slučaju nisam želio biti zlonamjeran. :)

OK, vjerojatno sam i ja krivo protumačio, vođen drugim napadima, jer četveroznamenkasto je raspon 1.000 - 9.999 ... Samo sam želio istaknuti da je cijena klase s podrškom na samom dnu, i to s punovaljanim računom, ne "fuš"...

 

@viggor: ovu temu razvlačiš i tjeraš u debeli oftopic, nadam se da moderatori prate... osim toga, razumijem da ti ne sviđa(m) ali te ni PHP ne zanima, zbilja te ne razumijem ...

FiskalPHP klasa je, ponavljam, 100% open-source, ali nije free. Nije ni RedHat ili Magento (recimo). A za ostale dileme o terminologiji posjeti www.google.com ... www.wikipedia.org, ili mi se direktno obrati mailom, nemoj druge time terorizirati!

I dalje stoji moja ponuda - za dokaz vlastitih F(L)OSS uradaka naša FiskalPHP klasa je free! Za svako konkretno pitanje o PHP problematici stojim na raspolaganju i odgovor je free!

Jan 14, 2013 at 8:50 AM
Edited Jan 14, 2013 at 8:54 AM

Joj, morat ću vidjet sa šefom mogu li postati klasu za fiskalizaciju na github ili negdje, ne koristi nikakav library, samo obicne php i openssl funkcije, curl, te php DOM library(nativni). Pri izradi sam koristio xmlseclibs kao nekakvu referencu. I da, potrosio sam skoro 2 tjedna rada na to.

Ako ne, kad dodjem doma cu napisati kratki tutorial kako potpisati racun i poslati request.

Ne znam koliko je klasa robusna, nadam se da ako ju mogu postati te netko uoci bugove, da ce ih ista osoba prijaviti. Sto se tice stvari koje planiram raditi (tog jos nema):
validacija Scheme, te eventualno dodati helper klase za kreiranje zahtjeva za racun i poslovni prostor.

 

Primjer koristenja:

$fis = new Fiskalizator();

$fis->certPath = 'asfafsd.pfx';
$fis->certPass = 'blasbla';
$fis->CisUrl = 'https://cistest.apis-it.hr:8449/FiskalizacijaServiceTest';

$xml_string = file_get_contents('racunZahtjev.xml');
$doc = DOMDocument::loadXML($xml_string);

#Ovo potpise xml, omota soap evelope, te salje request na kraju, nije lijepi oop, no cini mi se bolje ovako...
$response = $fis->doRequest($doc);

if ($errors = $fis->getErrors() or $response === false ) {
	foreach ($errors as $error){
		echo 'Error ==> "'.$error.'"';
	}
} else {
	echo 'Zahtjev uspjesno izvrsen.';
	if ($jir = $fis->getJIR($response)){
		echo 'JIR: '.$jir;
	}
}

Jan 14, 2013 at 11:15 AM
Edited Jan 14, 2013 at 11:16 AM

ja uopće ne vidim razlog da se javno ne objavi proizvod i cijena.

pa sve je stvar ponude i potraznje. ovako samo postoji odbojnost od konkretne ponude pa se sve priča nešto u rukavicama ...

otvoreno recite imam to i to, košta toliko i toliko. ako ima zainteresiranih - platit će i koristiti - ako nema nikome ništa.

čemu dramiti. čovjek je uložio u to dva tjedna i njegova je procjena i pravo reći jeli to nula kuna ili više od toga. 
ako ja procjenim da su moja dva tjedna jeftinija, pisat ću si saam. 

dakle od ove ponude ima samo benefita a nema štete. 

prema tome, dečki, slobodno recite cijenu !

ne tolerirajmo licemjerstvo a potičimo iskrenost.

Jan 14, 2013 at 1:08 PM

Aww, nisi me razumio, ja ovo ne prodajem, biti će free i open source! Ovo gore sam samo stavio teaser nekakav, više meni kao podsjetnik da sam rekao da ću nešto napravit da pomognem ljudima... Uglavnom dobio sam permission da opensourceam kod, pa cu nocas staviti to negdje online.

Jan 14, 2013 at 1:41 PM
Edited Jan 14, 2013 at 1:42 PM
grizwako wrote:

Aww, nisi me razumio, ja ovo ne prodajem, biti će free i open source! Ovo gore sam samo stavio teaser nekakav, više meni kao podsjetnik da sam rekao da ću nešto napravit da pomognem ljudima... Uglavnom dobio sam permission da opensourceam kod, pa cu nocas staviti to negdje online.

Mozes li mi reci kako se konektiras?

Preko SoapClient-a ili neceg drugog?

Kako saljes request?

Osim echo-a drugo ne uspjevam poslati

Jan 14, 2013 at 1:55 PM

NSa curl-om, rucno dodajem soap envelope.

 

Mislim da nista drugo ni nece moci poslati koristeci SoapClient jer moras raditi potpisivanje i slati cisti xml koji potpises. Mozda i moze(citao sam nesto o overrideanju metoda za SoapClient, no djeluje mi previse hacky...) , no za sada mi se curl cini bolje i jednostavnije rjesenje.

Danas navecer/nocas cu staviti sve negdje online, jos radim neke sitne dorade.. Nadam se da kod nije previse kupusav..

Jan 14, 2013 at 1:59 PM

Upravo sam nasao nusoaplib.

vele da on 'zna slati' xml dokumente 

probam pa javim ovdje

Jan 14, 2013 at 3:06 PM
mladenbabic wrote:

ja uopće ne vidim razlog da se javno ne objavi proizvod i cijena.

pa sve je stvar ponude i potraznje. ovako samo postoji odbojnost od konkretne ponude pa se sve priča nešto u rukavicama ...

prema tome, dečki, slobodno recite cijenu !

ne tolerirajmo licemjerstvo a potičimo iskrenost.

Pa evo, @Trandlerova želja je bila samo da priopći da se ipak može rješiti i u PHPu, pošto je sudjelovao u začetku rasprave... zato je napisao i da ako netko ima kakva pitanja, tj. ako je zaglavio negdje, ima problem - nek pita! ...i takva pitanja/odgovori naravno da su free, to je kolegijalno! ... baš mi je žao što je tako krivo otišla rasprava.

Pošto je ovo ipak forum open-source projekta, smatram da nije korektno da se tu pišu cijene, nije ni najmanja namjera ovdje prodavati i tu se slažem! Ako netko želi kupiti gotovu klasu ima mail, jelda?

...

Ja još uvijek čekam nečije konkretno pitanje gdje je zaglavio, pa da mogu pomoći. U biti, nije mi ni jasno koji dio je problematičan - xmlsec1 naredba iz ovog threada radi savršeno... (ako je potpisivanje problem)

Jan 14, 2013 at 4:28 PM
Edited Jan 14, 2013 at 4:28 PM

https://github.com/grizwako/Fiskalizator_PHP

 

Evo, pa probajte, licenca je MIT (nemam sada) . Otvoren sam za prijedloge, ako ima bugova, prijavite pls.

Da, znam da se kod moze malobolje organizirat, s vremenom valjda i hoće, forkajte radite sto hocete.

 

Example.php podesite najvaznije stvari, mislim da je ocito sto treba :)

U .xml ovima treba upisati OIB za koji je izdan certifikat.

 

Ako vam izgori kompjuter, firma se dezintegrira ili padne daska zahodne skoljke iz svemira na vašeg susjeda, ja ne odgovaram.

Jan 14, 2013 at 4:41 PM

Error ==> "CODECURL: connect() timed out!"

Jan 14, 2013 at 4:42 PM

Može li mala pomoć? Ja ću svakako kupiti klasu, cijena je simbolična ak je stvar 100% sigurna..

Jan 14, 2013 at 5:58 PM

Hej, klasa je besplatna, ne moras nista kupovati, mozes donirati ako zelis :)

Ako hoces mozes mi se javit na skype, nadji me pod "grizzlycro", pa da vidimo u cemu je problem. Ovako napamet, nemogu znati u cemu je problem. Radi li ti neki drugi nacin komunikacije sa sustavom porezne? (tipa da ti nije promet na port-u blokiran ili nesto slicno? ) Eventualno probaj povecat timeout, no defaultni od 5 sekundi bi trebao biti i vise nego dovoljan.

Jan 14, 2013 at 6:12 PM

 

Greška koju ja dobijem je :

 

Strict Standards: Non-static method DOMDocument::loadXML() should not be called statically in D:\xampp\htdocs\kru\Fiskalizator_PHP-master\example.php on line 12

Fatal error: Call to undefined function openssl_pkcs12_read() in D:\xampp\htdocs\kru\Fiskalizator_PHP-master\Fiskalizator.php on line 148

Jan 14, 2013 at 6:26 PM

@grizwako: hvala na shareu!

 

fiscalman wrote:

Može li mala pomoć? Ja ću svakako kupiti klasu, cijena je simbolična ak je stvar 100% sigurna..

Došlo je do pomutnje, pa dozvolite da pojasnim :)))

Klasa koju je uploadao @grizwako nije ista ona koju smo napravili @trandler i ja...

@grizwakova klasa, Fiskalizator_PHP() je open source, besplatna - bravo!

@trandler & /me klasa FiskalPHP() je open source, ~1000 linija koda više, ali se nažalost plaća "unlimited full-time support" kod implementacije i sve buduće verzije na rok 3/12 mjeseci. Dajemo čak i R1 račun :)

Jan 14, 2013 at 6:32 PM
Edited Jan 14, 2013 at 6:32 PM
fiscalman wrote:

Error ==> "CODECURL: connect() timed out!"

Moguće je da ti na stroju koji šalje request port 8449 nije otvoren, prema van - firewall ??

Kruu wrote:
Fatal error: Call to undefined function openssl_pkcs12_read() in D:\xampp\htdocs\kru\Fiskalizator_PHP-master\Fiskalizator.php on line 148

vrlo vjerojatno ti PHP ekstenzija OpenSSL nije uključena

Jan 14, 2013 at 6:40 PM
Edited Jan 14, 2013 at 6:43 PM

 

Oh, isprike, trebao sam navesti da je potrebno u PHP iniju odkomentirat curl i openssl ekstenzije. Ovo za strict standarde cu popravit uskoro.

UPDATE: popravljeno.

Jan 14, 2013 at 6:45 PM

Evo ja probam ono što mi je falilo ;)

 -doRequst

lokalno, doma na laptopu mi radi od prve, kad  šaljem gluposti uredno mi vrati grešku. Znam da se soapClient nije htio konektirat, danas kad sam ga testial s combisovog servera, ista greška kaoi tebi fiscalman. Moguće da port nije slobodan ili vatrozid blokira. Nisam pital jer lokalno nisam uspio slat request. Sutra i to probam.

Jan 14, 2013 at 7:44 PM
Edited Jan 14, 2013 at 7:44 PM
btoplak wrote:
fiscalman wrote:

Error ==> "CODECURL: connect() timed out!"

Moguće je da ti na stroju koji šalje request port 8449 nije otvoren, prema van - firewall ??

Kruu wrote:
Fatal error: Call to undefined function openssl_pkcs12_read() in D:\xampp\htdocs\kru\Fiskalizator_PHP-master\Fiskalizator.php on line 148

vrlo vjerojatno ti PHP ekstenzija OpenSSL nije uključena

Uključio sam OpenSSL i sada dobijam: Connection closed by remote server

Isto tako je port otvoren i firewall isključen.

 

hvala na svakoj pomoći

Jan 14, 2013 at 7:58 PM

@Kruu dobijes li tu poruku u formatu CURLERROR:  Connection closed by remote server.

 

Ili ti se pojavi u browseru ta poruka. Ako je slučaj ovo drugo, moguće da imaš problem u apche/php konfiguraciji. Nisam još nikad vidio da curl vraca tu poruku, ono sto jesam vidio je da neki browseri to prikazuju kada se dogadja greska na serveru.

Jan 14, 2013 at 8:05 PM

 

Dobijem grešku od browsera. Resetirao sada sve postavke, postavio po defaulno sve, uključio OpenSSL, CURL i opet ista stvar. U Apache/PHP ništa nije dirano, osim navedenog.

Jan 14, 2013 at 8:10 PM

 

Hmm, koju verziju xampp-a koristis? Ja sam testirao na svom normalnom okruzenju (custom instalacija apache-a i php-a) i sa wamp (ova verzija http://www.wampserver.com/en/#wampserver-32-bits-php5-3).

Jan 14, 2013 at 8:12 PM

 

Stariju verziju 1.7.7

 

P.S. kad maknem certifikat ili XMLove normalno dobijam sve potrebne greške.

Jan 14, 2013 at 8:13 PM

Sve radi, ali zašto izbaci grešku prije ispisa JIR-a:


Strict Standards: Non-static method DOMDocument::loadXML() should not be called statically in C:\Program Files\NuSphere\TechPlat\apache\htdocs\fiskalizator\example.php on line 11
Zahtjev uspješno izvršen.
JIR: 63228315-9cd6-49c1-b83d-a462f64e2a9b

 

Napomena: Ako imate shared hosting, nitko neće otvoriti port po defaultu, da se ne mučite :)

Jan 14, 2013 at 8:17 PM

@fiscalman: si zamijenio ovo

$doc = DOMDocument::loadXML($xml_string);


 sa ovim

$doc->loadXML($xml_string);

 

I da li si slučajno testirao sa xamppom ili si odmah na netu to radio?

Jan 14, 2013 at 8:17 PM

 

@kruu Ako ti nije problem, mozes li probati sa nekom novijom verzijom php-a/apachea. Ako ti se ne da slagat rucno uzmi zadnji xampp ili wamp koji sam linkao?

Ovako odokativno mi se cini da ne bi trebalo biti problema..

 

@fiscalman, samo si updateaj, popravio sam to, vise se ne bi trebalo prikazivat.

Jan 14, 2013 at 8:41 PM

Da li u ovoj verziji postoji mogućnost pregleda odgovora CIS-a, dakle, xml odgovor kako bi znali status.

Nadalje, nisam ušao u dubinu source-a, moram odvojiti vremena i pozorno shvatiti cijeli kod, ali gdje mogu dohvatiti ZKI?

Jan 14, 2013 at 8:51 PM

 

Da, $response u example.php je cisti response koji dodje od cis-a.

 

zki se sada moze dohvatiti sa $fis->zki NAKON doRequest poziva (prije se nije moglo jer je workflow bio takav da se generira prije nego sto sustav dodje u doticaj sa klasom, dok sam pisao taj dio, nije mi palo na pamet da zki treba i ocitati...)

Sutra cu nesto pametno smisliti kako refaktorirati to da bude malo ljepse bar..

Jan 14, 2013 at 8:54 PM
grizwako wrote:

 

@kruu Ako ti nije problem, mozes li probati sa nekom novijom verzijom php-a/apachea. Ako ti se ne da slagat rucno uzmi zadnji xampp ili wamp koji sam linkao?

Ovako odokativno mi se cini da ne bi trebalo biti problema..

 

@fiscalman, samo si updateaj, popravio sam to, vise se ne bi trebalo prikazivat.

  Instalirao zadnju 1.8.1 i ista stvar mi se dogadja. Neznam do ćega bi moglo biti.

 

 

@fiscalman: ZKI se kreira kako je naveo nezardc na početku topica...

Jan 14, 2013 at 9:07 PM
Edited Jan 14, 2013 at 9:07 PM

Kruu, probao sam sa xamppom i zbilja ne radi, s malo guglanja sam naisao na ovo

http://www.apachefriends.org/f/viewtopic.php?f=16&t=51684&

 

 EDIT1: Ako ti se ne da zafrkavat s time, probaj sa wamp-om.

Jan 14, 2013 at 9:10 PM

Rezultati prvog testa:

Pušteno 1000 requesta (autorefresh mala aplikacija)

970 pozitivnih

30 timeout

Probao sam spustiti timeout na 2 sekunde.

Ovo je po meni više nego pristojno.

@grizwako

Nešto griješim s definiranjem u klasi, možeš li napisati konkretnu liniju koda za get ZKI-a. ;)

Ako ste za mogu dignuti malu aplikaciju za testiranje i slanje rezultata; pandam reverus statusu pa da probamo istestirati na više providera / regija i staviti u neki output i graiku u jQplot.

Jan 14, 2013 at 9:11 PM
grizwako wrote:

Kruu, probao sam sa xamppom i zbilja ne radi, s malo guglanja sam naisao na ovo

http://www.apachefriends.org/f/viewtopic.php?f=16&t=51684&

 

 EDIT1: Ako ti se ne da zafrkavat s time, probaj sa wamp-om.

 

Hvala na ovome, sutra ću svakako isprobati da upogonim xampp na što ejdnostavniji način. Ako nebude ništa od toga probat ću na wampu...

Jan 14, 2013 at 9:13 PM

Nusphere Tech platform probaj, ima installer a klasa radi super.

Jan 14, 2013 at 9:14 PM

@fiscalman

na kraj example.php stavi

var_dump($fis->zki);

 

budi siguran da imas zadnju verziju glavne klase, to sam na brzinu popravio kad si prijavio, sutra cu vidjeti da to rijesim malo drugacije.

 

Sto se tice testiranja, dapače, drago mi je da netko koristi uopće ovo, a još više kada netko želi zanimljive stvari radit :)

Jan 14, 2013 at 9:27 PM

:)

poslao P.M.

Jan 14, 2013 at 9:31 PM

Skinuta zadnja verzija klase, meni i dalje baca error:

Notice: Undefined property: Fiskalizator::$zki in C:\Program Files\NuSphere\TechPlat\apache\htdocs\fiskalizator\example.php on line 26
NULL

Jan 14, 2013 at 9:33 PM

Sorry, moja greška, ručno sam unio promjene u Fiskalizator.php

Jan 15, 2013 at 9:17 AM

Fiskalizator nema ukljucenu provjeru SSL veze (ne provjerava http://rdc.fina.hr/CA/RDCca.cer), pa sad bi mozda bilo dobro to napisati u napomeni ili jos bolje ukljuciti provjeru.

Jan 15, 2013 at 12:50 PM
mpapec wrote:

Fiskalizator nema ukljucenu provjeru SSL veze (ne provjerava http://rdc.fina.hr/CA/RDCca.cer), pa sad bi mozda bilo dobro to napisati u napomeni ili jos bolje ukljuciti provjeru.

 

Hvala na prijedlogu, netko je vec napravio fork sa tim promjenama, te sam ih ukljucio. Hvala dkarlovi :)!

 

Još neke sitne promjene su tu, (kratka funkcija za postavljanje Fiskalizatora u production mode (koristi url i ssl cert za pravi server))

Jan 15, 2013 at 3:10 PM

@grizwako

Prije svega hvala na klasi koju dijeliš sa nama. Upravo ju testiram i čini se da radi ok, jedini problem je što na kraju ne dobijem JIR već samo poruku:
Zahtjev uspješno izvršen.

Stavio sam u example.php 

var_dump($fis->zki);
i onda dobijem ovo:
Zahtjev uspješno izvršen.
NULL

Imaš neku ideju što krivo radim?

Jan 15, 2013 at 3:22 PM

@BabaRoga

Nemaš zadnju verziju klase (skini ponovo na GitHub), provjeri da li u Fiskalizator.exe imaš ovaj dio koda:

$this->zki = md5($out);
return $this->zki;
Jan 15, 2013 at 3:32 PM

@fiscalman

Skinuo sam zadnju verziju i ima te linije unutra, ne razumijem zašto ne prikaže JIR.

Jan 15, 2013 at 3:32 PM

 

Pazi koji xml koristis pri pozivu, u jednom commitu sam zabunom stavio poslovni_prostor kao defaultni.

 

Vidi example.php budi siguran da se ucitava racun.xml

Jan 15, 2013 at 3:36 PM

Probaj ovak:

$zkiprint =($fis->zki);
echo "
ZKI: $zki_print";

Probaj koristiti defaultni xml, modžda si napravio grešku ako si neki drugi potpisivao; inače savjet, prvo upogonite aplikaciju sa testnim xml-om (samo izmijeniti OIB pa onda prijeći na geneiranje xml-a)

Jan 15, 2013 at 4:48 PM
grizwako wrote:

Pazi koji xml koristis pri pozivu, u jednom commitu sam zabunom stavio poslovni_prostor kao defaultni.

Vidi example.php budi siguran da se ucitava racun.xml

Uh..thanks, to je bio problem, nisam obratio pažnju da poziva poslovni prostor umjesto računa...radi! :)

Jedino što nikako da dobijem ZKI.

Jan 15, 2013 at 4:56 PM

@grizwako

Prijava poslovnog prostora ne vraća nikakav drugi odgovor osim "Zahtjev uspješno izvršen", to je ok?

Jan 15, 2013 at 4:59 PM
BebaRoga wrote:

@grizwako

Prijava poslovnog prostora ne vraća nikakav drugi odgovor osim "Zahtjev uspješno izvršen", to je ok?

 

Upravo sam commitao primjer, sada se u example.php ispisuje i zki.

Da, za poslovni prostor ako nema gresaka ja tretiram response da je ok. (pogledaj tehnicku spec od porezne/apisa, ako imas neku ideju kako da budem siguran da je ok, reci :) ) Mislim da sam uhvatio sve greske do kojih moze doci.

Jan 15, 2013 at 5:00 PM
Edited Jan 15, 2013 at 5:01 PM

Ja mogu dobiti ZKI, ali je li mora biti isti kao i u C#-u za iste ulazne podatke.

Ja ne dobijem isti ZKI u PHP-u i u C# za iste ulazne podatke i za isti certifikat.

Jan 15, 2013 at 5:07 PM

Za iste ulazne podatke bi i zki trebao biti isti. Jos jednom cu provjeriti je li algoritam za izracun koji ja koristim isti preporucenom.

Takodjer treba obratit pozornost s kojim certifikatom potpisujes razliciti certifikat ce dati razliciti krajnji zki.

 

Eh, jedno pitanje, onaj algoritam koji su oni dali za zki u teh.spec, je li to bas mora tako, ili je samo preporuceno? Ja sam za svaki slucaj napravi istu stvar..

Jan 15, 2013 at 5:32 PM
grizwako wrote:

Upravo sam commitao primjer, sada se u example.php ispisuje i zki.

Super! :)

Jan 15, 2013 at 5:42 PM
grizwako wrote:

Za iste ulazne podatke bi i zki trebao biti isti. Jos jednom cu provjeriti je li algoritam za izracun koji ja koristim isti preporucenom.

Takodjer treba obratit pozornost s kojim certifikatom potpisujes razliciti certifikat ce dati razliciti krajnji zki. 

Eh, jedno pitanje, onaj algoritam koji su oni dali za zki u teh.spec, je li to bas mora tako, ili je samo preporuceno? Ja sam za svaki slucaj napravi istu stvar.

Ja računam ZKI bez Raverusa i dobijem isti ZKI kao i kad dam Raverusu da ga izračuna.

Jan 15, 2013 at 5:52 PM
Georgia47 wrote:
grizwako wrote:

Za iste ulazne podatke bi i zki trebao biti isti. Jos jednom cu provjeriti je li algoritam za izracun koji ja koristim isti preporucenom.

Takodjer treba obratit pozornost s kojim certifikatom potpisujes razliciti certifikat ce dati razliciti krajnji zki.

Eh, jedno pitanje, onaj algoritam koji su oni dali za zki u teh.spec, je li to bas mora tako, ili je samo preporuceno? Ja sam za svaki slucaj napravi istu stvar.

Ja računam ZKI bez Raverusa i dobijem isti ZKI kao i kad dam Raverusu da ga izračuna.

 

Ah, jedina razlika koju vidim sada je to da u teh spec ne koriste 'T' u datvrijeme, a ja ga korstim, uzmem tocno ono sto pise u xmlu. Ispravit cu malo kasnije danas.

srecom, je takva mala promjena pa mogu samo promjenit T u ' ' :)

Jan 15, 2013 at 5:55 PM
grizwako wrote:

Ah, jedina razlika koju vidim sada je to da u teh spec ne koriste 'T' u datvrijeme, a ja ga korstim, uzmem tocno ono sto pise u xmlu. Ispravit cu malo kasnije danas.

srecom, je takva mala promjena pa mogu samo promjenit T u ' ' :)

Provjerio sam, to je razlog kad izbaciš T u Fiskalizacija.php dobije se isti ZKI.

Bravo majstore, ovo tvoje mi izgleda više nego zadovoljavajuće.

Jan 15, 2013 at 7:28 PM
Georgia47 wrote:
grizwako wrote:

Ah, jedina razlika koju vidim sada je to da u teh spec ne koriste 'T' u datvrijeme, a ja ga korstim, uzmem tocno ono sto pise u xmlu. Ispravit cu malo kasnije danas.

srecom, je takva mala promjena pa mogu samo promjenit T u ' ' :)

Provjerio sam, to je razlog kad izbaciš T u Fiskalizacija.php dobije se isti ZKI.

Bravo majstore, ovo tvoje mi izgleda više nego zadovoljavajuće.

 

Hvala :)

Ispravio sam, sada se koristi space umjesto 'T'-a. Ako ti nije problem, mozes provjeriti i potvrdit da radi kako treba?

Jan 15, 2013 at 7:37 PM

Ispravio sam, sada se koristi space umjesto 'T'-a. Ako ti nije problem, mozes provjeriti i potvrdit da radi kako treba?

Bio sam nestrpljiv pa sam jednostavno napisao u Fiskalizator.php

$temp[21] = ' ';

i radilo je. Evo sad sam provjerio i na ovoj tvojoj najnovijoj i svih 32 ZKI znaka su ista ;)

Jan 15, 2013 at 7:45 PM

Super, thanks za info :)

Jan 15, 2013 at 7:50 PM

Koju funkciju u novom commitu imaju fiskalcis.crt i fiskalcistest.crt?

Jan 15, 2013 at 7:55 PM

Za sada nikakvu, jedan contributor na github-u misli da bi bilo dobro provjeriti signature u odgovoru koji vrati porezna. Nisam siguran da je to potrebno, jer vec imamo uspostavljenu ssl konekciju...

 

Razgovor mozes procitati ovdje:

https://github.com/grizwako/Fiskalizator_PHP/commit/36e3a56aec542b9946a12aa0004750c7b5fed704#commitcomment-2438047

Skrolaj do linije 213

 

Jan 15, 2013 at 8:19 PM
Edited Jan 15, 2013 at 8:32 PM

Provjerio sam i s produkcijskim certom i dobije se JIR i točan ZKI, samo zašto ne radi (ZKI se ne generira, JIR radi i u ovom slučaju) ako se u racun.xml doda linija

<tns:ZastKod>...</tns:ZastKod>

koja inače i mora biti u racun.xml, a u tvom primjeru ovog elementa nema.

 Edit:

To u stvari nije ni bitno jer ZKI ne mislim računati iz xml file-a nego ću funkciji calculateZKI proslijediti argumente kao varijable (OIB, vrijeme, iznos, itd...). Na kraju krajeva racun.xml ne možeš ni kreirati dok ne generiraš ZKI.

Jan 15, 2013 at 8:31 PM

 

Ah da, bila mi je pretpostavka da ako ga je user sam ubacio u xml onda ga zna, pa nece traziti od klase, no biti ce funkcija getZKI()

 

https://github.com/grizwako/Fiskalizator_PHP/issues/7

Jan 15, 2013 at 8:36 PM
Edited Jan 15, 2013 at 8:44 PM
grizwako wrote:

 

Ah da, bila mi je pretpostavka da ako ga je user sam ubacio u xml onda ga zna, pa nece traziti od klase, no biti ce funkcija getZKI()

 

https://github.com/grizwako/Fiskalizator_PHP/issues/7

Ne kužim zašto uopće ZKI računaš iz racun.xml kad je ZKI preduvjet za generiranje racun.xml.

Mislim, što se mene tiče može i ovako ostati, nisam neki expert za PHP, ali neće mi biti problem preraditi calculateZKI tako da ZKI izračuna iz proslijeđenih vrijednosti varijabli.

Jan 15, 2013 at 8:50 PM

 

Kad malo bolje razmislim, mozda imas pravo, no ovako ljudi ne moraju svaki pisati svoju funkciju za izracun zkija. Dovoljno je poslati xml sa podacima.

I ovako mi se cini sigurnije da podaci tocno odgovaraju onima u xmlu, ne moras ih ti nigdje pamtiti dok buildas xml..

 

Mislio sam sutra neki mali refaktoring odraditi. Imam par ideja, no zelim prespavat prije nego ih razradim skroz :)

 

PS. Nisam nigdje vidio da je ZKI preduvjet ra generiranje racun.xml? I sto se tice racun.xml, nije potrebno spremati taj file, te ga onda ucitavati, ja taj dio imam samo zato da ljudi mogu na brzinu testirati kako im radi klasa.

Uglavnom, racunanje zki-ja ostaje sigurno, ako vec postoji ja ga necu dodavati, novost ce biti funkcija getZKI();

Jan 15, 2013 at 8:57 PM

ZKI je obavezno polje u racun.xml koji se šalje CIS-u. To je temelj cijelog sustava da ti generiraš ZKI, pošalješ ga zajedno s ostalim podacima o računu i čekaš odgovor u obliku JIR-a koji tada tvori par JIR-ZKI.

Prije laku noć, još jedno bravo za ovo, i koliko vidim, najvažniji posao, a to je slanje i dohvat JIR-a skripta radi besprijekorno, a ostalo se može i u JavaScriptu realizirati.

Jan 16, 2013 at 10:59 AM

@grizwako

Ajde daj složi neki donate button da ti pošaljemo za čevape i pivicu. :)

Jan 16, 2013 at 12:19 PM

Mali prijedlog, recimo da klasa sama kreira xml on the fly, a polazna tocka za racun da je npr.

    $racun = array(
      IDPORUKE     => "?",
      DATUMVRIJEME => date("d.m.Y\TH:i:s"),
      OIB => "11111111119",               
      USUSTPDV => 1,                      
      DATVRIJEME => "16.10.2012T11:44:12",
      OZNSLIJED => "N",

      BROZNRAC =>1,
      OZNPOSPR =>1,
      OZNNAPUR =>1,

      IZNOSUKUPNO => "133.22",
      NACINPLAC => "G",
      OIBOPER => "12345678901",
      ZASTKOD => "?",
      NAKDOST => 0,

      IZNOSOSLOBPDV => 44.22,
      PDV => array(
        array(STOPA    => "1.00", OSNOVICA => "2.00", IZNOS    => "3.00"),
        array(STOPA    => "4.00", OSNOVICA => "5.00", IZNOS    => "6.00"),
      ),
      PNP => array(
            array(STOPA    => "1.00", OSNOVICA => "2.00", IZNOS    => "3.00"),
            array(STOPA    => "4.00", OSNOVICA => "5.00", IZNOS    => "6.00"),
      ),
      OSTALIPOR => array(
        array(STOPA    => "1.00", OSNOVICA => "2.00", IZNOS    => "3.00", NAZIV => "fsfpnsfpns"),
      ),
      NAKNADE => array(
        array(NAZIVN    => "1.00", IZNOSN => "22.00"),
      ),
    );

 

Nakon toga se xml kreira kroz nekakav template tipa:

            {*<!--Optional -->*}
{if="$OSTALIPOR"}
            <f73:OstaliPor>
               {*<!--1 or more repetitions -->*}
            {loop="$OSTALIPOR"}
               <f73:Porez>
                  <f73:Naziv>{$value.NAZIV}</f73:Naziv>
                  <f73:Stopa>{$value.STOPA}</f73:Stopa>
                  <f73:Osnovica>{$value.OSNOVICA}</f73:Osnovica>
                  <f73:Iznos>{$value.IZNOS}</f73:Iznos>
               </f73:Porez>
            {/loop}
            </f73:OstaliPor>
{/if}
            {*<!--Optional -->*}
{if="$IZNOSOSLOBPDV"}
            <f73:IznosOslobPdv>{$IZNOSOSLOBPDV}</f73:IznosOslobPdv>
{/if}

Jan 16, 2013 at 12:43 PM

 

@BebaRoga mozda, nisam planirao tako nesto takvo. Moze vamo https://www.gittip.com/grizwako/. Ako se nekom neka mi se javi za broj tekuceg ili paypal adresu.

 

@mpapec kolega @fiscalman radi na funkciji za buildanje xml-a kada mi se javi, napravim neki review te ubacujem u projekt ako je zadovoljavajuce. Ako si zainteresiran za pomoc, bilo bi najbolje da se javis njemu.

Jan 16, 2013 at 2:43 PM

@mpapec

Kod izgleda lijepo i pregledno, ali mislim da je nepotrebno, razmišljao sam napraviti kroz jednu klasu ali iskreno ne da mi se komplicirati kad je stvar poprilično jednostavna i laka za pozivananje, kontroleri provjere da li su svi inputi u redu (dvije decimale, i ostali predefinirani unosi), radim nešto tipa

 

generirajxml ($pdv_5,$pdv_10,$pdv_25,$neoporezivo,$nacinplacanja,$oiboperater,$naknada,$vrijeme,$sustavpdv,$nazivxmldatoteke)

{

// kontroleri (if_numeric, da li su sve varijable upisane)

// $xmlzaupis = "XML - SADRŽAJ VARIJABLI";

// xml fwrite

}

 

@ grizwako

Mislim da će sutra ili prekosutra biti gotovo, nije neki veliki posao ali sam na putu do sutra ujutro..

Jan 16, 2013 at 3:11 PM

Koristio sam u testu Windows/Xampp/xmlsec/curl i sve podesio. Onda sam presao u produkciju (Linux VPS) ali mi ne radi xmlsec.

Pokusao sam preći na Fiskalizator, ali sam zapeo.

Dobijem: "CODECURL: connect() timed out!"

CURL timeout je na 5. Probao sam mijen jati, ali nešto očito izaziva timeout tj. onemogućava uspostavljanje veze.

Gledao sam generirani potpisani XML i izgleda mi ok. Na serveru je otvoren Curl port 8449.

Pokusavao sam i bez  SSL certifikata ali opet isto.

Što bi moglo izazivati stalne timeoute?

Jan 16, 2013 at 3:23 PM
blagi wrote:

Što bi moglo izazivati stalne timeoute?

Još jednom provjeri jesi li otvorio TCP_OUT port 8449 i restartao server.

Jan 16, 2013 at 4:51 PM
blagi wrote:

Koristio sam u testu Windows/Xampp/xmlsec/curl i sve podesio. Onda sam presao u produkciju (Linux VPS) ali mi ne radi xmlsec.

Pokusao sam preći na Fiskalizator, ali sam zapeo.

Dobijem: "CODECURL: connect() timed out!"

CURL timeout je na 5. Probao sam mijen jati, ali nešto očito izaziva timeout tj. onemogućava uspostavljanje veze.

Gledao sam generirani potpisani XML i izgleda mi ok. Na serveru je otvoren Curl port 8449.

Pokusavao sam i bez  SSL certifikata ali opet isto.

Što bi moglo izazivati stalne timeoute?

xmlsec ti najvjerojatnije radi. Ako imas samo konzolu na linux serveru probaj 

nmap cis.porezna-uprava.hr -P0 -p 8449

i ako je port otvoren treba ti vratiti npr,

PORT     STATE SERVICE
8449/tcp open  unknown 

Jan 16, 2013 at 5:01 PM
fiscalman wrote:

@mpapec

Kod izgleda lijepo i pregledno, ali mislim da je nepotrebno, razmišljao sam napraviti kroz jednu klasu ali iskreno ne da mi se komplicirati kad je stvar poprilično jednostavna i laka za pozivananje, kontroleri provjere da li su svi inputi u redu (dvije decimale, i ostali predefinirani unosi), radim nešto tipa

generirajxml ($pdv_5,$pdv_10,$pdv_25,$neoporezivo,$nacinplacanja,$oiboperater,$naknada,$vrijeme,$sustavpdv,$nazivxmldatoteke)

Nema problema; najbitnije da se ne moraju cupati podaci iz vec gotovog xml-a, i nema potrebe da se bilo sto zapisuje po datotekama (osim ako neko bas jako ne voli pisati u bazu).

Jan 16, 2013 at 7:29 PM
mpapec wrote:
fiscalman wrote:

@mpapec

Kod izgleda lijepo i pregledno, ali mislim da je nepotrebno, razmišljao sam napraviti kroz jednu klasu ali iskreno ne da mi se komplicirati kad je stvar poprilično jednostavna i laka za pozivananje, kontroleri provjere da li su svi inputi u redu (dvije decimale, i ostali predefinirani unosi), radim nešto tipa

generirajxml ($pdv_5,$pdv_10,$pdv_25,$neoporezivo,$nacinplacanja,$oiboperater,$naknada,$vrijeme,$sustavpdv,$nazivxmldatoteke)

Nema problema; najbitnije da se ne moraju cupati podaci iz vec gotovog xml-a, i nema potrebe da se bilo sto zapisuje po datotekama (osim ako neko bas jako ne voli pisati u bazu).

Evo imam ja to gotovo i  mislim da je dosta pregledno,

dvije klasice PosloviProstor i Racun.

Pošto sam od Fiskalizator klase uzeo dio cluc konekcije treba mi malo za prilagodbu koda.

Pa u toku sutrašnjeg dana to postam.

@grizwako:

Bilo bi zgodno (ja sam si to napravio) složiti malu funkcju erroLogger() koja upisuje sve greške u  neku log datoteku (jasno opcionalno).

vrijeme nastanka greške, greška, poslani dokument,....

I to sutra postam

 

I jedno pitanje:

Dali  je netko probao popuniti IznosNePodOpor? bilo što upišem javi mi:

Poruka nije u skladu s XML shemom : cvc-particle 2.1: in element {http://www.apis-it.hr/fin/2012/types/f73}Racun of type {http://www.apis-it.hr/fin/2012/types/f73}RacunType, found <tns:IznosNePodOpor> (in namespace http://www.apis-it.hr/fin/2012/types/f73), but next item should be {http://www.apis-it.hr/fin/2012/types/f73}IznosUkupno

Po specifikaciji se nalazi između IznosMarza i naknada

Jan 16, 2013 at 7:42 PM

Ovo za vrijeme kada je greska dodana sigurno ide unutra, funkcionalnost za dohvacanje poslanog i primljenog xml-a vec postoji.

Metode za dohvacanje su getRequest() i getResponse()..

Sto se tice spremanja u file, taj dio sam pustio prazno, mislim da nije neki problem da si useri to sami rijese. Slobodno otvori issue na githubu, pa ako vise ljudi bude trazilo taj feature(pisanje loga u file), ubacit cu ga unutra.

Ovo pisanje loga u file je zafrknuto kada se radi o sustavima koji se vrte na vise kompova, ako se radi nesto tako, onda je potrebna skripta koja cita sve te logove i salje ih negdje (np upisuju se logovi sa svih servera u master bazu). A i svatko zeli drugaciji format loga, netko hoce pure text, netko ce xml, netko ce JSON, netko ce mozda xml cak. Netko ce ubacivati u bazu, netko ce slati mailom, netko ce mozda slati preko IRC-a ili xmpp-a...

Za sada ne bih to ubacivao u glavnu klasu, jedino ako bude vise ljudi trazilo.

 

Razmisljam da neki mali refaktoring odradim, malo mi je klasa narasla, pa mi se cini da bih neke dijelove mogao izdvojiti.. Pa ono ako netko ima ideje za featurese, pisite slobodno. I probajte takve stvari na github projektu radit, ovdje je masa stvari u topicu vec..

 

Jan 16, 2013 at 8:49 PM
jozagulikoza wrote:

Dali  je netko probao popuniti IznosNePodOpor? bilo što upišem javi mi:

Poruka nije u skladu s XML shemom : cvc-particle 2.1: in element {http://www.apis-it.hr/fin/2012/types/f73}Racun of type {http://www.apis-it.hr/fin/2012/types/f73}RacunType, found <tns:IznosNePodOpor> (in namespace http://www.apis-it.hr/fin/2012/types/f73), but next item should be {http://www.apis-it.hr/fin/2012/types/f73}IznosUkupno

Po specifikaciji se nalazi između IznosMarza i naknada

 

IznosNePodlOpor (imas tipfeler)

Jan 16, 2013 at 9:09 PM
mpapec wrote:
fiscalman wrote:

@mpapec

Kod izgleda lijepo i pregledno, ali mislim da je nepotrebno, razmišljao sam napraviti kroz jednu klasu ali iskreno ne da mi se komplicirati kad je stvar poprilično jednostavna i laka za pozivananje, kontroleri provjere da li su svi inputi u redu (dvije decimale, i ostali predefinirani unosi), radim nešto tipa

generirajxml ($pdv_5,$pdv_10,$pdv_25,$neoporezivo,$nacinplacanja,$oiboperater,$naknada,$vrijeme,$sustavpdv,$nazivxmldatoteke)

Nema problema; najbitnije da se ne moraju cupati podaci iz vec gotovog xml-a, i nema potrebe da se bilo sto zapisuje po datotekama (osim ako neko bas jako ne voli pisati u bazu).

Da, jasno, konkretno, planiram klijentima dati i mali exe s kojima će pročitati dir /xmldat i gdje može pratiti cijelu bazu računa (opcionalno), dosta je transparentno, tko voli nek koristi (https://www.fdev.hr/Explorer/FDev-Explorer.aspx)

 

@jozagulikoza

Odlično, čekamo za test. :)

Jan 17, 2013 at 7:43 AM
BebaRoga wrote:
blagi wrote:

Što bi moglo izazivati stalne timeoute?

Još jednom provjeri jesi li otvorio TCP_OUT port 8449 i restartao server.

VPS je na Avalonu i rekli su da su otvorili. Sa netstat -tuplen sam provjeravao portove i ne vidim ga na popisu!?

Jan 17, 2013 at 7:48 AM
mpapec wrote:

xmlsec ti najvjerojatnije radi. Ako imas samo konzolu na linux serveru probaj 

nmap cis.porezna-uprava.hr -P0 -p 8449

i ako je port otvoren treba ti vratiti npr,

PORT     STATE SERVICE
8449/tcp open  unknown 

Hvala.

Odgovor mi je nmap command not found. VPS je u pitanju - ogranicena CLI.

Jan 17, 2013 at 8:00 AM
grizwako wrote:

Razmisljam da neki mali refaktoring odradim, malo mi je klasa narasla, pa mi se cini da bih neke dijelove mogao izdvojiti.. Pa ono ako netko ima ideje za featurese, pisite slobodno. I probajte takve stvari na github projektu radit, ovdje je masa stvari u topicu vec..

 

Trenutno još uvijek rješavam probleme i ne mogu doprinijeti koliko bih htio.

Hvala ti na rješenju, javnoj objavi i licenci.Sviđa mi se kvaliteta rješenja napravljenog u ovako malo vremena.

Kako sam već imao neko rješenje iskombinirao sam ga sa tvojim. Radim to u Codeigniteru i jednostavno loadam tvoj PHP Fiskalizator.php kao library i dalje on radi kao u čistom PHP-u. Nešto sam prtljao i po tvom kodu jer neće da mi radi pa pokušavam raditi sa CURL-om na svoj način, no dok ne proradi ništa od mog doprinosa.

Mislim da bi bilo zanimljivo dodati jednu funkciju koja bi samo potpisala i vratila potpisani XML. Možda i još neke koje bi se mogle koristiti za nekompletno korištenje funkcija. Moguće samo fali malo objašnjenja što predati kao parametar. XL sa ili bez zaglavlja, sa ili bez SOAP-a. Ja sam izgubio vrijeme na duplom zaglavlju ("mom" i "tvom") kod poslovnog prostora na kojemu testiram.

Jan 17, 2013 at 11:59 AM
blagi wrote:

Trenutno još uvijek rješavam probleme i ne mogu doprinijeti koliko bih htio.


Pomakao sam se i sad mi i zahtjev za pp i racun sa demo cerifikatom/serverom rade i u produkcijskim uvjetima. Vjerojatno je bio port.

Hvala na pomoći.

Jan 17, 2013 at 1:52 PM

Mali offtopic, međutim vjerujem poprilično važna pitanja (s obzirom da jedino mi uz asp (maybe) radimo full server-side aplikaciju za fiskaliazciju)..

Pretpostavka je da ćete imati online aplikaciju na x web serveru kojoj će klijenti pristupati, logički me se postavljaju sljedeća pitanja:

- kako ćete se ponašati u slučaju većih nedostupnosti servisa (ddos napad primjerice)?

- kako mislite sinkronizirati podatke u slučaju ne/dostupnosti (u slučaju da ponudite localhost rješenje) ili multitasking rada usera ("malo online, malo local")

- da li mislite sve usere imati na jednoj mySql bazi, ili kreirati bazu za svakog usera?

- kako mislite zaštititi certifikat od direktnog pristupa preko browsera?

- kako ste riješili POS printanje (tu mogu pomoći..)?

Jan 21, 2013 at 7:05 PM

Da li je samo kod mene greška? Što bi mogao biti uzrok? JIR i ZKI izbaci uredno.

Notice: Undefined property: Fiskalizator::$responseSimpleXmlObj in C:\Program Files\NuSphere\TechPlat\apache\htdocs\newfisko\fiskalizator\Fiskalizator.php on line 265

Notice: Undefined property: Fiskalizator::$requestSimpleXmlObj in C:\Program Files\NuSphere\TechPlat\apache\htdocs\newfisko\fiskalizator\Fiskalizator.php on line 272

Jan 21, 2013 at 7:13 PM

 

Ah, nisam pushao sve promjene, ubacit cu sutra mali fix za to. Mislim da je rijec samo o tome da treba deklarirat varijablu.

Jan 21, 2013 at 7:22 PM

:) ok, mislio sam da je nešto eventualno do mog xmla..

 

@jozagulikoza

Možemo li očekivati xml funkciju ili da se ipak bacim na posao? :)

Jan 21, 2013 at 7:23 PM
fiscalman wrote:

- kako ste riješili POS printanje (tu mogu pomoći..)?

Ja nisam još ništa riješio, tek sam u fazi razmišljanja o ovakvom web rješenju, a ako bi klijentska aplikacija bila na mobilnom uređaju i ako bi bila nenativna onda mi je jedino pada na pamet JavaScript window.print(), ali tu je problem što tu funkciju vrlo malo browsera podržava, od onog što sam probao, samo iPhone-ov Safari.

Kažeš da možeš pomoći, ajde pomagaj.

Jan 22, 2013 at 1:19 PM

Kako ide s ovim Star i Epson SDK-ovima za Android?

Je li to radi samo za dotične printere ili može i za noname bežične printere?

Jan 22, 2013 at 1:26 PM

Što se tiče ispisa na POS, A4 ukoliko se ne radi o native aplikaciji nije moguće povezivati SDK od printera sa aplikacijom, logično..

Ja radim sve online, POS printer zbog ciljane strukture mi nije tako važan ali opet smo predvidjeli i to rješenje, naime, u online printu smo napravili css-om div koji će se printati i u njemu sam napravio dimenzije itd. Kod ispisa računa ispis se otvara sa porukom za ispis i skrivenim div tagom za print, korisnik dalje rješava kako će printati dokument na smartphoneu (wifi konekcija iOs, druge aplikacije za povezivanje printera putem bluetootha itd.)

Također, predviđeno je da sve ide i u pdf pa može njega printati.

Native i ne želim razvijati, malo sam komentirao drugim programerima, moguće je naravno napraviti da super radi (tipa fiskal1) ali je problematično ukoliko ne prodajete svoju opremu..

Jan 22, 2013 at 1:27 PM

Što se tiče širine trake i eventualne korekcije, korisnik ima mogućnost u postavkema postaviti širinu tablice, ostalo se poštela prema postocima..

Jan 22, 2013 at 2:37 PM
Edited Jan 22, 2013 at 2:53 PM
fiscalman wrote:

Ja radim sve online, POS printer zbog ciljane strukture mi nije tako važan ali opet smo predvidjeli i to rješenje, naime, u online printu smo napravili css-om div koji će se printati i u njemu sam napravio dimenzije itd. Kod ispisa računa ispis se otvara sa porukom za ispis i skrivenim div tagom za print, korisnik dalje rješava kako će printati dokument na smartphoneu (wifi konekcija iOs, druge aplikacije za povezivanje printera putem bluetootha itd.)

Koliko te razumijem, tvoji klijenti aplikaciju koriste u browseru, a tko printa iz browsera? Je li JavaScript ili imaš neko drugo rješenje. Ili možda jednostavno prikažeš dokument u prozoru pretraživača pa korisnik sam File>Print. To rješenje mi ne odgovara.

Za JavaScript sam već rekao da jedino Safari omogućuje printanje s JavaScriptom.

Inače, ja sam u fazi razmišljanja o nenativnoj mobilnoj aplikaciji koja bi koristila PHP i MySQL na serveru te JavaScript i HTML na klijentu uz dodatak localstorage-a na klijentskoj strani, ali ni tu nije situacija baš najsjajnija, na Safariju se zna dogoditi da jednostavno, ničim izazvan, izgubi sve podatke iz localstorage-a.

Jan 22, 2013 at 2:44 PM
fiscalman wrote:

@jozagulikoza

Možemo li očekivati xml funkciju ili da se ipak bacim na posao? :)

ako još uvijek trebate generator XML requesta kroz dan-dva izdat ćemo LITE verziju FiskalPHP koja će biti FREE i između ostaloga imati će kompletan taj dio za generiranje XML-a

Jan 22, 2013 at 3:01 PM

Lijep pozdrav svima.

Ukoliko ga netko nađe korisnim, evo mog primjera fiskalizacije u PHP-u https://gist.github.com/4594489.

Napisao sam i članak o tome na inchoo.hr (članak se referencira na ranije spomenuti gist code snippet).

Ugodan dan.

 

Jan 23, 2013 at 4:19 PM
Edited Jan 24, 2013 at 12:40 AM

Evo ljudi, uplodao sam obečane klase:

https://github.com/jozagulikoza/Generarator_xml4Fiskalizator_HTML

U index.php se nalaze primjeri punjenja i pozivanja

U Generator.php se nalaze klase

 

Znam da je sa  zakašnjnjem od tjedan dana, ali pretrpanost poslom, bla-bla, ...

Nadam se da će nekom pomoći.

Još jednom sorry zbog cekanja

Edit; ispavio sam adresu, kod kopipejsta ispalo L van ;)

Jan 23, 2013 at 8:25 PM

Page not found.

Jan 23, 2013 at 8:26 PM

 

Falio j l na kraju

https://github.com/jozagulikoza/Generarator_xml4Fiskalizator_HTML

Jan 24, 2013 at 12:41 AM
grizwako wrote:

 

Falio j l na kraju

https://github.com/jozagulikoza/Generarator_xml4Fiskalizator_HTML

  ;)

Jan 28, 2013 at 10:20 AM

 

Nova verzija na githubu. u pitanju je generalni refaktoring. (0.1.0)

Od novih featuresa je uveden timeout i retry u slucaju network gresaka.

 

Bacite oko, javite prijedloge.

Feb 4, 2013 at 11:22 AM
Edited Feb 4, 2013 at 12:27 PM
Uh, vračam se fiskalizaciji nakon gripe. :)

@grizwako

Meni ova verzija ne radi, dobijam grešku:
Parse error: syntax error, unexpected '[' in /home/demotrg/domains/demo.com/public_html/Fiskalizator_PHP-master/Certificate.php on line 87
Feb 4, 2013 at 12:01 PM
Oh, mozda greska na mojoj strani. To je PHP 5.4 sintaksa..
Da to radi na starim verzijama, treba napraviti nesto tipa

$data = $this->getCertData()
return $data['serialNumber'];

Kad uhvatim malo vremena, napisat ću u readme da treba PHP 5.4 minimalno.
Feb 4, 2013 at 12:24 PM
Uhh, PHP 5.4, moj server je još na PHP 5.2! :(

Probao sam sa ovim dole al ne radi:
$data = $this->getCertData()
return $data['serialNumber'];
Feb 4, 2013 at 1:56 PM
Aww, nece ti raditi tako treba biti tocka-zarez iza $this->getCertData();

No nije stvar samo u tome, na vise mjesta sam koristio takav "shortcut" trebalo bi svuda poispravljat..
Ako uhvatim vremena probat cu ja, ako ne, mozda da netko napravi fork, pa cu ja pullat.

Radi se o ovome:
http://php.net/manual/en/migration54.new-features.php
Function array dereferencing has been added, e.g. foo()[0]
Feb 4, 2013 at 2:13 PM
Stavio sam dvotočku ali isti problem je bio u:
return $this->getCertData()['issuer'];
Sad radi ok, thanks. :)
Feb 4, 2013 at 5:55 PM
Ako imate volje bacite pogled na ovu temu, napravio sam mali demo koji treba poslužiti programeru (stranac, zato je na engleskom) da lakše shvati logiku postupka prijave prodajnog mjesta i nekih postavki fiskalizacije u php web aplikaciji.
Svaki prijedlog je dobro došao. :)

https://fiskalizacija.codeplex.com/discussions/431920
Feb 12, 2013 at 11:22 PM
Možda sam malo zakasnio, ali nema veze možda će nekome pomoći. Prije godinu dana sam radio web app za račune i skladište za ćaćinu firmu(vrti se na localhostu na windowsima, WAMP, PHP). Uglavnom što se tiče printanja/ispisa računa ja sam pronašao riješenje u generiranju PDF file-a u PHP-u preko http://www.fpdf.org/ i dodavanja javascript koda za ispis PDF-a ... i onda sam preko javascript dodao iframe veličine 0x0 s src-om npr. http://localhost/?page=racuni&action=print&id=1&printaj i onda se samo prikaže dialog za ispis ;)

Zašto ovo riješenje s PDF-om a ne ispis pomoću browsera tj javascripte?
  • Ovako nemate nikakva ograničenja što se tiče dizajna(ja sam imao problem da mi je trebala prilično tanka linija koju nisam mogao ostvariti preko CSS-a jer je minimum 1px), relativno je brzo, imate mogućnost spremanja pdf-a, ...
Hvala @grizwako na klasi, duša si od čovjeka :D implementirati ću je u svoj app za koji tjedan kad uhvatim vremena, pa ako budem imao kakav problem vikat ću ;)
Btw ako netko treba pomoć što se tiče ispisa računa neka viče na email, rado ću pomoći premda je dokumentacija na već priloženom linku jako dobra ;)
Feb 20, 2013 at 10:21 AM
Da li je netko dobio grešku Parse error: syntax error, unexpected '[' in C:\Program Files\NuSphere\TechPlat\apache\htdocs\fiskal\klase\Certificate.php on line 87

Promijenio sam kod u nastavku (sada radi) ali je pitanje, da li je izmjena korektna?

public function getSerialNumber()
{
  $data = $this->getCertData();
  return $data['serialNumber'];
}

public function getIssuer() {
  $data = $this->getCertData();
  return $data['issuer'];
}
Feb 20, 2013 at 10:22 AM
Kako dobijete ZKI ako primjerice korisnik nije spojen na net? U ovome slučaju (example) ispisuje samo grešku konekcije?
Feb 20, 2013 at 10:34 AM
U kojoj varijabli se u novoj verziji nalazi odgovor od CIS-a, prije je bio u $response?
Feb 20, 2013 at 12:06 PM
fiscalman wrote:
U kojoj varijabli se u novoj verziji nalazi odgovor od CIS-a, prije je bio u $response?
Imas u example.php zakomentirane pozive.
getResponse() vraca Response objekt.
Ako hoces cisti "tekst" onda getRawResponse().
Mar 5, 2013 at 3:40 PM
Ispričavam se na ponavljanju pitanja, ali da li je netko radio, dakle, ako vrati negativni odgovor, kako dobiti samo izračun ZKI? Ako nema konekcije na net i slično, pretpostavka je da ga moram ispisati na račun.

Probao sam po primjeru od prije nekoliko mjeseci, ali da li postoji konkretno rješenje za klasu koju svi koristimo od kolege @grizawko?

hvala na odgovoru, lp
Mar 5, 2013 at 3:48 PM
Ispričavam se na ponavljanju pitanja, ali da li je netko radio, dakle, ako vrati negativni odgovor, kako dobiti samo izračun ZKI? Ako nema konekcije na net i slično, pretpostavka je da ga moram ispisati na račun.

Probao sam po primjeru od prije nekoliko mjeseci, ali da li postoji konkretno rješenje za klasu koju svi koristimo od kolege @grizawko?

hvala na odgovoru, lp
Mar 5, 2013 at 5:24 PM
Da, samo pozovi $fis->getZKI()
try {
    $fis->doRequest($doc);
    #custom timeout and number of retries on network error, default is 3 retries and 5 seconds timeout tolerance
    #$fis->doRequest($doc, 10, 5.2);
} catch (Exception $e) {
    echo $e->getMessage();
    
    echo $fis->getZKI(); #ovo je novost, ta metoda se moze pozivati bez obzira na to je li request uspjeo ili ne.
    die();
}
Mar 5, 2013 at 6:54 PM
Ispričavam se na ponavljanju pitanja, ali da li je netko radio, dakle, ako vrati negativni odgovor, kako dobiti samo izračun ZKI? Ako nema konekcije na net i slično, pretpostavka je da ga moram ispisati na račun.

Probao sam po primjeru od prije nekoliko mjeseci, ali da li postoji konkretno rješenje za klasu koju svi koristimo od kolege @grizawko?

hvala na odgovoru, lp
Mar 5, 2013 at 7:07 PM
Edited Mar 5, 2013 at 7:11 PM
@grizwako

Update: Moja greška, proradilo je..

Zašto mi kod offline rada pokaže tri puta grešku "CODECURL: couldn't connect to host || CODECURL: couldn't connect to host || CODECURL: couldn't connect to host |" ? :)
Mar 7, 2013 at 5:00 PM
Pozdrav,

molio bi za pomoć, dobivam slijedeću grešku:

CODECURL: couldn't connect to host || CODECURL: couldn't connect to host || CODECURL: couldn't connect to host ||

treba još nešto podesiti osim certifikata i OIB-a ili je nešto drugo u pitanju?

Hvala!
Mar 7, 2013 at 7:42 PM
Vjerovatno se radi o vezi, provjeri da ti nisu portovi zatvoreni ili nesto slično?

Osim certifikata i OIB-a ne treba nista dok ne utvrdis da sve radi ispravno, onda se treba prebaciti na production mode i koristiti produkcijski certificat.
Mar 7, 2013 at 7:44 PM
Znaš možda kako mogu provjeriti da li mi je 8449 otvoren?
Mar 7, 2013 at 7:59 PM
Da znam, no zajedno ćemo potrošiti manje vremena ako se sam informiraš o tome kako to provjeriti. hint:guglaj na engleskom, meni je najprakticnije probati sa telnet-om

Zao mi je sto sam tako grub, no jednostavno nemam vremena pruzati support za stvari poput troubleshootanja zasto dolazi do network gresaka i kako ih popraviti.
Mozda uopce nije stvar u port-u, postoji dosta drugih mogucnosti, iz mog iskustva se najcesce radi o portovima. Cuo sam glasine da se sa enkih servera izvan RH ne moze pristuputi CIS-u, pa imaj i to na umu.

Jos jednom isprike, ako ima problema sa modulom, nastojat cu ih sto prije popraviti, no ne mogu debugirati mrezne probleme.
Mar 7, 2013 at 8:08 PM
Hehe, ma np, razumijem, probao sa telnetom, ne dobijam odgovor.
U svakom slučaju hvala :)
Mar 20, 2013 at 11:20 AM
Edited Mar 20, 2013 at 11:23 AM
Pozdrav,

pokusavam osposobiti fiskalizator na svom sistemu, i uporno mi baca:
Warning: curl_setopt_array() [function.curl-setopt-array]: Array keys must be CURLOPT constants or equivalent interger values. in C:\wamp\www\Fiskalizator_PHP-master\CIS_Service.php on line 52
CODECURL: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

probao sam sa ssl_cis certifikatom koji je bio prilozen uz Fiskalizator, i sa fiskalcistest i cistest.apis-it.hr koji se spominju u tehnickoj dokumentaciji, ali uvijek daje istu gresku.
Na netu nisam uspio nac neko relevatno rjesenje pa rekoh idem pitati tu.
Nemam puno iskustva sa certifikatima, SSLom i CURLom, pa se ispricavam ako je glupo pitanje.

p.s.
vrtim
Apache Version : 2.0.63
PHP Version : 5.2.2
Mar 20, 2013 at 12:24 PM
Uspio sam rjesiti gornji problem, medjutim, sad se javlja:
CODECURL: Unknown SSL protocol error in connection to cistest.apis-it.hr:8449
Mar 20, 2013 at 12:46 PM
kako ti uopće dobiješ ikakve greške? :(

meni ništa ne uspjeva, ako možeš pomoći pogledaj

Hvala.
Mar 20, 2013 at 12:58 PM
Bok, evo svakako bi za PHP verziju preporučio GRIZWAKO-ovo rješenje, radi odlično..
Ima samo par sitnica na koje treba pripaziti..ako testirate na WAMP stacku-u (ima bug u curl ekstenziji) neće raditi..XAMP nisam isprobao, ali ZWAMP (dobar i za android) verzija 2.2.1 radi odlično..prije samo treba odkomentirati open_ssl u PHP iniju
https://github.com/grizwako/Fiskalizator_PHP
Mar 20, 2013 at 1:15 PM
ZED, Skinuo sam s linka koj si poslao, extractao u novi folder, dodao svoj pfx file u certificates/demo/fiskal1.pfx, otvorio example.php upisao path do pfx-a i stavio sifru, otvorio racun.xml upisao svoj oib, otisao u firefox napisao https://localhost/fiskal8/example.php i dobijem "Veza je prekinuta, Dokument ne sadrži podatke."

moze kakva pomoc?
Mar 20, 2013 at 1:15 PM
Da...mogu potvrditi da ovaj Fiskalizator radi super...
nego, na koji nacin preko Fiskalizator_PHP poslati poslovni prostor?

Dorijan
Mar 20, 2013 at 1:28 PM
Bok, evo svakako bi za PHP verziju preporučio GRIZWAKO-ovo rješenje, radi odlično..
Ima samo par sitnica na koje treba pripaziti..ako testirate na WAMP stacku-u (ima bug u curl ekstenziji) neće raditi..XAMP nisam isprobao, ali ZWAMP (dobar i za android) verzija 2.2.1 radi odlično..prije samo treba odkomentirati open_ssl u PHP iniju
https://github.com/grizwako/Fiskalizator_PHP
Mar 20, 2013 at 1:29 PM
Dorijan, treba pozvat onaj xml posl_prostor iz koda
Mar 20, 2013 at 1:31 PM
Edited Mar 20, 2013 at 1:32 PM
probaj staviti u glavni www folder, možda je path u tim skriptama problem, nisam uspio svaki file ponaosob pregledat još
Mar 20, 2013 at 1:31 PM
Edited Mar 20, 2013 at 1:33 PM
probao sam stavit u root (xampp/htdocs/) isto, ista greška mi se javlja

idem probat instalirat ZWAMP
Mar 20, 2013 at 1:33 PM
Edited Mar 20, 2013 at 1:34 PM
php mora biti 5.4, za niže verzije treba prilagoditi kod, problem se može javiti i kod error logginga, najboljše ga isključiti, bar za vrijeme testiranja funkcionalnosti
Mar 20, 2013 at 1:34 PM
@Dorijan Poslovni prostor saljes samo drugačiji XML kod je isti. Naravno request za poslovni prostor neće imati ZKI. A response za isti neće imati JIR.

@Hadriel, probaj noviji stack (apache/php/curl/openssl) sa nekim starijim verzijama sam čuo da je bilo bugova. Čak i u novijim verzijama WAMP-a.

@puapisfinapmitd Pojma nemam, nisam još vidio to. Da nije možda error 500 (apache/php) se crasha a ti dobijes od firefoxa poruku na Hrvatskom jeziku?
Pogledaj source HTML-a koji si dobio, ako je prazan onda se crashalo. pogledaj error_log pa ce biti pametniji :)
Mar 20, 2013 at 1:34 PM
PHP je PHP Version 5.4.7
Mar 20, 2013 at 1:35 PM
@grizwako da error 500, source kada pogledam isto error 500, error_log prazan, kada probam u ie isto error 500
Mar 20, 2013 at 1:39 PM
ako misli tko testirati na androidima:


https://play.google.com/store/apps/details?id=com.ayansoft.androphp&feature=also_installed#?t=W251bGwsMSwxLDEwNCwiY29tLmF5YW5zb2Z0LmFuZHJvcGhwIl0.

https://play.google.com/store/apps/details?id=ru.kslabs.ksweb&hl=hr

https://play.google.com/store/apps/details?id=com.andi.serverweb&feature=related_apps#?t=W251bGwsMSwxLDEwOSwiY29tLmFuZGkuc2VydmVyd2ViIl0.

na ovom zadnjem, testiram aplikaciju neko vrijeme, zadovoljan sam, ova prva dva tek ću isprobati (oni su besplatni, a ovaj BITWEB košta 2 dolara)

Sva tri su web serveri (localhost) sa PHP i MYSQL.om
Mar 20, 2013 at 1:41 PM
grizwako, hvala za kod..kad prve šolde dođu :) pronaći ću te!
Mar 20, 2013 at 1:42 PM
zwamp mi se svidio jer je došao sa aktivnom curl opcijom, pa je samo open_ssl trebalo uključiti.developer je valjda išao u curl smjeru
Mar 20, 2013 at 1:43 PM
Hehe cool ZED, fora je sto netko radi i android aplikacije :)

@puapisfinapmitd Ukljuci si error reporting za pocetak. Ako na ekranu ne budes imao nista, pogledaj error logove od apache-a i php-a. Ovisno o situaciji/configu greske mogu otici u jedan ili drugi. Sorry to je to od mene za danas, imas generalne pointere, mozda ti netko drugi bude u mogucnosti pomoci!
Mar 20, 2013 at 1:44 PM
Ukljuci si error reporting za pocetak. Ako na ekranu ne budes imao nista, pogledaj error logove od apache-a i php-a. Ovisno o situaciji/configu greske mogu otici u jedan ili drugi.


On Wed, Mar 20, 2013 at 1:35 PM, puapisfinapmitd <notifications@codeplex.com> wrote:

From: puapisfinapmitd

@grizwako da error 500, source kada pogledam isto error 500, error_log prazan, kada probam u ie isto error 500

Read the full discussion online.

To add a post to this discussion, reply to this email (fiskalizacija@discussions.codeplex.com)

To start a new discussion for this project, email fiskalizacija@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com


Mar 20, 2013 at 2:27 PM
Thanks, probao sa najnovijim PHPom i radi.
Sad je problem samo sto trebam blagajnu pisanu za php 5.0.2 prepravljati na novu verziju... :|
Mar 20, 2013 at 3:16 PM
@grizwako razmišljao sam u smjeru da su web aplikacije na svim telefonima, tabletima i općenito svugdje, pa umjesto native koda može vrijediti isto svugdje..uz malo povezivanja na funkcije uređaja :)
Mar 20, 2013 at 3:16 PM
evo probao instalirat ovaj ZWAMP

ako idem na localhost dobijem ZWAMP pocetnu stranicu i probao sam napravit neki php fajl sa echo i sve radi.

ali kada pokusam https://localhost/fiskal/example.php opet isto Unable to connect, Firefox can't establish a connection to the server at localhost.

Dajte mi kažite, što trebam učiniti da sve to pokušam na drugoj mašini?

1) kopiram fiskal1.pfx, root cert, i ovaj fiskalizator (https://github.com/grizwako/Fiskalizator_PHP) na stick i prebacim sve tamo na drugu mašinu.
2) ?

hvala
Mar 20, 2013 at 3:32 PM
puapisfinapmitd daj probaj cijeli zip u D:\zwamp-x64-2.2.1\vdrive__web__ folder...neka ti example.php bude u tom folderu , pa ukucaj localhost/example.php
Mar 20, 2013 at 3:41 PM
probao, ma sve sam probao :(

jedino nisam probao na drugu kantu koja ima ubuntu, jos bi to volio probat al nije mi jasno sto trebam s certifikatima, dal trebam tamo instalirat te certifikate ili samo prebacim taj cjeli zip skupa s certifikatima
Mar 20, 2013 at 6:40 PM
puapisfinapmitd možeš opisat radnu konfiguraciju, od windowsa nadalje?
Mar 20, 2013 at 6:54 PM
pardon,nisam mislio na gašenje errora, već warnings-a :)
Mar 20, 2013 at 7:02 PM
e,da, ako imate neku wamp,xamp php verziju koja je niža od 5.4, nadogradite je, sad sam UWAMP nadogradio, odlično prošlo, zwamp mi cijelu bazu smrda s particioniranjem, a čini mi se ludo da skroz mijenjam syntaxu
Mar 20, 2013 at 7:43 PM
windows 7 32bit, zwamp 2.2.0 i386, sve raspakirano u root od tog zwampa, promjenjeno sve sta treba promjeniti.
Mar 20, 2013 at 8:00 PM
jesi li propustio portove?
Mar 20, 2013 at 8:18 PM
a je li taj democert importiran u trusted certificates?
mozda je neka takva sitnica.
Mar 20, 2013 at 9:59 PM
Edited Mar 20, 2013 at 10:00 PM
kakve portove? firewall iskljucen, itd. ne razumijem kakve portove pa nije da se fiskalizacija(apis.testserver) spaja na mene neko ja na nj!!?! portove na cemu portforward na routeru od t-com prema mojoj mašini???

certifikat je u trusted root da, ako imaš kakav način da to provjerim reci provjeriti ću!

********* uglavnom, NEVEZANO s gornjim problemom **************

prebacio sam sve na ubuntu mašinu loadam example.php i gle pa ja dobijem greške! napokon!
CODECURL: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed || CODECURL: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed || CODECURL: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed || 
dobro surfam malo i naletim na... kaže @dkustec - Vrlo jednostavno

k. je jednostavno.... zar stvarno nemam sreće?

bash: cd: /etc/pki/tls/certs: No such file or directory

------- UBUNTU 12.10-desktop-i386
Mar 20, 2013 at 10:19 PM
Success
JIR: ****
ZKI: *****

napokon!

sto sad?
testiram itd i onda samo upalim production mode? sta treba production mode radit? samo slat racune ili moram i poslovni prostor slati svaki dan ili nesto slicno?

hvala vam!
Mar 20, 2013 at 10:33 PM
ne treba svaki dan posl prostor, račune da, pročitaj onu uputu od fine da ti negdje ne zaškripi :)
Mar 21, 2013 at 2:37 PM
Ok još par pitanja ako može netko pomoći.

1) cis_xmlvalidate.crt i ssl_cis.crt koji se nalaze u demo i production
- odakle preuzmem ove certifikate? također primjetio sam da demo i production nisu isti.
2) jel mogu ZKI generirat na svoju volju? primjer: oib.brojracuna.nešto.nešto.datumvrijeme

Puno hvala na pomoći.
Mar 21, 2013 at 2:44 PM
puapisfinapmitd wrote:
Ok još par pitanja ako može netko pomoći.

1) cis_xmlvalidate.crt i ssl_cis.crt koji se nalaze u demo i production
- odakle preuzmem ove certifikate? također primjetio sam da demo i production nisu isti.
2) jel mogu ZKI generirat na svoju volju? primjer: oib.brojracuna.nešto.nešto.datumvrijeme

Puno hvala na pomoći.
Postoji algoritam za generiranje ZKI-a.
Mar 21, 2013 at 2:46 PM
Maticni broj, datum ( sa vremenom i pazi format ), broj racuna, oznaka PP ( poslovnog prostora ) , naplatni uređaj i iznos racuna.
Mar 21, 2013 at 2:48 PM
Maticni broj, datum ( sa vremenom i pazi format ), broj racuna, oznaka PP ( poslovnog prostora ) , naplatni uređaj i iznos racuna.
Mar 21, 2013 at 2:58 PM
napokon uspješna izmjena i spremanje xml-a :)
Mar 21, 2013 at 4:31 PM
Može li mi netko odgovoriti na 1. pitanje? :(

novo pitanje što ako nema interneta u vrijeme izdavanja racuna?
Ispišem ZKI na račun (POS PRINTER), spremim račun.xml i ZKI negdje u queue (FOLDER na disku), te pozovem ponovo nakon nekog vremena example.php jedino što moram je $fis->getZKI()="SPREMLJENI ZKI"; ili?
Mar 21, 2013 at 6:34 PM
pročitao na rrif-ovim stranicama da na računu trebaju biti i jir i zki
Mar 21, 2013 at 8:40 PM
Ok onda kažem kupcu, molimo sačekajte da mi se vrati veza na internet pa da vam izdam račun!

A ako kupac kaže ne treba onda da zaključam vrata i ne puštam ga van jer moram predat račun!
Mar 21, 2013 at 9:40 PM
puapisfinapmitd wrote:
Ok onda kažem kupcu, molimo sačekajte da mi se vrati veza na internet pa da vam izdam račun!

A ako kupac kaže ne treba onda da zaključam vrata i ne puštam ga van jer moram predat račun!
Izdas racun bez JIR-a sa ZK-om. Imas zakonsku obavezu da u roku od 48 sati dostavis sve racune koji nisu dosli u CIS na fiskalizaciju.
Naknadno slanje racuna ide sa istim ZK-om sa novim UUID.om i sa svim onim parametrima koji se odnose na taj racun.
I to je to. Kupac sav sretan moze provjeriti svoj racun da li je prijavljen u CIS.
Mar 21, 2013 at 9:53 PM
onda ucitam xml racuna koji nije poslan i posaljem ga ponovo. datum, zki, stavke itd sve ostaje isto

hvala Goran. a jel znaš odgovor na moje pitanje br1?
Mar 21, 2013 at 10:05 PM
puapisfinapmitd wrote:
onda ucitam xml racuna koji nije poslan i posaljem ga ponovo. datum, zki, stavke itd sve ostaje isto

hvala Goran. a jel znaš odgovor na moje pitanje br1?
Gle, nisi procitao strukturu XML file-a ako je naknadno slanje. Ima oznaku naknadnog slanja true.
Tako da ti ne bi preporucio da saljes spremljeni XML ili tako nesto.
Ako mislis na ovo :
  • odakle preuzmem ove certifikate? također primjetio sam da demo i production nisu isti.
Certifikate preuzimas u Fini i DEMO i Produkcijski su razliciti.
Posebno imaz zahtjev za izdavanje DEMO certifikata i Produkcijskog certifikata. Demo ( ili testni ) slizi za testiranje dok je produkcijski u krajnjem slucaju od korisnika programa.
Ako si na to mislio.
Mar 21, 2013 at 10:26 PM
kako onda da ponovo dobijem isti ZKI koji piše na računu kupca?

1) cis_xmlvalidate.crt i ssl_cis.crt koji se nalaze u demo i production | svih 4 je razlicito + moj fiskal1.pfx demo i fiskal1.pfx production
to pitam, što su ovi dva cis_xml i ssl_cis, od kud oni?
Mar 21, 2013 at 10:33 PM
puapisfinapmitd wrote:
kako onda da ponovo dobijem isti ZKI koji piše na računu kupca?

1) cis_xmlvalidate.crt i ssl_cis.crt koji se nalaze u demo i production | svih 4 je razlicito + moj fiskal1.pfx demo i fiskal1.pfx production
to pitam, što su ovi dva cis_xml i ssl_cis, od kud oni?
Pa ZKI spremas u bazu sa svim parametrima racuna. Kupac na racunu ima samo ZKI koji si mu ti ispisao, ali mu nedostaje JIR koji mu nisi ispisao posto je doslo do tko zna koje greske.
E sada, kupac jedino pomocu ZKI-a moze provjeriti da li je taj acun evidentiran. Zato ti imas 48 sati da taj isti ( napominjem isti ) racun moras ponovno poslati u CIS sa svim istim parametrima osim UUID-a i oznake naknadnog slanja.
Kad to dodje u CIS ti lijepo dobijes natrag JIR i piljepis sve to u svoju bazu uz pripadajucu racun. Kupac sav sretan nakon 48 sati vidi da je taj racun evidentiran...:)
A kaj su ovi cis_xml i ssl_ci, e to ti pojma nemam.
Mar 22, 2013 at 1:43 AM
Zki se mora moci izgenerirati iz podataka na racunu, te ga nije potrebno cuvati u bazi.
Mar 22, 2013 at 2:13 AM
jedino ako dopuštaš korisniku tvog programa da ručno upisuje datum računa ili ako imaš opciju ispisa kopije računa
Mar 22, 2013 at 8:12 AM
gog wrote:
Zki se mora moci izgenerirati iz podataka na racunu, te ga nije potrebno cuvati u bazi.
Pa normalno da se moraju moci ponovo generirati. Za to postoji posebna forma gdje se na trazenje inspekcije upisuju potrebni parametri i gdje se izracunava ZKI te prikazuje tako da oni mogu usporediti istinitost podataka. Taj dio se odnosi na inspekciju.
Sto se tice naknadnog slanja u CIS, uopce ne vidim problem da se ZKI cuva u bazi i salje naknadno u CIS. Pa lakse mi je tako nego ponovno racunati i kaj sve ne.
Mar 22, 2013 at 1:27 PM
Može li mi netko odgovoriti na pitanje molim vas.

cis_xmlvalidate.crt i ssl_cis.crt koji se nalaze u demo i production u ---- Fiskalizator_PHP
odakle preuzmem ove certifikate? također primjetio sam da demo i production nisu isti.
Mar 22, 2013 at 2:28 PM
puapisfinapmitd wrote:
Može li mi netko odgovoriti na pitanje molim vas.

cis_xmlvalidate.crt i ssl_cis.crt koji se nalaze u demo i production u ---- Fiskalizator_PHP
odakle preuzmem ove certifikate? također primjetio sam da demo i production nisu isti.
Gle, imas od 14.01. odgovor kreatora te classe, pa ga kontaktiraj.
Potrazi ovo dolje :

grizwako
Jan 14 at 5:58 PM
Mar 24, 2013 at 9:10 PM
puapisfinapmitd wrote:
jedino ako dopuštaš korisniku tvog programa da ručno upisuje datum računa ili ako imaš opciju ispisa kopije računa
Kao što je GoranV13 napisao, moraš imati mogućnost unosa podataka sa računa koje će vratiti ZKI, jer te to može inspekcija tražiti.
Mar 26, 2013 at 10:38 PM
@grizwako:
molim te možeš li pročitati moja pitanja gore i odgovoriti, pokušao sam svakakve certifikate zamjeniti al nikako da proradi s drugim certifikatima

puno hvala
Apr 1, 2013 at 8:04 PM
Bio bi vam puno zahvlan kada bi netko odgovorio na moje pitanje! :(
Apr 7, 2013 at 3:45 PM
Pozdrav,

Što se tiče Fiskalizator klase, malo mi je PHP zahrđao...Postoji li funkcija ili nešto što sprema response u xml ili se treba sam pobrinuti za taj dio?
Neki pointer bi dobrodošao. Punopuno hvala :)

LP
Apr 7, 2013 at 7:27 PM
Pa, trebaš mu sam zadati što će ti i gdje spremiti u xml-u
Apr 7, 2013 at 7:33 PM
Sismis wrote:
Pozdrav,

Što se tiče Fiskalizator klase, malo mi je PHP zahrđao...Postoji li funkcija ili nešto što sprema response u xml ili se treba sam pobrinuti za taj dio?
Neki pointer bi dobrodošao. Punopuno hvala :)

LP
evo dio php-a:
$doc = new DOMDocument();
$doc->formatOutput = true;
$xml_string = file_get_contents('racun.xml'); (otvoriš onaj pripremljni xml)
$doc->loadXML($xml_string);

$djidjo = $doc->getElementsByTagName('BrOznRac')->item(0);
$old_title = $djidjo->nodeValue;
$djidjo->nodeValue = $brdok;------------- (ovo je broj dokumenta iz moj aplikacija)

$djidjo2 = $doc->getElementsByTagName('Osnovica')->item(0);
$old_title2 = $djidjo2->nodeValue;
$djidjo2->nodeValue = $net2;-----------(netto vrijednost)

$djidjo3 = $doc->getElementsByTagName('Iznos')->item(0);
$old_title3 = $djidjo3->nodeValue;
$djidjo3->nodeValue = $pdv;-------(pdv vrijednost)

$djidjo4 = $doc->getElementsByTagName('IznosUkupno')->item(0);
$old_title4 = $djidjo4->nodeValue;
$djidjo4->nodeValue = $tot;

$doc->save("test.xml"); spremiš izmijenjeni xml pod drugim imenom (tak možeš napraviti i bazu poslanih-fiskaliziranih xml-ova)
echo "OK";
Apr 7, 2013 at 7:34 PM
a...da, ja ne znam ppisat php iz glave :)
Apr 8, 2013 at 9:33 PM
Edited Apr 8, 2013 at 9:34 PM
Rešeno :)
Hvala, imaš štovećkonzumiraš na moj račun :)

Zapravo sam malo prokopao dokumentaciju DOM-a i složio da iz POST-a generira zahtjev pa ak je sve ok - šalje fiskalizatoru.

Nemam još testni cert, imam jedan produkcijski ali ne želim riskirat....Pa da da još malo zagnjavim, što se tiče hvatanja XML responsea i spremanja/arhiviranja istog u xml/txt file, vidim da postoji getResponse i getRawResponse. Što koji radi? Raw vjerojatno vraća "čisti" text a getResponse sve xml elemente?
Znači da bih mogao cijeli response od fine spremit jednostavno sa $fis->getRawResponse->save(nekifajl.xml)?
Apr 8, 2013 at 9:55 PM
Sismis wrote:
Rešeno :)
Hvala, imaš štovećkonzumiraš na moj račun :)

Zapravo sam malo prokopao dokumentaciju DOM-a i složio da iz POST-a generira zahtjev pa ak je sve ok - šalje fiskalizatoru.

Nemam još testni cert, imam jedan produkcijski ali ne želim riskirat....Pa da da još malo zagnjavim, što se tiče hvatanja XML responsea i spremanja/arhiviranja istog u xml/txt file, vidim da postoji getResponse i getRawResponse. Što koji radi? Raw vjerojatno vraća "čisti" text a getResponse sve xml elemente?
Znači da bih mogao cijeli response od fine spremit jednostavno sa $fis->getRawResponse->save(nekifajl.xml)?
Ako trebaš testni cert prijavi se pod imenom i prezimenom u finu..dodijeliti će ti samo na osnovu imena(ja dobio)..a Raw response zvuči kao da bi mogao šljakati, nisam tražio na taj način riješiti..no moglo bi :) Sve pet. Sretno!
Apr 9, 2013 at 12:52 AM
je li jos itko imao problem sa openssl_sign() funkcijom na localhostu?
Thanx
Apr 9, 2013 at 7:45 AM
vivax123 wrote:
je li jos itko imao problem sa openssl_sign() funkcijom na localhostu?
Thanx
Da nije do verzije php-a? koju imaš?
Apr 9, 2013 at 1:10 PM
ZEDisDEAD wrote:
vivax123 wrote:
je li jos itko imao problem sa openssl_sign() funkcijom na localhostu?
Thanx
Da nije do verzije php-a? koju imaš?
sumnjam, verzija php-a je 5.4.7
Apr 9, 2013 at 1:26 PM
vivax123 wrote:
ZEDisDEAD wrote:
vivax123 wrote:
je li jos itko imao problem sa openssl_sign() funkcijom na localhostu?
Thanx
Da nije do verzije php-a? koju imaš?
sumnjam, verzija php-a je 5.4.7
a localhost? nešto sam čitao da na wamp-u ima problema s nekim funkcijama..
Apr 9, 2013 at 1:36 PM
ZEDisDEAD wrote:
vivax123 wrote:
ZEDisDEAD wrote:
vivax123 wrote:
je li jos itko imao problem sa openssl_sign() funkcijom na localhostu?
Thanx
Da nije do verzije php-a? koju imaš?
sumnjam, verzija php-a je 5.4.7
a localhost? nešto sam čitao da na wamp-u ima problema s nekim funkcijama..
koristim xampp 1.8.1
na serveru radi ok..
Apr 9, 2013 at 1:40 PM
vivax123 wrote:
ZEDisDEAD wrote:
vivax123 wrote:
ZEDisDEAD wrote:
vivax123 wrote:
je li jos itko imao problem sa openssl_sign() funkcijom na localhostu?
Thanx
Da nije do verzije php-a? koju imaš?
sumnjam, verzija php-a je 5.4.7
a localhost? nešto sam čitao da na wamp-u ima problema s nekim funkcijama..
koristim xampp 1.8.1
na serveru radi ok..
isprobaj na nekom od drugih,ako na nekom od radi, to je to..meni sve ok šljaka na UWAMP-u (treba upgrade php-a, u osnovnoj je 5.2.9)
Apr 9, 2013 at 1:44 PM
ZEDisDEAD wrote:
vivax123 wrote:
ZEDisDEAD wrote:
vivax123 wrote:
ZEDisDEAD wrote:
vivax123 wrote:
je li jos itko imao problem sa openssl_sign() funkcijom na localhostu?
Thanx
Da nije do verzije php-a? koju imaš?
sumnjam, verzija php-a je 5.4.7
a localhost? nešto sam čitao da na wamp-u ima problema s nekim funkcijama..
koristim xampp 1.8.1
na serveru radi ok..
isprobaj na nekom od drugih,ako na nekom od radi, to je to..meni sve ok šljaka na UWAMP-u (treba upgrade php-a, u osnovnoj je 5.2.9)
hvala, provat cu