Cita:
Empezado por unomasmas
Yo creo que sólo hay que codificar la parte del identificador TBAI, no la URL completa. Básicamente, con codificar la parte subrayada sería suficiente, aunque podrías hacerlo con toda la cadena negrita si te resulta más cómodo, pero no habría que incluir la parte inicial de la URL.
Código:
https://tbai.egoitza.gipuzkoa.eus/qr/?id=TBAI-12345678Z-290921-ViPV5QljO4BSh-103&s=R-2021&nf=0003&i=60.50&cr=255
No te fies de los valores. Los crc de este ejemplo son ficticios. Me he inventado una cadena que parece cierta para explicar cómo lo entiendo yo.
|
Exacto, Sólo hay que pasar a URI el código TBAI y sin recalcular el CRC...
p.Ej.
h t t p s://tbai.egoitza.gipuzkoa.eus/qr/?id=TBAI-12345678Z-290921-ViP+5Qlj/4BSh-103&s=R-2021&nf=0003&i=60.50&cr=255
debería ser
h t t p s://tbai.egoitza.gipuzkoa.eus/qr/?id=TBAI-12345678Z-290921-ViP%2B5Qlj%2F4BSh-103&s=R-2021&nf=0003&i=60.50&cr=128
- Sólo se cambian los caracteres + y / del codigo TBAI
- El CRC del código TBAI -> 103, no varía
- El CRC de todo el valor de la dirección se calcula una vez se han cambiado los valores + y / del codigo TBAI
Código Delphi
[-]
strCodigoTBAI := 'TBAI-12345678Z-290921-ViP+5Qlj/4BSh-103';
strUrlQR := 'https://tbai.egoitza.gipuzkoa.eus/qr/';
strURI := strUrlQR + '?id=' + TbaiToURI(strCodigoTBAI) + '&s=' + strSerie + '&nf=' strNumeroFactura + '&i=' + strImporteFactura;
strURI := strURI + '&cr=' + CRC8(strURI);
-