Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-05-2021
sline sline is offline
Miembro
 
Registrado: may 2021
Posts: 18
Poder: 0
sline Va por buen camino
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:
Empezado por bilbur Ver Mensaje
Nos hemos quedado aquí:
Responder Con Cita
  #2  
Antiguo 12-05-2021
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 62
Poder: 7
bilbur Va por buen camino
Cita:
Empezado por sline Ver Mensaje
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 + o / 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.

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:
   $msg_TBAI = '';
    
$xml_actual_enviado = simplexml_load_file($guardado_enviado_tbai);    
    
$signatureNodeActual = $xml_actual_enviado->children('ds', true)->Signature;    
    
$SignatureValueFirmaFacturaActual = $signatureNodeActual->SignatureValue;
    
$SignatureValueFirmaFacturaActual = substr($SignatureValueFirmaFacturaActual,0,13);    
    
$factura_tbai_serie  = $xml_actual_enviado->Factura->CabeceraFactura->SerieFactura;    
    
$factura_tbai_numero = $xml_actual_enviado->Factura->CabeceraFactura->NumFactura;
    
$factura_tbai_fecha  = $xml_actual_enviado->Factura->CabeceraFactura->FechaExpedicionFactura;    
    
$factura_tbai_fecha_dd = substr($factura_tbai_fecha,0,2);
    
$factura_tbai_fecha_mm = substr($factura_tbai_fecha,3,2);    
    
$factura_tbai_fecha_aa = substr($factura_tbai_fecha,-2);        
    
$factura_tbai_importe  = $xml_actual_enviado->Factura->DatosFactura->ImporteTotalFactura;        
    
$TBAIID  = 'TBAI'.$caracterSeparador.$cif_340.$caracterSeparador.$dd;
    
$TBAIID .= $mm.$aaaa.$caracterSeparador;
    
$TBAIID .= $SignatureValueFirmaFacturaActual.$caracterSeparador;
    
$TBAIID = utf8_encode($TBAIID);    
    
$cod_crc8 = crc8($TBAIID);
    
$TBAIID  = $TBAIID.$cod_crc8;
    unset(
$xml_actual_enviado);
    
$msg_TBAI =  $url_TBAI_QR.'?id='.$TBAIID.'&s='.$factura_tbai_serie.'&nf='.$factura_tbai_numero.'&i='.$factura_tbai_importe;
    
$msg_TBAI = utf8_encode($msg_TBAI);    
    
$cod_crc8 = crc8($msg_TBAI);
    
$msg_TBAI = $msg_TBAI.'&cr='.$cod_crc8; 
Al final queda algo así:

'https://tbai.prep.gipuzkoa.eus/qr/?id=TBAI-B09203993-210421-YQw6BwvgmOe9h-235&s=FR&nf=000115&i=-5.44&cr=012'

Este enlace funciona
Responder Con Cita
  #3  
Antiguo 12-05-2021
sline sline is offline
Miembro
 
Registrado: may 2021
Posts: 18
Poder: 0
sline Va por buen camino
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:
Empezado por bilbur Ver Mensaje
te explico el código de la dirección qr para GIP
Responder Con Cita
  #4  
Antiguo 12-05-2021
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 62
Poder: 7
bilbur Va por buen camino
Cita:
Empezado por sline Ver Mensaje
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

Confirma los crc8
En este validador parace que da otros valores
https://crccalc.com/
Estaré más atontado de lo habitual
Ya me dices
Responder Con Cita
  #5  
Antiguo 12-05-2021
sline sline is offline
Miembro
 
Registrado: may 2021
Posts: 18
Poder: 0
sline Va por buen camino
Cita:
Empezado por bilbur Ver Mensaje
Confirma los crc8
He probado con el código TBAI que viene de ejemplo "TBAI-00000006Y-251019-btFpwP8dcLGAF-" y da 237 como debe ser.

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 "/" ?
Responder Con Cita
  #6  
Antiguo 12-05-2021
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 62
Poder: 7
bilbur Va por buen camino
Cita:
Empezado por sline Ver Mensaje
He probado con el código TBAI que viene de ejemplo "TBAI-00000006Y-251019-btFpwP8dcLGAF-" y da 237 como debe ser.

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 "/" ?
La función está bien
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
Responder Con Cita
  #7  
Antiguo 12-05-2021
sline sline is offline
Miembro
 
Registrado: may 2021
Posts: 18
Poder: 0
sline Va por buen camino
Cita:
Empezado por bilbur Ver Mensaje
La función está bien
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
http_://toolslick.com/programming/hashing/crc-calculator

TBAI-B09203993-200421-aZqWxK/x6JS3U- crc8 = 042
Todo parece estar en orden, me devuelve: TBAI-B09203993-200421-aZqWxK/x6JS3U-042
¿entonces es cosa de batuz?
Responder Con Cita
  #8  
Antiguo 12-05-2021
tejano tejano is offline
Miembro
 
Registrado: dic 2020
Posts: 132
Poder: 6
tejano Va por buen camino
Calculo CRC8

Buenas tardes,
Perdonad por mi ignorancia, pero sabéis de algún ejecutable al que se le mande la cadena de caracteres y devuelva el CRC8?
Mi programa de gestión es bastante viejo y no puedo definir variables tipo byte por lo que tampoco puedo desarrollar el módulo para calcular el CRC8.


Gracias de antemano.
Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3716 19-01-2026 21:01:34
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 10:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 17:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 10:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 10:21:14


La franja horaria es GMT +2. Ahora son las 10:31:58.


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
Copyright 1996-2007 Club Delphi