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 23-07-2021
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 194
Poder: 7
unomasmas Va por buen camino
Cita:
Empezado por b4aronDeLaBirr4 Ver Mensaje
podrías postear el fichero XML que envías
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
¿puedes poner el fichero que estás enviando?
Es un poco tocho :-(. Ahí va. He cambiado/quitado algún dato para "anonimizarlo" pero la estructura se mantiene
Código:
<?xml version="1.0" encoding="utf-8"?>
<T:TicketBai xmlns:T="urn:ticketbai:emision">
   <Cabecera>
      <IDVersionTBAI>1.2</IDVersionTBAI>
   </Cabecera>
   <Sujetos>
      <Emisor>
         <NIF>xxxxxxxxx</NIF>
         <ApellidosNombreRazonSocial>Empresa para Desarrollo</ApellidosNombreRazonSocial>
      </Emisor>
      <Destinatarios>
         <IDDestinatario>
            <IDOtro>
               <CodigoPais>DE</CodigoPais>
               <IDType>03</IDType>
               <ID>U85XXXXX</ID>
            </IDOtro>
            <ApellidosNombreRazonSocial>CLIENTE</ApellidosNombreRazonSocial>
            <CodigoPostal>28036</CodigoPostal>
            <Direccion>C/ Inexistente. Madrid. ESP</Direccion>
         </IDDestinatario>
      </Destinatarios>
      <VariosDestinatarios>N</VariosDestinatarios>
      <EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario>
   </Sujetos>
   <Factura>
      <CabeceraFactura>
         <SerieFactura>2021-</SerieFactura>
         <NumFactura>0008</NumFactura>
         <FechaExpedicionFactura>27-05-2021</FechaExpedicionFactura>
         <HoraExpedicionFactura>00:00:00</HoraExpedicionFactura>
         <FacturaSimplificada>N</FacturaSimplificada>
         <FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
      </CabeceraFactura>
      <DatosFactura>
         <FechaOperacion>27-05-2021</FechaOperacion>
         <DescripcionFactura></DescripcionFactura>
         <DetallesFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Un servicio</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>2000.00000000</ImporteUnitario>
               <Descuento>0.00</Descuento>
               <ImporteTotal>2420.00</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 1</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>5.83710987</ImporteUnitario>
               <Descuento>1.17</Descuento>
               <ImporteTotal>5.65</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 2</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>2363.79000000</ImporteUnitario>
               <Descuento>756.41</Descuento>
               <ImporteTotal>1944.93</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 3 (Exento)</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>200.00000000</ImporteUnitario>
               <Descuento>0.00</Descuento>
               <ImporteTotal>200.00</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 4 (No sujeto)</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>400.00000000</ImporteUnitario>
               <Descuento>0.00</Descuento>
               <ImporteTotal>400.00</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 5</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>79.80172200</ImporteUnitario>
               <Descuento>15.96</Descuento>
               <ImporteTotal>77.25</ImporteTotal>
            </IDDetalleFactura>
         </DetallesFactura>
         <ImporteTotalFactura>4543.04</ImporteTotalFactura>
         <RetencionSoportada>0.00</RetencionSoportada>
         <Claves>
            <IDClave>
               <ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia>
            </IDClave>
         </Claves>
      </DatosFactura>
      <TipoDesglose>
         <DesgloseTipoOperacion>
            <PrestacionServicios>
               <Sujeta>
                  <NoExenta>
                     <DetalleNoExenta>
                           <TipoNoExenta>S1</TipoNoExenta>
                           <DesgloseIVA>
                              <DetalleIVA>
                                 <BaseImponible>1800.00</BaseImponible>
                                 <TipoImpositivo>21.00</TipoImpositivo>
                                 <CuotaImpuesto>378.00</CuotaImpuesto>
                                 <TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                                 <CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                                 <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                              </DetalleIVA>
                           </DesgloseIVA>
                     </DetalleNoExenta>
                  </NoExenta>
               </Sujeta>
            </PrestacionServicios>
            <Entrega>
               <Sujeta>
                  <Exenta>
                     <DetalleExenta>
                        <CausaExencion>E1</CausaExencion>
                        <BaseImponible>180.00</BaseImponible>
                     </DetalleExenta>
                  </Exenta>
                  <NoExenta>
                     <DetalleNoExenta>
                           <TipoNoExenta>S1</TipoNoExenta>
                           <DesgloseIVA>
                              <DetalleIVA>
                                 <BaseImponible>1508.30</BaseImponible>
                                 <TipoImpositivo>21.00</TipoImpositivo>
                                 <CuotaImpuesto>316.74</CuotaImpuesto>
                                 <TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                                 <CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                                 <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                              </DetalleIVA>
                           </DesgloseIVA>
                     </DetalleNoExenta>
                  </NoExenta>
               </Sujeta>
               <NoSujeta>
                  <DetalleNoSujeta>
                     <Causa>OT</Causa>
                     <Importe>360.00</Importe>
                  </DetalleNoSujeta>
               </NoSujeta>
            </Entrega>
         </DesgloseTipoOperacion>
      </TipoDesglose>
   </Factura>
   <HuellaTBAI>
      <EncadenamientoFacturaAnterior>
         <SerieFacturaAnterior>2021-</SerieFacturaAnterior>
         <NumFacturaAnterior>0007</NumFacturaAnterior>
         <FechaExpedicionFacturaAnterior>13-03-2021</FechaExpedicionFacturaAnterior>
         <SignatureValueFirmaFacturaAnterior>asdf</SignatureValueFirmaFacturaAnterior>
      </EncadenamientoFacturaAnterior>
      <Software>
      </Software>
   </HuellaTBAI>
<ds:Signature xmlns:ds="h t t p://w w w . w3.org/2000/09/xmldsig#" Id="Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="h t t p://w w w . w3.org/TR/2001/REC-xml-c14n-20010315" /><ds:SignatureMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference Id="Reference-1fd8f7a2-64b2-4853-be4d-6d09a5f4acf8" URI=""><ds:Transforms><ds:Transform Algorithm="h t t p://w w w . w3.org/2000/09/xmldsig#enveloped-signature" /></ds:Transforms><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>o1QqNl5sJpAl65C/BqAYVhusYNSi6ohFRmcOlj/XvS0=</ds:DigestValue></ds:Reference><ds:Reference Id="ReferenceKeyInfo" URI="#KeyInfoId-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>9Ot9CoT4axGDWrd2B2KUoiGUM9dotSbXN7VTW1ZSEzg=</ds:DigestValue></ds:Reference><ds:Reference Type="h t t p://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>ou5WE9zmPnbJIGd/8a1PdT8yjojsvnRHQL5mU/CUB6Y=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="SignatureValue-de680881-c7b4-47c6-aba5-6587d516d7f8">ndpqqvNMKU7TLGzTuFaA34shuQMMV6D8i18U21wxr4uPVCOh79W6ws9Uaf/9v2xLeAJG0Xuxb7Tun5akz6v+lw/JthiulnG23G8No7FARMBi3/JvqPfWQT/3dZs/858JQRg5qOBSxy1UiXHrgHk8mwzAw8PqvmJX+Ah9RsBM9nHmvDW/Ezj+D6SgTinwUbe5AgxZ2FCubMpEf4BA0oBmkNgno4Gu62huvYYcm/XTfzuBgJsPWmF8Y2AB3YlMEZBqdZT7uSJYFoYLbku26UV8WQU9eQbErxFPI+3eiqqq+g0cKlq0mYmeQms9NAjWjJyOEYAZy6noD1OxghMzhsmbWw==</ds:SignatureValue><ds:KeyInfo Id="KeyInfoId-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:X509Data><ds:X509Certificate>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</ds:X509Certificate></ds:X509Data><ds:KeyValue><ds:RSAKeyValue><ds:Modulus>qqnHp05M8zTtA1mOGyn52Zg2MxIdVoq0i+nq1UBsyD0YTbDvrFxorop1lVmwD9zFcU7g97YYHzUh6ZKzrDBxRR5DuEj7ZWxmM8zdrUE4qj4RPaEn56yBspcfsXAnAElWhi8ZO6upkdwezKplh0sIv9rC3yVEmenUA+t3vpjvUjuVI83M8E2OmlO9wspX7oAagyG86X79QLoUCiMNaklhtts/bAhjaUf1NjiByA1oVJ/h5vPXRmjzIMSYOG4Nqx6oDS4EDjzodr9qWWR/rO/y8pAANFvhPviGC30oLEDU9QeImrYt9hLRHiI3Z3f+k8bthyY/NHw97LARgkl46UkQOQ==</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></ds:KeyValue></ds:KeyInfo><ds:Object Id="XadesObjectId-57c1a5af-ffe1-461d-88df-f9eff65f7ae3"><xades:QualifyingProperties xmlns:xades="h t t p://uri.etsi.org/01903/v1.3.2#" Id="QualifyingProperties-1175f181-69af-4b92-89cd-01f8370fc991" Target="#Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><xades:SignedProperties Id="SignedProperties-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><xades:SignedSignatureProperties><xades:SigningTime>2021-07-22T07:25:38+02:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>4BZFYhzQCbqva/Vw8wyM2GXhf8lML3xaiMioujojtqQ=</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>CN=AC FNMT Usuarios, OU=Ceres, O=FNMT-RCM, C=ES</ds:X509IssuerName><ds:X509SerialNumber>348708523848XXXXXXXXXXXX13XX4566539550</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate><xades:SignaturePolicyIdentifier><xades:SignaturePolicyId><xades:SigPolicyId><xades:Identifier>h t t p://ticketbai.eus/politicafirma</xades:Identifier><xades:Description /></xades:SigPolicyId><xades:SigPolicyHash><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2000/09/xmldsig#sha1" /><ds:DigestValue>Ohixl6upD6av8N7pEvDABhEL6hM=</ds:DigestValue></xades:SigPolicyHash></xades:SignaturePolicyId></xades:SignaturePolicyIdentifier><xades:SignerRole><xades:ClaimedRoles><xades:ClaimedRole>emisor</xades:ClaimedRole><xades:ClaimedRole>sujeto</xades:ClaimedRole><xades:ClaimedRole>SERIALNUMBER</xades:ClaimedRole></xades:ClaimedRoles></xades:SignerRole></xades:SignedSignatureProperties><xades:SignedDataObjectProperties><xades:DataObjectFormat ObjectReference="#Reference-1fd8f7a2-64b2-4853-be4d-6d09a5f4acf8"><xades:MimeType>text/xml</xades:MimeType><xades:Encoding>UTF-8</xades:Encoding></xades:DataObjectFormat></xades:SignedDataObjectProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature></T:TicketBai>
Cita:
Empezado por b4aronDeLaBirr4 Ver Mensaje
qué certificado estás usando
Uso mi certificado personal, de la FNMT
Cita:
Empezado por b4aronDeLaBirr4 Ver Mensaje
el orden de los elementos en el XML es importante que sea acorde al XSD
Esto está revisado. Con la segunda opción me dió algunos errores de no concordancia con el XSD que corregí, así que aquí no creo que haya problema.
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
El certificado debe ser válido (de producción por decirelo así), no valen certificados de prueba. ¿Qué tipo de certificado estás utilizando?
Cita:
Empezado por b4aronDeLaBirr4 Ver Mensaje
que la petición de alta al servicio la estés realizando con el certificado también (además de firmar con él)
Creo que aquí está el problema (para el segúndo método). Para el envío no usaba el certificado del alta en el servicio ¡Gracias!
Cita:
Empezado por b4aronDeLaBirr4 Ver Mensaje
podrías probar en POSTMAN previamente o algo. Yo hice esto para ir descartando estos errores, te lo recomiendo.
No lo he usado nunca. Le echaré un vistazo. Gracias.
Cita:
Empezado por b4aronDeLaBirr4 Ver Mensaje
Por cierto, cómo estás firmando el XML? (Esto ya porque a mí me interesa ver otras opciones jeje)
Lo firmo con la librería FirmaXadesNet del Ayuntamiento de Cartagena (h t t p s://w w w . administracionelectronica.gob.es/ctt/firmaxadesnet). No hay documentación para ella pero en el código fuente (que también puedes descargar) tienes ejemplos de uso. Si quieres probarla (si no la usas ya) y no te aclaras, puedo poner el borrador que tengo para la firma; es más: lo pongo ya:
Código:
        public void FirmaDoc()
        {
            XadesService xadesService = new XadesService();
            SignatureParameters parametros = new SignatureParameters();
            parametros.SignaturePolicyInfo = new SignaturePolicyInfo();
            parametros.SignaturePolicyInfo.PolicyIdentifier = "h t t p://ticketbai.eus/politicafirma";
            parametros.SignaturePolicyInfo.PolicyHash = "Ohixl6upD6av8N7pEvDABhEL6hM=";
            parametros.SignaturePackaging = SignaturePackaging.ENVELOPED;
            parametros.DataFormat = new DataFormat();
            parametros.DataFormat.MimeType = "text/xml";
            parametros.SignerRole = new SignerRole();
            parametros.SignerRole.ClaimedRoles.Add("emisor");
            System.Security.Cryptography.X509Certificates.X509Certificate2 certificado;
            certificado = FirmaXadesNet.Utils.CertUtil.SelectCertificate();
            using (parametros.Signer = new Signer(certificado))
            {
                using (FileStream fs = new FileStream(_ficheroXml, FileMode.Open))
                {
                    SignatureDocument documentoFirma = xadesService.Sign(fs, parametros);
                    documentoFirma.Save(Path.Combine(Path.GetDirectoryName(_ficheroXml), Path.GetFileNameWithoutExtension(_ficheroXml) + ".XSIG"));
                    MessageBox.Show("Fichero guardado correctamente.");
                }
            }
        }
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
También puedes comprar tú mismo la estructura del que estás enviando con algunos de los ejemplos que hay en los mensajes del foro o los que te puedes descargar, a ver si te estás olvidando algún nodo (ya no sólo de los datos, sino de las firmas,...)
La verdad es que he mirado para ver si veía ejemplos (sobre todo de firmas) y no he visto nada más que algunas líneas sueltas... :-(
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
También puedes escribirles un mail con el fichero que estás enviando y los errores que te dan; Para el primer caso te dirán qué te falta y para el segundo caso, te darán de alta el certificado (si es necesario) y lo asociarán a los datos que estás usando para el envío (NIF / RAZON SOCIAL).
Gracias Neftalí. Voy a hacerlo también para ver si resuelvo el primer caso. El segundo con tus aportaciones y las de b4aronDeLaBirr4 creo que está resuelto. He hecho una subida tras cambiar el certificado de firma y ahora el error da pie a entender que ¡sí ha funcionado!. Este es el resultado:
Código:
        <ResultadosValidacion>
            <Codigo>005</Codigo>
            <Descripcion>Error: Fichero de alta TicketBAI ya registrado en el sistema.</Descripcion>
            <Azalpena>Errorea: TicketBAI fitxategia sisteman erregistratuta dago jada.</Azalpena>
        </ResultadosValidacion>
Probaré con otro documento y os cuento.
Responder Con Cita
  #2  
Antiguo 23-07-2021
Avatar de b4aronDeLaBirr4
b4aronDeLaBirr4 b4aronDeLaBirr4 is offline
Miembro
 
Registrado: jul 2021
Posts: 67
Poder: 5
b4aronDeLaBirr4 Va por buen camino
Firma XML

Cita:
Empezado por unomasmas Ver Mensaje
Es un poco tocho :-(. Ahí va. He cambiado/quitado algún dato para "anonimizarlo" pero la estructura se mantiene
Código:
<?xml version="1.0" encoding="utf-8"?>
<T:TicketBai xmlns:T="urn:ticketbai:emision">
   <Cabecera>
      <IDVersionTBAI>1.2</IDVersionTBAI>
   </Cabecera>
   <Sujetos>
      <Emisor>
         <NIF>xxxxxxxxx</NIF>
         <ApellidosNombreRazonSocial>Empresa para Desarrollo</ApellidosNombreRazonSocial>
      </Emisor>
      <Destinatarios>
         <IDDestinatario>
            <IDOtro>
               <CodigoPais>DE</CodigoPais>
               <IDType>03</IDType>
               <ID>U85XXXXX</ID>
            </IDOtro>
            <ApellidosNombreRazonSocial>CLIENTE</ApellidosNombreRazonSocial>
            <CodigoPostal>28036</CodigoPostal>
            <Direccion>C/ Inexistente. Madrid. ESP</Direccion>
         </IDDestinatario>
      </Destinatarios>
      <VariosDestinatarios>N</VariosDestinatarios>
      <EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario>
   </Sujetos>
   <Factura>
      <CabeceraFactura>
         <SerieFactura>2021-</SerieFactura>
         <NumFactura>0008</NumFactura>
         <FechaExpedicionFactura>27-05-2021</FechaExpedicionFactura>
         <HoraExpedicionFactura>00:00:00</HoraExpedicionFactura>
         <FacturaSimplificada>N</FacturaSimplificada>
         <FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
      </CabeceraFactura>
      <DatosFactura>
         <FechaOperacion>27-05-2021</FechaOperacion>
         <DescripcionFactura></DescripcionFactura>
         <DetallesFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Un servicio</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>2000.00000000</ImporteUnitario>
               <Descuento>0.00</Descuento>
               <ImporteTotal>2420.00</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 1</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>5.83710987</ImporteUnitario>
               <Descuento>1.17</Descuento>
               <ImporteTotal>5.65</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 2</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>2363.79000000</ImporteUnitario>
               <Descuento>756.41</Descuento>
               <ImporteTotal>1944.93</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 3 (Exento)</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>200.00000000</ImporteUnitario>
               <Descuento>0.00</Descuento>
               <ImporteTotal>200.00</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 4 (No sujeto)</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>400.00000000</ImporteUnitario>
               <Descuento>0.00</Descuento>
               <ImporteTotal>400.00</ImporteTotal>
            </IDDetalleFactura>
            <IDDetalleFactura>
               <DescripcionDetalle>Producto 5</DescripcionDetalle>
               <Cantidad>1.00</Cantidad>
               <ImporteUnitario>79.80172200</ImporteUnitario>
               <Descuento>15.96</Descuento>
               <ImporteTotal>77.25</ImporteTotal>
            </IDDetalleFactura>
         </DetallesFactura>
         <ImporteTotalFactura>4543.04</ImporteTotalFactura>
         <RetencionSoportada>0.00</RetencionSoportada>
         <Claves>
            <IDClave>
               <ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia>
            </IDClave>
         </Claves>
      </DatosFactura>
      <TipoDesglose>
         <DesgloseTipoOperacion>
            <PrestacionServicios>
               <Sujeta>
                  <NoExenta>
                     <DetalleNoExenta>
                           <TipoNoExenta>S1</TipoNoExenta>
                           <DesgloseIVA>
                              <DetalleIVA>
                                 <BaseImponible>1800.00</BaseImponible>
                                 <TipoImpositivo>21.00</TipoImpositivo>
                                 <CuotaImpuesto>378.00</CuotaImpuesto>
                                 <TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                                 <CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                                 <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                              </DetalleIVA>
                           </DesgloseIVA>
                     </DetalleNoExenta>
                  </NoExenta>
               </Sujeta>
            </PrestacionServicios>
            <Entrega>
               <Sujeta>
                  <Exenta>
                     <DetalleExenta>
                        <CausaExencion>E1</CausaExencion>
                        <BaseImponible>180.00</BaseImponible>
                     </DetalleExenta>
                  </Exenta>
                  <NoExenta>
                     <DetalleNoExenta>
                           <TipoNoExenta>S1</TipoNoExenta>
                           <DesgloseIVA>
                              <DetalleIVA>
                                 <BaseImponible>1508.30</BaseImponible>
                                 <TipoImpositivo>21.00</TipoImpositivo>
                                 <CuotaImpuesto>316.74</CuotaImpuesto>
                                 <TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                                 <CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                                 <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                              </DetalleIVA>
                           </DesgloseIVA>
                     </DetalleNoExenta>
                  </NoExenta>
               </Sujeta>
               <NoSujeta>
                  <DetalleNoSujeta>
                     <Causa>OT</Causa>
                     <Importe>360.00</Importe>
                  </DetalleNoSujeta>
               </NoSujeta>
            </Entrega>
         </DesgloseTipoOperacion>
      </TipoDesglose>
   </Factura>
   <HuellaTBAI>
      <EncadenamientoFacturaAnterior>
         <SerieFacturaAnterior>2021-</SerieFacturaAnterior>
         <NumFacturaAnterior>0007</NumFacturaAnterior>
         <FechaExpedicionFacturaAnterior>13-03-2021</FechaExpedicionFacturaAnterior>
         <SignatureValueFirmaFacturaAnterior>asdf</SignatureValueFirmaFacturaAnterior>
      </EncadenamientoFacturaAnterior>
      <Software>
      </Software>
   </HuellaTBAI>
<ds:Signature xmlns:ds="h t t p://w w w . w3.org/2000/09/xmldsig#" Id="Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="h t t p://w w w . w3.org/TR/2001/REC-xml-c14n-20010315" /><ds:SignatureMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference Id="Reference-1fd8f7a2-64b2-4853-be4d-6d09a5f4acf8" URI=""><ds:Transforms><ds:Transform Algorithm="h t t p://w w w . w3.org/2000/09/xmldsig#enveloped-signature" /></ds:Transforms><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>o1QqNl5sJpAl65C/BqAYVhusYNSi6ohFRmcOlj/XvS0=</ds:DigestValue></ds:Reference><ds:Reference Id="ReferenceKeyInfo" URI="#KeyInfoId-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>9Ot9CoT4axGDWrd2B2KUoiGUM9dotSbXN7VTW1ZSEzg=</ds:DigestValue></ds:Reference><ds:Reference Type="h t t p://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>ou5WE9zmPnbJIGd/8a1PdT8yjojsvnRHQL5mU/CUB6Y=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="SignatureValue-de680881-c7b4-47c6-aba5-6587d516d7f8">ndpqqvNMKU7TLGzTuFaA34shuQMMV6D8i18U21wxr4uPVCOh79W6ws9Uaf/9v2xLeAJG0Xuxb7Tun5akz6v+lw/JthiulnG23G8No7FARMBi3/JvqPfWQT/3dZs/858JQRg5qOBSxy1UiXHrgHk8mwzAw8PqvmJX+Ah9RsBM9nHmvDW/Ezj+D6SgTinwUbe5AgxZ2FCubMpEf4BA0oBmkNgno4Gu62huvYYcm/XTfzuBgJsPWmF8Y2AB3YlMEZBqdZT7uSJYFoYLbku26UV8WQU9eQbErxFPI+3eiqqq+g0cKlq0mYmeQms9NAjWjJyOEYAZy6noD1OxghMzhsmbWw==</ds:SignatureValue><ds:KeyInfo Id="KeyInfoId-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:X509Data><ds:X509Certificate>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</ds:X509Certificate></ds:X509Data><ds:KeyValue><ds:RSAKeyValue><ds:Modulus>qqnHp05M8zTtA1mOGyn52Zg2MxIdVoq0i+nq1UBsyD0YTbDvrFxorop1lVmwD9zFcU7g97YYHzUh6ZKzrDBxRR5DuEj7ZWxmM8zdrUE4qj4RPaEn56yBspcfsXAnAElWhi8ZO6upkdwezKplh0sIv9rC3yVEmenUA+t3vpjvUjuVI83M8E2OmlO9wspX7oAagyG86X79QLoUCiMNaklhtts/bAhjaUf1NjiByA1oVJ/h5vPXRmjzIMSYOG4Nqx6oDS4EDjzodr9qWWR/rO/y8pAANFvhPviGC30oLEDU9QeImrYt9hLRHiI3Z3f+k8bthyY/NHw97LARgkl46UkQOQ==</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></ds:KeyValue></ds:KeyInfo><ds:Object Id="XadesObjectId-57c1a5af-ffe1-461d-88df-f9eff65f7ae3"><xades:QualifyingProperties xmlns:xades="h t t p://uri.etsi.org/01903/v1.3.2#" Id="QualifyingProperties-1175f181-69af-4b92-89cd-01f8370fc991" Target="#Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><xades:SignedProperties Id="SignedProperties-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><xades:SignedSignatureProperties><xades:SigningTime>2021-07-22T07:25:38+02:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>4BZFYhzQCbqva/Vw8wyM2GXhf8lML3xaiMioujojtqQ=</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>CN=AC FNMT Usuarios, OU=Ceres, O=FNMT-RCM, C=ES</ds:X509IssuerName><ds:X509SerialNumber>348708523848XXXXXXXXXXXX13XX4566539550</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate><xades:SignaturePolicyIdentifier><xades:SignaturePolicyId><xades:SigPolicyId><xades:Identifier>h t t p://ticketbai.eus/politicafirma</xades:Identifier><xades:Description /></xades:SigPolicyId><xades:SigPolicyHash><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2000/09/xmldsig#sha1" /><ds:DigestValue>Ohixl6upD6av8N7pEvDABhEL6hM=</ds:DigestValue></xades:SigPolicyHash></xades:SignaturePolicyId></xades:SignaturePolicyIdentifier><xades:SignerRole><xades:ClaimedRoles><xades:ClaimedRole>emisor</xades:ClaimedRole><xades:ClaimedRole>sujeto</xades:ClaimedRole><xades:ClaimedRole>SERIALNUMBER</xades:ClaimedRole></xades:ClaimedRoles></xades:SignerRole></xades:SignedSignatureProperties><xades:SignedDataObjectProperties><xades:DataObjectFormat ObjectReference="#Reference-1fd8f7a2-64b2-4853-be4d-6d09a5f4acf8"><xades:MimeType>text/xml</xades:MimeType><xades:Encoding>UTF-8</xades:Encoding></xades:DataObjectFormat></xades:SignedDataObjectProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature></T:TicketBai>
Uso mi certificado personal, de la FNMT
Esto está revisado. Con la segunda opción me dió algunos errores de no concordancia con el XSD que corregí, así que aquí no creo que haya problema.
Creo que aquí está el problema (para el segúndo método). Para el envío no usaba el certificado del alta en el servicio ¡Gracias!
No lo he usado nunca. Le echaré un vistazo. Gracias.
Lo firmo con la librería FirmaXadesNet del Ayuntamiento de Cartagena (h t t p s://w w w . administracionelectronica.gob.es/ctt/firmaxadesnet). No hay documentación para ella pero en el código fuente (que también puedes descargar) tienes ejemplos de uso. Si quieres probarla (si no la usas ya) y no te aclaras, puedo poner el borrador que tengo para la firma; es más: lo pongo ya:
Código:
        public void FirmaDoc()
        {
            XadesService xadesService = new XadesService();
            SignatureParameters parametros = new SignatureParameters();
            parametros.SignaturePolicyInfo = new SignaturePolicyInfo();
            parametros.SignaturePolicyInfo.PolicyIdentifier = "h t t p://ticketbai.eus/politicafirma";
            parametros.SignaturePolicyInfo.PolicyHash = "Ohixl6upD6av8N7pEvDABhEL6hM=";
            parametros.SignaturePackaging = SignaturePackaging.ENVELOPED;
            parametros.DataFormat = new DataFormat();
            parametros.DataFormat.MimeType = "text/xml";
            parametros.SignerRole = new SignerRole();
            parametros.SignerRole.ClaimedRoles.Add("emisor");
            System.Security.Cryptography.X509Certificates.X509Certificate2 certificado;
            certificado = FirmaXadesNet.Utils.CertUtil.SelectCertificate();
            using (parametros.Signer = new Signer(certificado))
            {
                using (FileStream fs = new FileStream(_ficheroXml, FileMode.Open))
                {
                    SignatureDocument documentoFirma = xadesService.Sign(fs, parametros);
                    documentoFirma.Save(Path.Combine(Path.GetDirectoryName(_ficheroXml), Path.GetFileNameWithoutExtension(_ficheroXml) + ".XSIG"));
                    MessageBox.Show("Fichero guardado correctamente.");
                }
            }
        }
La verdad es que he mirado para ver si veía ejemplos (sobre todo de firmas) y no he visto nada más que algunas líneas sueltas... :-(
Gracias Neftalí. Voy a hacerlo también para ver si resuelvo el primer caso. El segundo con tus aportaciones y las de b4aronDeLaBirr4 creo que está resuelto. He hecho una subida tras cambiar el certificado de firma y ahora el error da pie a entender que ¡sí ha funcionado!. Este es el resultado:
Código:
        <ResultadosValidacion>
            <Codigo>005</Codigo>
            <Descripcion>Error: Fichero de alta TicketBAI ya registrado en el sistema.</Descripcion>
            <Azalpena>Errorea: TicketBAI fitxategia sisteman erregistratuta dago jada.</Azalpena>
        </ResultadosValidacion>
Probaré con otro documento y os cuento.
Gracias por la aportación, había probado con esta librería pero me generaba este error:

Código PHP:
Unable to cast object of type 'System.Security.Cryptography.RSACng' to type 'System.Security.Cryptography.RSACryptoServiceProvider'
Cómo cargas la librería? Por paquetes NuGet o cómo? Cualquier cosa que me puedas decir es de gran ayuda porque me gustaría hacer uso de esas librerías y no de Chilkat. Gracias!
Responder Con Cita
  #3  
Antiguo 23-07-2021
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 194
Poder: 7
unomasmas Va por buen camino
Cita:
Empezado por b4aronDeLaBirr4 Ver Mensaje
Gracias por la aportación, había probado con esta librería pero me generaba este error:

Código PHP:
Unable to cast object of type 'System.Security.Cryptography.RSACng' to type 'System.Security.Cryptography.RSACryptoServiceProvider'
Cómo cargas la librería? Por paquetes NuGet o cómo? Cualquier cosa que me puedas decir es de gran ayuda porque me gustaría hacer uso de esas librerías y no de Chilkat. Gracias!

No hice nada especial: Incluí la dll como referencia (directamente, sin NuGet) y también sus dependencias (BouncyCastle.Crypto y Microsoft.Xades) y simplemente con el método que pasé antes firma sin problemas. Es posible que tu librería no se corresponda con la versión .Net con la que apunta. Yo uso Net Framework 4.5 y la versión 2.1.0.0 de la librería.


Por lo demás, confirmo que con el cambio de certificado funcionó bien la subida. Sólo dió una advertencia pero la tienen documentada: "Factura recibida pero resultado indica: 010 posible error de encadenamiento. Si se trata de la primera factura enviada por un sistema de facturación, es normal recibir este mensaje. Si se produce este aviso solo en la primera factura, es correcto. Esa primera factura generará un aviso informativo relativo a posible encadenamiento incorrecto (esto es normal) y ya las facturas sucesivas ya no darán ningún aviso, al ir correctamente encadenadas. Si se produce en las facturas sucesivas, revisar que se encadena de acuerdo a las especificaciones"
Responder Con Cita
  #4  
Antiguo 23-07-2021
Avatar de b4aronDeLaBirr4
b4aronDeLaBirr4 b4aronDeLaBirr4 is offline
Miembro
 
Registrado: jul 2021
Posts: 67
Poder: 5
b4aronDeLaBirr4 Va por buen camino
Y ese dll me lo podrías pasar? o dejarme el enlace? Porque me imagino que te refieras a esta librería no?
Responder Con Cita
  #5  
Antiguo 23-07-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por unomasmas Ver Mensaje
Es un poco tocho :-(. Ahí va. He cambiado/quitado algún dato para "anonimizarlo" pero la estructura se mantiene

Así a primeras, echo en falta el bloque de <Software> que está vacío (tal vez porque lo has eliminado para que se vean los datos).
Cita:
<Software>
...
</Software>
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 24-07-2021
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 194
Poder: 7
unomasmas Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Así a primeras, echo en falta el bloque de <Software> que está vacío (tal vez porque lo has eliminado para que se vean los datos).
Sí, ahí van las etiquetas de código y nif... Lo eliminé para ocultar los datos... Gracias Neftali [Germán] . Me imagino que con lo tocho de mi respuesta (reconozco que con tanta cita se hace un poco difícil de seguir) no viste que tanto tú como b4aronDeLaBirr4 supisteis ponerme en la pista de la solución al problema: tanto la firma como la conexión parece que es necesario hacerla con el certificado con el que te das de alta en el servicio. A partir de ahí ya funcionó todo. Pude haberme ahorrado poner el fichero que intentaba enviar y también te hubiera ahorrado que perdieras el tiempo revisándolo pero lo hice más que nada para tener un ejemplo completo (bueno, sin las etiquetas de software, pero estas no debieran ser un problema para nadie por lo simples que son) y porque me lo habíais pedido... Te/os lo agradezco nuevamente

Última edición por unomasmas fecha: 24-07-2021 a las 07:38:40. Razón: faltaba una palabra clave en una oración
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 20:01:34
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 07:24:01.


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