@@ -40,5 +40,5 @@ |
||
40 | 40 | |
41 | 41 | // si hubo errores se muestran |
42 | 42 | foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
43 | - echo $error,"\n"; |
|
43 | + echo $error, "\n"; |
|
44 | 44 | } |
@@ -98,5 +98,6 @@ |
||
98 | 98 | } |
99 | 99 | |
100 | 100 | // si hubo errores mostrar |
101 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
101 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
102 | 102 | echo $error,"\n"; |
103 | +} |
@@ -66,4 +66,4 @@ |
||
66 | 66 | |
67 | 67 | // si hubo errores mostrar |
68 | 68 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
69 | - echo $error,"\n"; |
|
69 | + echo $error, "\n"; |
@@ -38,19 +38,19 @@ |
||
38 | 38 | \sasco\LibreDTE\Sii::setAmbiente(); |
39 | 39 | |
40 | 40 | // solicitar ambiente producción |
41 | -echo \sasco\LibreDTE\Sii::wsdl('CrSeed'),"\n"; |
|
41 | +echo \sasco\LibreDTE\Sii::wsdl('CrSeed'), "\n"; |
|
42 | 42 | |
43 | 43 | // solicitar ambiente desarrollo con parámetro |
44 | -echo \sasco\LibreDTE\Sii::wsdl('CrSeed', \sasco\LibreDTE\Sii::CERTIFICACION),"\n"; |
|
44 | +echo \sasco\LibreDTE\Sii::wsdl('CrSeed', \sasco\LibreDTE\Sii::CERTIFICACION), "\n"; |
|
45 | 45 | |
46 | 46 | // solicitar ambiente desarrollo con configuración |
47 | 47 | \sasco\LibreDTE\Sii::setAmbiente(\sasco\LibreDTE\Sii::CERTIFICACION); |
48 | -echo \sasco\LibreDTE\Sii::wsdl('CrSeed'),"\n"; |
|
49 | -echo \sasco\LibreDTE\Sii::wsdl('GetTokenFromSeed'),"\n"; |
|
48 | +echo \sasco\LibreDTE\Sii::wsdl('CrSeed'), "\n"; |
|
49 | +echo \sasco\LibreDTE\Sii::wsdl('GetTokenFromSeed'), "\n"; |
|
50 | 50 | |
51 | 51 | // a pesar de estar en ambiente de desarrollo (por la configuración antes |
52 | 52 | // definida) se puede forzar producción usando el segundo parámetro. Al estar |
53 | 53 | // definido el segundo parámetro no se considerará la existencia ni valor de la |
54 | 54 | // configuración |
55 | -echo \sasco\LibreDTE\Sii::wsdl('CrSeed', \sasco\LibreDTE\Sii::PRODUCCION),"\n"; |
|
56 | -echo \sasco\LibreDTE\Sii::wsdl('GetTokenFromSeed', \sasco\LibreDTE\Sii::PRODUCCION),"\n"; |
|
55 | +echo \sasco\LibreDTE\Sii::wsdl('CrSeed', \sasco\LibreDTE\Sii::PRODUCCION), "\n"; |
|
56 | +echo \sasco\LibreDTE\Sii::wsdl('GetTokenFromSeed', \sasco\LibreDTE\Sii::PRODUCCION), "\n"; |
@@ -114,7 +114,7 @@ discard block |
||
114 | 114 | 'MntNeto' => 12135, |
115 | 115 | 'IVANoRec' => [ |
116 | 116 | 'CodIVANoRec' => 4, |
117 | - 'MntIVANoRec' => round(12135 * (\sasco\LibreDTE\Sii::getIVA()/100)), |
|
117 | + 'MntIVANoRec' => round(12135 * (\sasco\LibreDTE\Sii::getIVA() / 100)), |
|
118 | 118 | ], |
119 | 119 | ], |
120 | 120 | // COMPRA CON RETENCION TOTAL DEL IVA |
@@ -128,7 +128,7 @@ discard block |
||
128 | 128 | 'OtrosImp' => [ |
129 | 129 | 'CodImp' => 15, |
130 | 130 | 'TasaImp' => \sasco\LibreDTE\Sii::getIVA(), |
131 | - 'MntImp' => round(10632 * (\sasco\LibreDTE\Sii::getIVA()/100)), |
|
131 | + 'MntImp' => round(10632 * (\sasco\LibreDTE\Sii::getIVA() / 100)), |
|
132 | 132 | ], |
133 | 133 | ], |
134 | 134 | // NOTA DE CREDITO POR DESCUENTO FACTURA ELECTRONICA 32 |
@@ -160,4 +160,4 @@ discard block |
||
160 | 160 | |
161 | 161 | // si hubo errores mostrar |
162 | 162 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
163 | - echo $error,"\n"; |
|
163 | + echo $error, "\n"; |
@@ -65,5 +65,6 @@ |
||
65 | 65 | var_dump($track_id); |
66 | 66 | |
67 | 67 | // si hubo errores mostrar |
68 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
68 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
69 | 69 | echo $error,"\n"; |
70 | +} |
@@ -37,7 +37,7 @@ discard block |
||
37 | 37 | $token = \sasco\LibreDTE\Sii\Autenticacion::getToken($config['firma']); |
38 | 38 | if (!$token) { |
39 | 39 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
40 | - echo $error,"\n"; |
|
40 | + echo $error, "\n"; |
|
41 | 41 | exit; |
42 | 42 | } |
43 | 43 | |
@@ -58,4 +58,4 @@ discard block |
||
58 | 58 | |
59 | 59 | // mostrar error si hubo |
60 | 60 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
61 | - echo $error,"\n"; |
|
61 | + echo $error, "\n"; |
@@ -36,8 +36,9 @@ discard block |
||
36 | 36 | // solicitar token |
37 | 37 | $token = \sasco\LibreDTE\Sii\Autenticacion::getToken($config['firma']); |
38 | 38 | if (!$token) { |
39 | - foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
40 | - echo $error,"\n"; |
|
39 | + foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
40 | + echo $error,"\n"; |
|
41 | + } |
|
41 | 42 | exit; |
42 | 43 | } |
43 | 44 | |
@@ -57,5 +58,6 @@ discard block |
||
57 | 58 | } |
58 | 59 | |
59 | 60 | // mostrar error si hubo |
60 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
61 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
61 | 62 | echo $error,"\n"; |
63 | +} |
@@ -611,17 +611,20 @@ discard block |
||
611 | 611 | // Objetos de Firma, Folios y EnvioDTE |
612 | 612 | $Firma = new \sasco\LibreDTE\FirmaElectronica($config['firma']); |
613 | 613 | $Folios = []; |
614 | -foreach ($folios as $tipo => $cantidad) |
|
614 | +foreach ($folios as $tipo => $cantidad) { |
|
615 | 615 | $Folios[$tipo] = new \sasco\LibreDTE\Sii\Folios(file_get_contents('xml/folios/'.$tipo.'.xml')); |
616 | +} |
|
616 | 617 | $EnvioDTE = new \sasco\LibreDTE\Sii\EnvioDte(); |
617 | 618 | |
618 | 619 | // generar cada DTE, timbrar, firmar y agregar al sobre de EnvioDTE |
619 | 620 | foreach ($documentos as $documento) { |
620 | 621 | $DTE = new \sasco\LibreDTE\Sii\Dte($documento); |
621 | - if (!$DTE->timbrar($Folios[$DTE->getTipo()])) |
|
622 | - break; |
|
623 | - if (!$DTE->firmar($Firma)) |
|
624 | - break; |
|
622 | + if (!$DTE->timbrar($Folios[$DTE->getTipo()])) { |
|
623 | + break; |
|
624 | + } |
|
625 | + if (!$DTE->firmar($Firma)) { |
|
626 | + break; |
|
627 | + } |
|
625 | 628 | $EnvioDTE->agregar($DTE); |
626 | 629 | } |
627 | 630 | |
@@ -632,5 +635,6 @@ discard block |
||
632 | 635 | var_dump($track_id); |
633 | 636 | |
634 | 637 | // si hubo errores mostrar |
635 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
638 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
636 | 639 | echo $error,"\n"; |
640 | +} |
@@ -66,4 +66,4 @@ |
||
66 | 66 | |
67 | 67 | // si hubo errores mostrar |
68 | 68 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
69 | - echo $error,"\n"; |
|
69 | + echo $error, "\n"; |
@@ -107,4 +107,4 @@ |
||
107 | 107 | |
108 | 108 | // si hubo algún error se muestra |
109 | 109 | foreach (\sasco\LibreDTE\Log::readAll() as $log) |
110 | - echo $log,"\n"; |
|
110 | + echo $log, "\n"; |
@@ -106,5 +106,6 @@ |
||
106 | 106 | } |
107 | 107 | |
108 | 108 | // si hubo algún error se muestra |
109 | -foreach (\sasco\LibreDTE\Log::readAll() as $log) |
|
109 | +foreach (\sasco\LibreDTE\Log::readAll() as $log) { |
|
110 | 110 | echo $log,"\n"; |
111 | +} |
@@ -299,17 +299,20 @@ discard block |
||
299 | 299 | // Objetos de Firma y Folios |
300 | 300 | $Firma = new \sasco\LibreDTE\FirmaElectronica($config['firma']); |
301 | 301 | $Folios = []; |
302 | -foreach ($folios as $tipo => $cantidad) |
|
302 | +foreach ($folios as $tipo => $cantidad) { |
|
303 | 303 | $Folios[$tipo] = new \sasco\LibreDTE\Sii\Folios(file_get_contents('xml/folios/'.$tipo.'.xml')); |
304 | +} |
|
304 | 305 | |
305 | 306 | // generar cada DTE, timbrar, firmar y agregar al sobre de EnvioBOLETA |
306 | 307 | $EnvioDTE = new \sasco\LibreDTE\Sii\EnvioDte(); |
307 | 308 | foreach ($set_pruebas as $documento) { |
308 | 309 | $DTE = new \sasco\LibreDTE\Sii\Dte($documento); |
309 | - if (!$DTE->timbrar($Folios[$DTE->getTipo()])) |
|
310 | - break; |
|
311 | - if (!$DTE->firmar($Firma)) |
|
312 | - break; |
|
310 | + if (!$DTE->timbrar($Folios[$DTE->getTipo()])) { |
|
311 | + break; |
|
312 | + } |
|
313 | + if (!$DTE->firmar($Firma)) { |
|
314 | + break; |
|
315 | + } |
|
313 | 316 | $EnvioDTE->agregar($DTE); |
314 | 317 | } |
315 | 318 | $EnvioDTE->setFirma($Firma); |
@@ -320,5 +323,6 @@ discard block |
||
320 | 323 | } |
321 | 324 | |
322 | 325 | // si hubo errores mostrar |
323 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
326 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
324 | 327 | echo $error,"\n"; |
328 | +} |
@@ -66,4 +66,4 @@ |
||
66 | 66 | |
67 | 67 | // si hubo errores mostrar |
68 | 68 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
69 | - echo $error,"\n"; |
|
69 | + echo $error, "\n"; |
@@ -53,13 +53,13 @@ discard block |
||
53 | 53 | $Signatures->item($Signatures->length-1)->getElementsByTagName('Modulus')->item(0)->nodeValue, |
54 | 54 | $Signatures->item($Signatures->length-1)->getElementsByTagName('Exponent')->item(0)->nodeValue |
55 | 55 | );*/ |
56 | -$valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate) === 1 ? true : false; |
|
57 | -echo 'Verificando SetDTE:',"\n"; |
|
58 | -echo ' Digest SetDTE: ',base64_encode(sha1($SetDTE, true)),"\n"; |
|
59 | -echo ' Digest SignedInfo: ',base64_encode(sha1($SignedInfo->C14N(), true)),"\n"; |
|
60 | -echo ' Digest SignedInfo: ',bin2hex(sha1($SignedInfo->C14N(), true)),"\n"; |
|
61 | -echo ' Digest SetDTE valido: ',($DigestValue===base64_encode(sha1($SetDTE, true))?'si':'no'),"\n"; |
|
62 | -echo ' Digest SignedInfo valido: ',($valid?'si':'no'),"\n\n"; |
|
56 | +$valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate)===1 ? true : false; |
|
57 | +echo 'Verificando SetDTE:', "\n"; |
|
58 | +echo ' Digest SetDTE: ', base64_encode(sha1($SetDTE, true)), "\n"; |
|
59 | +echo ' Digest SignedInfo: ', base64_encode(sha1($SignedInfo->C14N(), true)), "\n"; |
|
60 | +echo ' Digest SignedInfo: ', bin2hex(sha1($SignedInfo->C14N(), true)), "\n"; |
|
61 | +echo ' Digest SetDTE valido: ', ($DigestValue===base64_encode(sha1($SetDTE, true)) ? 'si' : 'no'), "\n"; |
|
62 | +echo ' Digest SignedInfo valido: ', ($valid ? 'si' : 'no'), "\n\n"; |
|
63 | 63 | |
64 | 64 | // verificar firma de documentos |
65 | 65 | $i = 0; |
@@ -81,18 +81,18 @@ discard block |
||
81 | 81 | $Signatures->item($i)->getElementsByTagName('Modulus')->item(0)->nodeValue, |
82 | 82 | $Signatures->item($i)->getElementsByTagName('Exponent')->item(0)->nodeValue |
83 | 83 | );*/ |
84 | - $valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate) === 1 ? true : false; |
|
85 | - echo 'Verificando Documento:',"\n"; |
|
86 | - echo ' Digest Documento: ',base64_encode(sha1($Documento->C14N(), true)),"\n"; |
|
87 | - echo ' Digest SignedInfo: ',base64_encode(sha1($SignedInfo->C14N(), true)),"\n"; |
|
88 | - echo ' Digest Documento valido: ',($DigestValue===base64_encode(sha1($Documento->C14N(), true))?'si':'no'),"\n"; |
|
89 | - echo ' Digest SignedInfo valido: ',($valid?'si':'no'),"\n\n"; |
|
84 | + $valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate)===1 ? true : false; |
|
85 | + echo 'Verificando Documento:', "\n"; |
|
86 | + echo ' Digest Documento: ', base64_encode(sha1($Documento->C14N(), true)), "\n"; |
|
87 | + echo ' Digest SignedInfo: ', base64_encode(sha1($SignedInfo->C14N(), true)), "\n"; |
|
88 | + echo ' Digest Documento valido: ', ($DigestValue===base64_encode(sha1($Documento->C14N(), true)) ? 'si' : 'no'), "\n"; |
|
89 | + echo ' Digest SignedInfo valido: ', ($valid ? 'si' : 'no'), "\n\n"; |
|
90 | 90 | $i++; |
91 | 91 | } |
92 | 92 | |
93 | 93 | // si hubo errores mostrar |
94 | 94 | foreach (\sasco\LibreDTE\Log::readAll() as $error) |
95 | - echo $error,"\n"; |
|
95 | + echo $error, "\n"; |
|
96 | 96 | |
97 | 97 | // para el XML de ejemplo del SII la clave pública obtenida desde el certificado |
98 | 98 | // no sirvió para validar las firmas del documento, se probó obteniendo la clave |
@@ -91,8 +91,9 @@ |
||
91 | 91 | } |
92 | 92 | |
93 | 93 | // si hubo errores mostrar |
94 | -foreach (\sasco\LibreDTE\Log::readAll() as $error) |
|
94 | +foreach (\sasco\LibreDTE\Log::readAll() as $error) { |
|
95 | 95 | echo $error,"\n"; |
96 | +} |
|
96 | 97 | |
97 | 98 | // para el XML de ejemplo del SII la clave pública obtenida desde el certificado |
98 | 99 | // no sirvió para validar las firmas del documento, se probó obteniendo la clave |