![]() |
Cita:
Era eso lo que me faltaba. Muchas gracias :) |
Buenas,
Creo que no me explique bien en un mensaje anterior cuando dije "Esta petición será un POST sin body" Mea culpa. :o Quise decir que no se enviara nada con sentido, pero claro sí hay que enviar alguna cosa en xml para que el servicio lo trague. Por eso simplemente ponemos en el body: <?xml version="1.0" encoding="utf-8"?> y con eso el servicio lo procesa y devuelve el error, y si lo ha procesado ya nos vale para saber que está operativo........ Saludos |
pasar pfx a pem php
En php como habeis conseguido pasar el certificado de pfx a pem?¿
Lo estoy intentado de esta forma pero me da error luego el servicio Código PHP:
|
Cita:
Mira en https://www.clubdelphi.com/foros/sho...&postcount=538 Ahí nuestro colega bilbur tiene su firmador.php Él hace: Código PHP:
Código:
openssl pkcs12 -in certificado.pfx -out cert.pem -clcerts -nokeys |
Campo DESCUENTO en XML
Hola, kaixo,
en primer lugar, gracias por toda la información que habéis colgado en este foro. ¡Excelente! En segundo lugar, una duda sobre el campo DESCUENTO del XML de TicketBai Gipuzkoa: He visto que el descuento solo se puede aplicar a una línea detalle en concreto. En mi caso, me interesaría aplicar un descuento a la factura completa, no a una línea detalle concreta. No he visto que el XML tenga ese campo. ¿Alguien se encuentra en esta misma tesitura? (Voy a escribir a TicketBai Gipuzkoa para comentarlo, pero me gustaría saber si alguien tiene el mismo problema). Muchas gracias. Eskerrik asko. |
PHP Seguridad en la firma - clave -
Hasta ahora, en desarrollo, guardo las contraseñas de los certificados .pfx en texto claro.
Evidente que esto no puede ser en producción. Estoy haciendo lo siguiente: Mediante formulario solicito al cliente su certificado.pfx y su contraseña de importación (la cual no "veo") Guardo en el directorio que corresponde su certificado.pfx lo paso y guardo a certificado.pem y guardo la contraseña encriptada en certificado.pass De este modo No guardo las contraseñas de importación del certificado y firma en texto claro. A la hora de la firma desencripto la contraseña guardada en certificado.pass, firmo y destruyo la contraseña desencriptada. (mini modificación firmador.php probado y funcionando) Cierto es que al final todo depende de la contraseña de encriptar desencriptar, la cual puede ser autogenerada por combinaciones de cif cliente, cif desarrollador, fechas, etc. Seguro que se me pasa algo y mi pregunta es, ¿Vosotros cómo lo habéis planteado? Un saludo y gracias Si alguien necesita el script en PHP para pasar y guardar los certificados.pfx a .pem y .pass que lo diga y lo subo. |
Cita:
Hice algunas pruebas pero no parece que estuviera ahí el problema ya que finalmente conseguí que funcionara sin esta línea que propones. Por lo visto, al menos, por ahora, el servidor acepta versiones inferiores de TLS o toma esta versión de forma automática (por lo que he leído es así sólo a partir del framework 3.6 de Net). El problema (los problemas, mejor dicho) eran varios (entrecomillado simple en el json que se pasa en la cabecera, ejercicio incorrecto), pero el último, el relevante, referido al certificado a usar para la conexión, se resolvió con esta indicación por parte del servicio técnico de batuz: Cita:
|
Cita:
Está bien pensado el tema de encriptar la contraseña del certificado del cliente. Toda protección es poca. En mi caso, todas mis aplicaciones son webs en Internet. No pido a mis clientes ningún certificado digital. Firmo yo los XML de sus facturas con mi propio certificado digital. Y marco los XML como factura emitida por tercero (nodo EmitidaPorTercerosODestinatario) Por supuesto, hago un contrato con mis clientes por el que me autorizan a dicha emisión y al envío de sus facturas a Hacienda. Me da auténtico repelús dejar una aplicación en manos de un cliente (y más en este caso del software garante TicketBAI en el que las multas son de órdago). Así que les monto una API para que su sistema de facturación se conecte con mi aplicación, que se encarga de todo (confeccionar el XML, firmarlo, almacenarlo, crear el código TBAI, crear el código QR y enviar el XML firmado a Hacienda) Saludos |
Cita:
|
Cita:
|
Cita:
Buenos días. Puestos a escoger una opción de las 2 a implementar, creo que la de las líneas es más lógica (además de la más habitual). Sólo se me ocurre en tu caso, que apliques el descuento a una línea calculando cual sería (si es posible), o que lo prorratees en todas las líneas de la factura (teniendo en cuenta posibles errores de redondeo). |
Cita:
|
Cita:
Echad un vistazo a la FAQ de Gipuzkoa 12.13: "...cada uno de los descuentos globales también deberán figurar en la factura, consignándose cada uno de ellos como una nueva línea de detalle describiendo el concepto del descuento, en su caso, y el importe, que según se configure el mismo, pudiera tener signo negativo." |
Hola a tod@s;
¿Sabe alguien cuándo se publicarán las especificaciones para el nuevo servicio Zuzendu de Guipuzcoa? Muchas gracias. Saludos. |
Cita:
|
Cita:
La versión que utilizo es la misma y funciona correctamente. Parece ser un error de verificación de firma. Si quieres, envía un xml sin datos (con las cabeceras TBAI) y lo firmo y compruebo. Un saludo |
Cita:
Chequea, primero, el XML firmado con https://tools.chilkat.io/xmlDsigVerify.cshtml Así te aseguras si está correctamente firmado. Saludos |
Gracias ya conseguí solucionarlo,
Me faltaban el los xsi al principio del documento. Código:
<?xml version='1.0' encoding='UTF-8'?><T:TicketBai xmlns:T='urn:ticketbai:emision' |
Cita:
te dejo mi plantilla de xml por si puedes revisármela.(no me deja incluir enlaces el foro) Código:
<xml version="1.0" encoding="UTF-8"> |
Buenos dias, foreros.
Despues de casi 7 años sin apenas tocar Delphi, vuelvo necesitar de vuestra ayuda con el dichoso Ticket BAI. Muchas gracias a elcharie por su código sobre la firma digital https://www.clubdelphi.com/foros/sho...ent#post534661 me ha sido de gran ayuda pues tambien uso los componentes SecureBlackBox para firmar con FacturaE. Mi duda es sobre el encadenamiento de las facturas, en un ejemplo he visto esto: Código:
<EncadenamientoFacturaAnterior> Mi duda es qué valor debo grabar en el tag SignatureValueFirmaFacturaAnterior. Suponiendo una firma digital del xml que acabo de grabar, Código:
<ds:Signature Id="Signature-221b390d-079e-45d2-a152-70726a44665f-Signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">¿cual seria el tag con el valor para el siguiente XML a firmar? ¿SignatureValue? ¿Alguno de los <DigestValue>? Estoy un poco perdido... |
Cita:
saludos |
Cita:
FIRMA VÁLIDA Te cuento: He creado un firmador_anulacion.php que difiere de firmador.php en 5 líneas Cambio "emision" por "anulacion" Código PHP:
cambio TicketBai por AnulaTicketBai Código PHP:
Código:
$xml = "<?xml version='1.0' encoding='UTF-8'?>";Si me obliga, combinaré del alguna forma firmador.php y firmador_anulacion.php para dejarlo sólo en uno. Puebalo y me cuentas |
Cita:
Gracias y un saludo! |
Cita:
Gracias por la respuesta, Neftalí. |
Cita:
Gracias por la respuesta, Adosplsys, y por la referencia a las FAQ. No se me había ocurrido que el descuento podía ser una nueva línea de detalle con el importe negativo. Solucionado, entonces. Gracias! |
Gracias
Hola a tod@s...
Primero daros las gracias por compartir todos los conocimientos y dudas que os habéis ido encontrando con el TBAI (ese gran desconocido con el que acabas soñando...) He conseguido, gracias a vosotros generar el xml, firmarlo (con el AutoFirmaCommandLine), generar el QR, enviarlo y casi lo más difícil, que lo acepten en Guipuzcoa... :) Lo he hecho todo con Tokyo (10.2.3), si alguien tiene alguna duda... aquí estoy a vuestra disposición... Sólo tengo un problemilla con la respuesta, por ahora leo la respuesta directamente a pelo en puro xml. (FindNode('Salida'), etc...) y funciona, pero no la puedo parsear al tipo IXMLTicketBaiResponse (generado automáticamente a partir del xsd)... que sería más elegante, legible y correcto. intento esto:
Tambien he probado con y tampoco... Si a alguien se le ocurre algo... si no lo dejaré moviéndome por los nodos a pelo... Muchas gracias de nuevo... |
Gipuzkoa caido... 503 Service unavailable...
Pues eso... ahora mismito... 18/08/21 10:15h
Como si todos hiciésemos vacaciones... |
Buenos dias, estoy probando a enviar ficheros individualmente a Guipuzcoa (incluso uno que ya estaba validado) y me da constantemente el error:
Error 415: SRVE0295E: Error reported: 415 Por lo menos deberia responder asi, porque lo he modificado: Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
Cita:
|
Cita:
Exactamente igual por aquí. No deben tener buen día. Algo tienen mal. El error 008 "el mensaje ha sido modificado en tránsito o la firma no está bien realizada" no me debería salir porque he enviado sin problemas otros veces atrás y todo iba o casi... ...y digo casi porque les tengo remitido una consulta sobre el segundo error que te/me da, el de encadenamiento de facturas. Hasta ahora si yo "jugando" provocaba un error de encadenamiento en la primera factura de un paquete (imaginemos) de 9 facturas, la primera me iba con error de encadenamiento (correcto y con sentido porque así había ocurrido) y las siguientes 8 facturas me subían perfectas (sin error de encadenamiento) Desde finales de julio TODAS LAS FACTURAS ME SUBEN SIEMPRE CON ERROR DE ENCADENAMIENTO, cosa que no entiendo el motivo, y como digo tengo hecha una consulta a soporte de Guipuzcoa sin contestar todavía. Hsata aquí puedo leer. |
Vale, el fallo estaba en mi llamada a CURL, que no le habia puesto el parametro -H "Content-type: application/xml;charset=UTF-8"
Código:
CURL -H "Content-type: application/xml;charset=UTF-8" |
Duda Con El Envio
Hola buenas a todos, soy nevo en el foro y he estado mirando un poco vuestros comentarios y han sido de gran ayuda.
Al firmar el XML creo que tengo un problema, la firma lo estoy realizando con la linea de comandos de autofirma con este comando: AutoFirmaCommandLine sign -i C:\TBAICOPIA\TICKETS\00437.XML -alias HUEGUN_IAN_XABI___73117194X -o C:\INDTEMP\F00.XML -password 1234asd. -store windows -format xades -config "format=XAdES Enveloped" Creo que me falta el identificador y su corrspondiente hash, sin emabargo no se muy bien como incluirlos Os adjunto el error que me da, si alguien puede sacarme de dudas se lo agradeceria <?xml version="1.0" encoding="UTF-8" standalone="true"?> -<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision"> -<Salida> <IdentificadorTBAI>TBAI-73117194X-180821-cx9UaH5jyFGA3-138</IdentificadorTBAI> <FechaRecepcion>18-08-2021 10:17:40</FechaRecepcion> <Estado>00</Estado> <Descripcion>Recibido</Descripcion> <Azalpena>Jasota</Azalpena> -<ResultadosValidacion> <Codigo>008</Codigo> <Descripcion>Aviso: Error en verificación de firma.</Descripcion> <Azalpena>Abisua: Errorea sinadura egiaztatzean.</Azalpena> </ResultadosValidacion> |
El comando para Vizcaya es este
AutoFirmaCommandLine.exe sign -i fichero_a_firmar -o fichero_firmado -store pkcs12:certificado_p12 -password password_certificado -filter certificado_p12 -format xades -xml -config "format=XAdES Enveloped \npolicyIdentifier=identificativo \npolicyIdentifierHash=codigo_HASH \npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256 \npolicyQualifier=identificativo Si miras en el foro verás varios mensajes relativos a esto. |
Tejano está en lo cierto...
Aunque le falte unas comillas para cerrar el valor del parametro -config... :b ... yo además añadiría que hay que mirar el primer mensaje, que es donde está recopilados todos los post con código, documentación y temas vitales... |
Cita:
Lo encontré... el problema estaba en el namespace. en la línea que yo decía que había probado de quitar..
La había probado de quitar, pero anteriormente también había quitado el sufijo del namespace ':ns2' y no me ligaba de ninguna forma... Dejando el mensaje tal y como llega, sin manipular, funciona bien pero al tratar el objeto Salida, está vacio ya que lo trata con el ns por lo que hay que eliminar las 2 referencias al namespace... ':ns2' y 'ns2:' Entonces va bien... Saludos... |
Fechas de Obligatoriedad
Cita:
Buenas tardes, soy nuevo en el foro, y aquí ando poniéndome al dia con toda la info de TicketBAI. Y esta es una de mis primeras dudas. Este calendario es seguro? Tenia entendido que el 1 de enero del 22 empezaba el periodo obligatorio. Entonces, se retrasa hasta Abril? Muchas gracias |
Cita:
Cada Diputación Foral tiene distintos plazos de obligatoriedad de implantación de TicketBAI y, en algunos casos, diferentes según la actividad: - Bizkaia: para todos obligatorio desde el 01/01/2024 (y también LROE) - Gipuzkoa: según este cuadro https://www.gipuzkoa.eus/documents/2...gutegia+ES.jpg - Álava: de forma gradual a lo largo del 2022. 01/04/2022 asesorías 01/07/2022 actividades profesionales y farmacias 01/10/2022 el resto de contribuyentes Saludos |
Servicio TBAI Gipuzkoa
Buenas!
A vosotros os va el servicio? Es que me arroja el error: Código PHP:
|
Cita:
Acabo de probar y funciona correctamente. Revisa el XML firmado con https://tools.chilkat.io/xmlDsigVerify.cshtml Saludos |
Otro con Problemas (firmador php)
1 Archivos Adjunto(s)
Buenas tardes, muchas gracias a todos por vuestras ayuda.
Por favor necesitaria que alguien quee use el firmador.php, si puede generar la firma, e indicarme que diferencia le sale. No consigo que me cree una firma válida, ya he repasado el código 30 veces. Adjunto Archivo firrmado Error al comprobar con chilkat: Signature is Invalid Number of Reference Digests = 3 Reference 1 digest is invalid because the computed digest differs from the digest in the XML. Reference 2 digest is invalid because the computed digest differs from the digest in the XML. Reference 3 digest is valid. |
| La franja horaria es GMT +2. Ahora son las 18:18:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi