Cita:
Empezado por jodaws
Muchas gracias a todos!Pues así lo ha hecho bien pero ahora me salta error en el cálculo de la huella
Código:
<FechaHoraHusoGenRegistro>2025-02-27T09:08:59+01:00</FechaHoraHusoGenRegistro>
Código:
<tikR:DescripcionErrorRegistro>El cálculo de la huella suministrada es incorrecta.
Datos de entrada cálculo huella:
IDEmisorFactura=XXXXXXXXX&
NumSerieFactura=1/125000013&
FechaExpedicionFactura=26-02-2025&
TipoFactura=F1&
CuotaTotal=1.72&
ImporteTotal=9.90&
Huella=857d7da1a202c1659e2249feb65273a6333afc3166e97d9f2018978a42cb9233&
FechaHoraHusoGenRegistro=2025-02-27T09:08:59+01:00
Huella calculada: FE087FDBAAC73C408D8F5100CC06175476A9741BF4EFBFC4C088C86F027F4E73</tikR:DescripcionErrorRegistro>
Edito: la huella debe estar en mayúsculas!
|
No das muchas pistas sobre lo que te pasa con la huella, por si te sirve de algo yo lo hago así:
Código Delphi
[-]
sAux:='IDEmisorFactura='+Edit2.Text+'&NumSerieFactura='+Factura.RegistroAlta.IDFactura.NumSerieFactu ra+'&FechaExpedicionFactura='+Factura.RegistroAlta.IDFactura.FechaExpedicionFactura;
sAux:=sAux+'&TipoFactura='+ListaCampos[2]+'&CuotaTotal='+Factura.RegistroAlta.CuotaTotal+'&ImporteTotal='+Factura.RegistroAlta.ImporteTotal+' &Huella='+Edit18.Text+'&FechaHoraHusoGenRegistro='+XSDateTime.NativeToXS;
Huella:=UpperCase(HashSHA256(sAux));
Factura.RegistroAlta.TipoHuella := TipoHuellaType._01;
Factura.RegistroAlta.Huella := Huella;
No creo que tengas mucho problema en adivinar unas cuantas variables que hay en esas líneas.
y la función HashSHA256:
Código Delphi
[-]
function HashSha256(const APassword: string): string;
var
SHA256: THashSHA2;
begin
SHA256 := THashSHA2.Create;
try
Result := SHA256.GetHashString(APassword);
finally
FreeAndNil(SHA256);
end;
end;
Saludos.