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 04-11-2022
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.235
Poder: 24
keys Va por buen camino
Hola a todos.

Estoy intentando cambiar la forma de envío de los ficheros de Gipuzkoa, lo quiero hacer con el componente TsbxHTTPClient de los secureblackbox. A la hora de hacer el envío hago lo siguiente.

Código Delphi [-]
        //EnvioGipuzkoa2 es el componente TsbxHTTPClient
        EnvioGipuzkoa2.ClientChain.Clear; 
        EnvioGipuzkoa2.ClientChain.Add(cert); //Certificado seleccionado
        EnvioGipuzkoa2.TLSSettings.AutoValidateCertificates :=   True;
        EnvioGipuzkoa2.TLSSettings.Versions := csbTLS12;

        EnvioGipuzkoa2.RequestParameters.ContentType := 'application/xml;charset=UTF-8';
        EnvioGipuzkoa2.RequestParameters.CustomHeaders :=  'Accept-Encoding: UTF-8';
        
        EnvioGipuzkoa2.PostStream('https://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta',RequestBody); //En   
                                                         requestBODY esta cargado el contenido del fichero

Pero cuando envío recibo el siguiente error.
Código Delphi [-]
10054: Failed to post data'#$D#$A'[EElSocketClientConnectionLostError] Connection lost due to error 10054 (10054/0x02746)

Creo que es algo de los parametros. ¿Alguien que use este componente puede decirme como lo configura para Gipuzkoa?
Responder Con Cita
  #2  
Antiguo 07-11-2022
Avatar de HerensugeBeltz
HerensugeBeltz HerensugeBeltz is offline
Miembro
 
Registrado: may 2021
Ubicación: Hondarribia
Posts: 90
Poder: 6
HerensugeBeltz Va por buen camino
Envío a Gipuzkoa con SecureBlackBox 2020

Hola Keys,

Nosotros no tenemos problemas con el envío a Gipuzkoa. El componente lo tenemos configurado así (C++ Builder):

Código:
sbxHTTPClient1->TLSAutoValidateCertificates = true; 
		sbxHTTPClient1->TLSVersions = TsbxConstants::csbTLS12;
		sbxHTTPClient1->ReqParamsContentType = L"application/xml;charset=UTF-8";
		sbxHTTPClient1->ReqParamsAcceptCharset = L"UTF-8";
		sbxHTTPClient1->ReqParamsAccept = L"*/*";
		sbxHTTPClient1->ReqParamsHTTPVersion =
				TsbxHTTPClientReqParamsHTTPVersions::chvHTTP11;
		sbxHTTPClient1->TLSRenegotiationAttackPreventionMode =
				TsbxHTTPClientTLSRenegotiationAttackPreventionModes::crapmAuto;
		sbxHTTPClient1->Config(L"UseSystemCertificates=true");
En el envío diferimos, nosotros hacemos:
Código:
sbxHTTPClient1->PostBytes(endPoint, fileStream);
pero entiendo que eso no debería influir.

Previamente, al componente sbxHTTPClient1 le hemos asociado un certificado digital:
Código:
sbxHTTPClient1->ClientCertCount = 1; 
		sbxHTTPClient1->ClientCertHandle[0] =
				sbxCertStore->CertHandle[m_ndxCertificadoSeleccionado];
Espero que te sirva.
Responder Con Cita
  #3  
Antiguo 07-11-2022
Avatar de HerensugeBeltz
HerensugeBeltz HerensugeBeltz is offline
Miembro
 
Registrado: may 2021
Ubicación: Hondarribia
Posts: 90
Poder: 6
HerensugeBeltz Va por buen camino
Se me olvidaba el timeOut (inicialmente teníamos 60 seg. pero, por si acaso, hemos ampliado a 90)

Código:
sbxHTTPClient1->SocketDNSTotalTimeout = 0;
sbxHTTPClient1->SocketTimeout = 90000; //60000;
Responder Con Cita
  #4  
Antiguo 07-11-2022
Sanduzelai Sanduzelai is offline
Miembro
 
Registrado: ago 2021
Posts: 44
Poder: 0
Sanduzelai Va por buen camino
Hola,
tengo una duda técnica a ver si me podéis aclarar.
Actualmente tengo funcionando el ticketbai Gipuzkoa y quiero empezar a implementar el de Alava (espero que no sea muy diferente...).
Para el de Gipuzkoa me base en el firmador.php de nuestro querido amigo bilbur ya que no controlo para nada ese tema y tenia:

Código PHP:
const POLITICA_FIRMA_GIP = array(
            
"name" => "Politica de firma TicketBAI 1.0",
            
"url" => "https://www.gipuzkoa.eus/ticketbai/sinadura",  
            
"digest" => "dTtPpv4fWTcejeVx7+91ILruFX3HysbngBlllJm4i/E="
        
); 
Leyendo la documentación técnica de Alava veo que pone:
Política de firma: https://ticketbai.araba.eus/tbai/sinadura/
Hash de la política de Firma: 4Vk3uExj7tGn9DyUCPDsV9HRmK6KZfYdRiW3StOjcQA=

¿Ese hash te lo tienen que dar ellos o se calcula de alguna forma?
Lo pregunto mas que nada por entender mejor y saber si tengo que cambiarlo si el dia de mañana cambia la politica de firma o algo asi...


Igual la pregunta es un poco básica pero voy sacándome las castañas del fuego como buenamente puedo...
Responder Con Cita
  #5  
Antiguo 07-11-2022
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 62
Poder: 7
bilbur Va por buen camino
Cita:
Empezado por Sanduzelai Ver Mensaje
Hola,
tengo una duda técnica a ver si me podéis aclarar.

¿Ese hash te lo tienen que dar ellos o se calcula de alguna forma?
Lo pregunto mas que nada por entender mejor y saber si tengo que cambiarlo si el dia de mañana cambia la politica de firma o algo asi...


Igual la pregunta es un poco básica pero voy sacándome las castañas del fuego como buenamente puedo...
La firma con cualquier política de firma (BIZ, GIP, ARA) es válida para las tres provincias
El hash te lo dan ellos (aparece en su web de política de firma)


Suerte
Responder Con Cita
  #6  
Antiguo 08-11-2022
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.235
Poder: 24
keys Va por buen camino
Cita:
Empezado por Sanduzelai Ver Mensaje
Hola,
tengo una duda técnica a ver si me podéis aclarar.
Actualmente tengo funcionando el ticketbai Gipuzkoa y quiero empezar a implementar el de Alava (espero que no sea muy diferente...).
Para el de Gipuzkoa me base en el firmador.php de nuestro querido amigo bilbur ya que no controlo para nada ese tema y tenia:

Código PHP:
const POLITICA_FIRMA_GIP = array(
            
"name" => "Politica de firma TicketBAI 1.0",
            
"url" => "https://www.gipuzkoa.eus/ticketbai/sinadura",  
            
"digest" => "dTtPpv4fWTcejeVx7+91ILruFX3HysbngBlllJm4i/E="
        
); 
Leyendo la documentación técnica de Alava veo que pone:
Política de firma: https://ticketbai.araba.eus/tbai/sinadura/
Hash de la política de Firma: 4Vk3uExj7tGn9DyUCPDsV9HRmK6KZfYdRiW3StOjcQA=

¿Ese hash te lo tienen que dar ellos o se calcula de alguna forma?
Lo pregunto mas que nada por entender mejor y saber si tengo que cambiarlo si el dia de mañana cambia la politica de firma o algo asi...


Igual la pregunta es un poco básica pero voy sacándome las castañas del fuego como buenamente puedo...
El proceso es el mismo en Alava que en Gipuzkoa, lo unico que cambia es la politica de firma y los servidores a los que envías. El hash esta en la documentacion de Alava.

Código Delphi [-]
     'https://ticketbai.araba.eus/tbai/sinadura/';
     '88E82F917EFFC8720345188FCBF2D84345149FB415F3FD750F50456ECF3232E4';
     'https://ticketbai.araba.eus/tbai/sinadura/';
Responder Con Cita
  #7  
Antiguo 08-11-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
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 APO Ver Mensaje

Código PHP:
const POLITICA_FIRMA_GIP = array(
            
"name" => "Politica de firma TicketBAI 1.0",
            
"url" => "https://www.gipuzkoa.eus/ticketbai/sinadura",  
            
"digest" => "dTtPpv4fWTcejeVx7+91ILruFX3HysbngBlllJm4i/E="
        
); 
Leyendo la documentación técnica de Alava veo que pone:
Política de firma: https://ticketbai.araba.eus/tbai/sinadura/
Hash de la política de Firma: 4Vk3uExj7tGn9DyUCPDsV9HRmK6KZfYdRiW3StOjcQA=

¿Ese hash te lo tienen que dar ellos o se calcula de alguna forma?
Lo pregunto mas que nada por entender mejor y saber si tengo que cambiarlo si el dia de mañana cambia la politica de firma o algo asi...
Ese es el HASH que te dan ellos (como tú bien dices en la documentación).
Cada tributación tiene el suyo (para PRE y para PRO). Y ya se ha cambiado alguna vez.
En nuestro caso y en previsión de futuros cambios está guardado en un campo de la B.D.
__________________
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
  #8  
Antiguo 08-11-2022
Sanduzelai Sanduzelai is offline
Miembro
 
Registrado: ago 2021
Posts: 44
Poder: 0
Sanduzelai Va por buen camino
Smile Hash politica de firma

Muchas gracias a todos por la aclaración!
Responder Con Cita
  #9  
Antiguo 08-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 5
Irreo Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Ese es el HASH que te dan ellos (como tú bien dices en la documentación).
Cada tributación tiene el suyo (para PRE y para PRO). Y ya se ha cambiado alguna vez.
En nuestro caso y en previsión de futuros cambios está guardado en un campo de la B.D.
Buenos días,

Estoy leyendo estos últimos mensajes mencionando esto, y me estoy quedando un poco a cuadros.

Primero, no tengo recuerdo de haber aplicado en ningún sitio lo de la política de firma.

He buscado en el código, y en efecto veo que en el "firmador.php" está el hash "dTtPpv4fWTcejeVx7+91ILruFX3HysbngBlllJm4i/E=".

Antes de pasarme a esta librería, estuve usando Chilkat 9.5 para PHP, que funcionaba, y no tengo recuerdo de haber puesto ningún string... excepto que haya sido algo que hice muy a los inicios, hace meses, y ya ni me acuerde.

En cualquier caso, llevamos en producción enviando facturas desde el 24 de octubre, y no he cambiado nada en el firmador. Es decir, que estoy usando el mismo hash de "política de firma" que estaba usando en el entorno de desarrollo.

De hecho lo único que hice el día que pasamos al entorno de producción fue poner el número de licencia correcto, así como todo el tema de HuellaTBAI, pero poco más...

¿Me tengo que preocupar?
Responder Con Cita
  #10  
Antiguo 08-11-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
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
En el primer mensaje tenemos las políticas de firma.
https://www.clubdelphi.com/foros/sho...97&postcount=1

Creo que deben estar actualizadas (si no es así comentadlo).

Cita:
Empezado por Irreo Ver Mensaje
De hecho lo único que hice el día que pasamos al entorno de producción fue poner el número de licencia correcto, así como todo el tema de HuellaTBAI, pero poco más...

¿Me tengo que preocupar?
Yo miraría de actualizarlas.
Recuerdo que nosotros estuvimos un tiempo enviando también con una política antigua sin problemas, hasta que un día empezó a quejarse (no recuerdo en qué tributación).
Supongo que aquel día alguien activó esa validación. Que no se esté quejando ahora no quiere decir que cualquier día no empiece a hacerlo.
__________________
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
  #11  
Antiguo 09-11-2022
josevalle josevalle is offline
Miembro
 
Registrado: may 2017
Posts: 27
Poder: 0
josevalle Va por buen camino
Hash

Hola. El Hash te lo dan ellos. El que pones es el actual que lo cambiaron en mayo. Yo lo dejo modificable por si lo vuelven a cambiar.
Responder Con Cita
  #12  
Antiguo 10-11-2022
Sanduzelai Sanduzelai is offline
Miembro
 
Registrado: ago 2021
Posts: 44
Poder: 0
Sanduzelai Va por buen camino
NIF Emisor incorrecto

Hola,
hoy he realizado mi primer envío de pruebas a la hacienda alavesa y he recibido lo siguiente:

Código PHP:
<FechaRecepcion>10-11-2022 13:29:39</FechaRecepcion>
    <
Estado>00</Estado>
    <
Descripcion>Recibido</Descripcion>
    <
Azalpena>Jasota</Azalpena>
    <
ResultadosValidacion>
      <
Codigo>015</Codigo>
      <
Descripcion>AVISONIF emisor no es correctono es contribuyente alavés o no está registrado en IAE</Descripcion>
      <
Azalpena>OHARRAJaulkitzailearen IFZ ez da zuzenaez da Arabako zergaduna edo ez dago JEZean erregistratuta</Azalpena>
    </
ResultadosValidacion
Me registre en su día como empresa desarrolladora para enviar a la hacienda de Gipuzkoa y ahora me he dado de alta para el entorno de test de Álava. No he hecho nada más.

¿Tengo que registrarme en algún otro lado para corregir este aviso?

En el entorno de PRO de Gipuzkoa estoy funcionando bien con el mismo NIF Emisor.
No se si se me esta escapando algo para Alava...
Responder Con Cita
  #13  
Antiguo 10-11-2022
Sanduzelai Sanduzelai is offline
Miembro
 
Registrado: ago 2021
Posts: 44
Poder: 0
Sanduzelai Va por buen camino
NIF Emisor incorrecto

Revisando la Guía del entorno de pruebas veo:

Cita:
En el caso de que no se cumplan esas condiciones en el entorno de pruebas, se dará un aviso: “AVISO: NIF emisor no es correcto, no es contribuyente alavés o no está registrado en IAE”.
Este aviso no es bloqueante para hacer las pruebas. Pero si le sucede, podrá evitarlo enviando un mail a [email protected], indicando en el asunto del correo el texto “Pruebas TicketBAI: Nombre Empresa / Categoría: NIF Emisor” y aportando la siguiente información:
- NIF emisor
- Nombre y apellidos/Razón social
He mandado el correo con los datos tal y como indica para evitar que aparezca el aviso en mis pruebas, pero ahora me surge la duda:
Cuando pase al entorno de PRO, ¿me volverá a aparecer el AVISO?

Yo siempre realizo envíos de clientes:
Código PHP:
<EmitidaPorTercerosODestinatario>T</EmitidaPorTercerosODestinatario
Responder Con Cita
  #14  
Antiguo 08-11-2022
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.235
Poder: 24
keys Va por buen camino
Cita:
Empezado por HerensugeBeltz Ver Mensaje
Se me olvidaba el timeOut (inicialmente teníamos 60 seg. pero, por si acaso, hemos ampliado a 90)

Código:
sbxHTTPClient1->SocketDNSTotalTimeout = 0;
sbxHTTPClient1->SocketTimeout = 90000; //60000;
Gracias Compañero. Me ha sido de gran ayuda. Pongo como quedaria en delphi para enviar por las SecureBlackBox.

Código Delphi [-]
      //EnvioGipuzkoa2 es el componente TsbxHTTPClient


      //Asigno el certificado
      EnvioGipuzkoa2.ClientChain.Clear;

   
      for z := 0 to CertificateStorage.Certificates.Count - 1 do
      begin
        cert := CertificateStorage.Certificates[z];
        if Pos(AnsiUpperCase(Firma), AnsiUpperCase(Cert.Subject) ) <> 0 then //Buscar el certificado que esta seleccionado         
          begin
            EnvioGipuzkoa2.ClientChain.Add(cert);          
            Break;
          end;
      end;

      EnvioGipuzkoa2.TLSSettings.AutoValidateCertificates :=   True;
      EnvioGipuzkoa2.TLSSettings.Versions := csbTLS12;

      EnvioGipuzkoa2.RequestParameters.ContentType := 'application/xml;charset=UTF-8';
        
      EnvioGipuzkoa2.RequestParameters.AcceptCharset := 'UTF-8';
      EnvioGipuzkoa2.RequestParameters.Accept := '*/*';
      EnvioGipuzkoa2.RequestParameters.HTTPVersion := TsbxHTTPClientReqParamsHTTPVersions.chvHTTP11;
      EnvioGipuzkoa2.TLSSettings.RenegotiationAttackPreventionMode := TsbxHTTPClientTLSRenegotiationAttackPreventionModes.crapmAuto;


      EnvioGipuzkoa2.SocketSettings.DNSTotalTimeout := 0;
      EnvioGipuzkoa2.SocketSettings.Timeout := 90000; //60000;
      
      EnvioGipuzkoa2.PostStream(DevolverServidorGipuzkoa(anula),RequestBody);

     //guardamos el fichero de resultado
     stream := TBytesStream.Create(EnvioGipuzkoa2.OutputBytes);
     try
         stream.SaveToFile(Fichero);
     finally
         stream.Free;
     end;
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 11:15:51.


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