![]() |
Ayuda Chilkat - Error Envío Fichero
Cita:
Si miras en las especificaciones de envío pone la versión LROE_PF_140_1_1_Ingresos_ConfacturaConSG_AltaPeticion_V1_0_2.xsd. Y en el ejemplo Ejemplo_1_LROE_PF_140_IngresosConFacturaConSG_79732487C.xml también pone la misma versión. Parece que están desfasados en la creación de los documentos y su implantación en el entorno de pruebas. ¿Cómo les habrá funcionado a ellos? Saludos y mi agradecimiento por el esfuerzo realizado, Joselu |
Consultas a Batuz
Me funcionan bien las consultas, excepto el filtro por fechas
Código:
<?xml version='1.0' encoding='UTF-8'?>Por más que miro el xsd no encuentro el error Seguro que es cosa de "ellos" pero por preguntar que no quede Gracias |
PHP Envío a TBAI BIZ Batuz
Como ya me funciona bien lo de los envíos a batuz os dejo el código
Lo primero que hago es separar por ejercicios el envío, no sea que en enero quira enviar facturas de diciembre y de enero Código PHP:
Código PHP:
Código PHP:
Código PHP:
|
Cita:
Muchas gracias, una vez más por compartir tu código. Aún no he llegado a la fase de envío a Batuz. Estoy aún en la fase de firma del XML. Y me ha venido de maravilla tu código para la firma. ¡¡¡Funciona de perlas!!! Se parece bastante al que yo estaba desarrollando (aunque estaba atrancado) basado en https://github.com/josemmo/Facturae-PHP Hay una detallito que no entiendo de tu clase Firmador(): Código PHP:
Lo dicho, muchas gracias de nuevo. Saludos |
Cita:
El de facturae es fantástico pero un poco farragoso con los xmlns y no lograba "entenderlo" No añado 1 segundo, añado 1 hora (o 2 horas) por no se qué de la zona horaria Europa/Madrid Seguramente se pueda quitar sin problemas. Si necesitas alguna aclaración para la firma, sólo has de preguntar |
Cita:
Perdón, no había entendido bien la función date() que ejecutabas. Ya veo que es por el tema de la hora UTC+1 Gracias. Saludos |
Firmar xml ticketBAI utilizando c#
Hola, yo también estoy intentando firmar las facturas para tickeBAI en C# y no consigo que me acepten la factura como válida.
Código:
<?xml version="1.0" encoding="utf-8"?>Coincido con Noe277 en que la documentación no es suficientemente detallada para firmar los xml. Cualquier ayuda se agradece! Muchas gracias! Cita:
|
Cita:
En esta página hemos hablado de ese error: https://www.clubdelphi.com/foros/sho...d.php?p=540615 Posible que esté relacionado con la codificación. Revisa además si tienes caracteres extraños en el mensaje (en la razón social, por ejemplo) como ñáéüç... |
Gracias bilbur!
todo esto me ha permitido continuar con el proceso, pero me encuentro un contratiempo con el qr. Para generar el código QR es necesario los 13 primeros caracteres de la firma, en ocasiones la firma contiene caracteres como + y al entrar la url para batuz muestra que es incorrecta. No encuentro nada (o al menos no lo he visto) que limite qué caracteres usar o no, o si hubiera que reemplazarlos. Cita:
|
Cita:
te explico el código de la dirección qr para GIP $caracterSeparador = '-' // el guión medio o tecla del menos $cif_340 = cif de la empresa 9 dígitos $dd$mm$aaa = dia mes año sin separador // 12052021 $SignatureValueFirmaFacturaActua = substr($SignatureValueFirmaFacturaActual,0,13); // 13 primeras posiciones $TBAIID = utf8_encode($TBAIID); // lo codificas a utf8 $cod_crc8 = crc8($TBAIID); // calculas el crc8 $TBAIID = $TBAIID.$cod_crc8; // se lo añades a la cadena TBAIID $msg_TBAI = $url_TBAI_QR.'?id='.$TBAIID.'&s='.serie.'&nf='.numero.'&i='.$importe; // creas el enlace TBAI $msg_TBAI = utf8_encode($msg_TBAI); // otra vez a utf8 $cod_crc8 = crc8($msg_TBAI); // calculas el nuevo crc8 $msg_TBAI = $msg_TBAI.'&cr='.$cod_crc8; // y se lo añades al enalce Código PHP:
'https://tbai.prep.gipuzkoa.eus/qr/?id=TBAI-B09203993-210421-YQw6BwvgmOe9h-235&s=FR&nf=000115&i=-5.44&cr=012' Este enlace funciona |
Cita:
Elimina los acentos en el xml previo a la firma y también en el firmador que utilices Espero que sea eso |
Eso mismo es lo que hago, aquí pongo 2 ejemplos:
OK: https_//batuz.eus/QRTBAI/?id=TBAI-79732487C-120521-ME4g0D7g/iyVk-038&s=HB202105&nf=00020&i=382.67&cr=189 KO: https_//batuz.eus/QRTBAI/?id=TBAI-79732487C-120521-Kv+9Uth14cqcj-236&s=HS202105&nf=00021&i=1209.10&cr=121 Los datos de la URL son incorrectos (ERR_QR_003) el 3er carácter de la firma es + "Kv+9Uth14cqcj" y el + en una url por GET suele ser un espacio. parte de la firma en el xml: ....<ds:SignatureValue Id="xmldsig-118aebca-ded6-937b-16cd-782aa4431aab-sigvalue">Kv+9Uth14cqcjZzk286K7h+FLkm8W5UHukR8+GJkmRvJyKV3..... Cita:
|
Cita:
no tengo ningún carácter con tilde en el xml. |
Cita:
Revisa entonces que en algun momento no esté cambiando la codificación o que estés realizando el envío con una codificación incorrecta. Por ejemplo, que no estés guardando en un paso intermedio a fichero y al guardar/recuperar esté cambiando. |
Cita:
Confirma los crc8 En este validador parace que da otros valores https://crccalc.com/ Estaré más atontado de lo habitual Ya me dices |
Genero el xml y a continuación lo firmo como indicó bilbur, en php.
Lo que no sé es si han tenido en cuenta que el carácter + forma parte de base64 https_//es.wikipedia.org/wiki/Base64 Hay un párrafo que pone: Cita:
¿sería posible reemplazar los caracteres '+' y '/' por '-' y '_' de la firma y que esta siga siendo válida? Cita:
|
Cita:
Ejemplo con + en firma https://tbai.prep.gipuzkoa.eus/qr/?i...i=18.81&cr=075 Funciona |
Cita:
Por ejemplo este "TBAI-79732487C-120521-ME4g0D7g/iyVk-" me devuelve 038 pero en http_//crccalc.com me devuelve 070. mientas que "TBAI-79732487C-120521-Kv+9Uth14cqcj-" devuelve 236 y es el esperado Otro ejemplo mas sencillo: "hola/-" la función para crc8 devuelve 035 mientras que en http_//crccalc.com devuelve 014 Uso esta función para crc8: https_//www_clubdelphi_com/~hector/foros/showthread.php?p=534948&highlight=crc8#post534948 ¿es posible que esta función tenga problemas con "/" ? |
Cita:
Falla el validador No obstante prueba este código TBAI con barra, tanto en función como en este validador que parece mejor que el otro https://toolslick.com/programming/ha...crc-calculator TBAI-B09203993-200421-aZqWxK/x6JS3U- crc8 = 042 |
Cita:
¿entonces es cosa de batuz? |
| La franja horaria es GMT +2. Ahora son las 01:44:22. |
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