Cancelación Finkok

1,839 views
Skip to first unread message

Rodolfo Ortiz González

unread,
Dec 10, 2013, 8:26:26 PM12/10/13
to vfp-factura-ele...@googlegroups.com
 
Hola a todos.
 
Ya está probado el ws de cancelación con Finkok, me hizo favor David de enviarmelo y ya lo hemos hecho en el entorno de pruebas de finkok y todo salió bien.
 
Lo adjunto y me dicen si tienen dudas me dicen para ampliarselas, un saludo.
cancelaws.PRG

Vinicio Garcia

unread,
Dec 11, 2013, 9:08:09 AM12/11/13
to factura electrónica
1000 gracias compañero.


Micro Mundo de Los Mochis
T.P. Marco Vinicio García Vargas
Sistemas
Tel. 818-8380  Cel. 668-164-6189



Date: Tue, 10 Dec 2013 19:26:26 -0600
Subject: [vfp-fem] Cancelación Finkok
From: rodolfo...@gmail.com
To: vfp-factura-ele...@googlegroups.com


 
Hola a todos.
 
Ya está probado el ws de cancelación con Finkok, me hizo favor David de enviarmelo y ya lo hemos hecho en el entorno de pruebas de finkok y todo salió bien.
 
Lo adjunto y me dicen si tienen dudas me dicen para ampliarselas, un saludo.

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/vfp-factura-electronica-mexico.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Oscar Garcia

unread,
Dec 11, 2013, 10:04:35 AM12/11/13
to vfp-factura-electronica-mexico
Saludos...

Rodolfo, les copio la rutina que elaboré para anexarle el complemento al XML, espero les sirva.

*----------------------------------------------------------------------------------------
*- Agrega el complemento 
*- pObjetoXML = Es el String XML al que se le va a agregar el complemento
*- pObjetoTIM = Es el String XML Timbrado que trae los datos del Complemento
*---------------------------------------------------------------------------------------- 
FUNCTION AgregaComplemento(pObjetoXML, pObjetoTIM)

         loXML = CREATEOBJECT('Microsoft.XMLDOM')
         loXML.Async = .F. 
         loXML.LoadXML(pObjetoXML)
         loComprobante = loXML.ChildNodes(1)

         loComplemento = loXML.createelement('cfdi:Complemento')
         loComprobante.appendchild(loComplemento)
         
          loTFD = loXML.createelement('tfd:TimbreFiscalDigital')
          loComplemento.appendchild(loTFD)
         
          WITH loTFD
              .setattribute('version', STREXTRACT(pObjetoTIM,[version="], ["]))
              .setattribute('UUID', STREXTRACT(pObjetoTIM,[UUID="], ["]))
              .setattribute('FechaTimbrado', STREXTRACT(pObjetoTIM,[FechaTimbrado="],["]))
              .setattribute('selloCFD', STREXTRACT(pObjetoTIM,[selloCFD="],["]))
            .setattribute('noCertificadoSAT', STREXTRACT(pObjetoTIM,[noCertificadoSAT="],["]))
            .setattribute('selloSAT', STREXTRACT(pObjetoTIM,[selloSAT="],["]))
            ENDWITH

        RETURN loXML
ENDFUNC


La idea es que tienes el XML que enviaste a timbrar y tienes el XML ya timbrado por Finkok, esta rutina saca el complemento del XML timbrado y lo pasa al XML original, y regresa el XML original ya con el complemento.

 


--

Rodolfo Ortiz

unread,
Dec 11, 2013, 10:13:30 AM12/11/13
to vfp-factura-ele...@googlegroups.com, vfp-factura-electronica-mexico
Listo sr, gracias.

Deja lo veo y en un tiempo que tenga de volada lo pego al prueba4 y lo volvemos a subir, un saludo.


Enviado desde mi iPhone

Jesus Enrique García Lara

unread,
Dec 12, 2013, 10:33:00 AM12/12/13
to vfp-factura-ele...@googlegroups.com
Intentando probar, en esta parte no encuentro como crean el archivo .enc

genere el archivo .pem con este comando : openssl.exe pkcs8 -inform DER -in c:\SATFILES\AAA010101AAA_CSD.key -passin pass:a0123456789 -out c:\SATFILES\aaa010101aaa.key.pem

no encontre nada sobre el archivo .enc    encriptado ?  como se genera ?

cerpem = FILETOSTR('aad990814bp7_1210261233s.cer.pem')
cerpem = STRCONV(cerpem,13)
keyenc = FILETOSTR('aad990814bp7_1210261233s.key.enc')
keyenc = STRCONV(keyenc,13)

Vinicio Garcia

unread,
Dec 12, 2013, 11:12:01 AM12/12/13
to factura electrónica
Esa es la llave que se debe generar como dice el manual de
cancelacion de FINKOK.


openssl rsa -in RFC.key -des3 -out RFC.enc.key -passout pass:"su contraseña"


estoy por preguntar si debe terminar como :  .key   o   .enc como muestra
el ejemplo de Fodolfo.



aùn asì no puedo generarla es algo de configuracion del   openssl.



Micro Mundo de Los Mochis
T.P. Marco Vinicio García Vargas
Sistemas
Tel. 818-8380  Cel. 668-164-6189



Date: Thu, 12 Dec 2013 07:33:00 -0800
From: mmfa...@gmail.com
To: vfp-factura-ele...@googlegroups.com
Subject: [vfp-fem] Re: Cancelación Finkok

Jorge Jaime

unread,
Dec 13, 2013, 3:28:51 PM12/13/13
to vfp-factura-ele...@googlegroups.com
Saludos Oscar, estoy probando tu función para agregar el complemento de timbre fiscal, al objeto loXML que regresa la funcion lo grabo con la instrucción loxml.Save("C:\cfd\buzon\timbrado.xml") me graba el xml pero al querer abrirlo para revisarlo no es posible, que crees que pueda ser? tengo dudas con la segunda parte de tu función cuando creas y modificas el objeto loTFD, si omito estas instrucciones, el xml queda grabado correctamente con el nodo hijo Comprobante bien registrado pero al intentar grabar el nodo TimbreFiscal empiezan los problemas.


De Antemano gracias por tus comentarios.

Tita Sanchez

unread,
Dec 16, 2013, 5:01:11 AM12/16/13
to vfp-factura-ele...@googlegroups.com
Hola, ya timbro en el entorno de pruebas de finkok, estoy incorporando la cancelación con el código que has publicado (muy generosos, se agradece), en la respuesta me envia el estatusUUID  704 (Error con la contraseña de la llave Privada)
 
(-<senv:Body>-<tns:cancelResponse>-<tns:cancelResult>
-<s0:Folios>-<s0:Folio>
<s0:EstatusUUID>704</s0:EstatusUUID>
<s0:UUID>83AE7209-2166-4E72-BF13-AA8C4C9484A2</s0:UUID>
</s0:Folio></s0:Folios>
<s0:Fecha>2013-12-16 01:30:10.706354</s0:Fecha>
<s0:RfcEmisor>MST101217FJA</s0:RfcEmisor>
</tns:cancelResult>
</tns:cancelResponse>
</senv:Body>
</senv:Envelope> 

Habrá algún problema con la forma que estoy generando los archivos .pem y . enc??, es básicamente lo mismo, ya verifiqué esté correctamente escrita la contraseña de la clave privada. Alguna pista que me pueda orientar para resolver el problema por favor. Gracias.

pcOpenSSL = 'SSL\openssl.exe'
pcPassword='mi contraseña clave privada'
pcPassword2='contraseña finkok'   
pcArchivoKey='CSD_Obregon_MST101217FJA_20131121_084032.key'
*-- Se prepara un archivo BAT con los comandos a ejecutar
LOCAL cBATFile,cTempFile
cBATFile = "archivo.BAT"
cTempFile = "CSD_Obregon_MST101217FJA_20131121_084032.key"
*archivoi = FILETOSTR('archivkey.pem')

 LOCAL cBuff
 cBuff = pcOpenSSL + " pkcs8 -inform DER -in {keyFile} -passin pass:" + "{password}" + " -out {tempFile}.pem" + CRLF + ;
         pcOpenSSL + " rsa -in {tempFile}.pem -des3 -out CSD_Obregon_MST101217FJA_20131121_084032.key.enc -passout pass:" + "{password2}" + CRLF + ;
         pcOpenSSL + " x509 -inform DER -outform PEM -in 00001000000301361026.cer -pubkey -out 00001000000301361026.cer.pem";
         
cBuff = STRT(cBuff,"{keyFile}",'CSD_Obregon_MST101217FJA_20131121_084032.key')
cBuff = STRT(cBuff,"{password}",pcPassword)
cBuff = STRT(cBuff,"{password2}",pcPassword2)
cBuff = STRT(cBuff,"{tempFile}",cTempFile)
 
STRTOFILE(cBuff,cBATFile)



El martes, 10 de diciembre de 2013 18:26:26 UTC-7, Rodolfo escribió:

Oscar Garcia

unread,
Dec 16, 2013, 12:33:20 PM12/16/13
to vfp-factura-electronica-mexico
Saludos...

¿Ya tienes declarado en tu XML, el atribuito correspondiente al tfd?

es decir, después de declarar el:


debes declarar el:


todo esto en la parte inicial de tu XML.

como yo estoy utilizando el Microsoft.XMLDOM yo lo hago así:

oCOMPROBANTE = loXML.createelement('cfdi:Comprobante')
loXML.appendchild(oCOMPROBANTE)
WITH oCOMPROBANTE

     .setattribute("xmlns:cfdi", "http://www.sat.gob.mx/cfd/3")
     .setattribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
     .setattribute("xmlns:tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
     .setattribute('version', cVERCFD_XML)


Tengo entendido que por cada complemento o addenda que vayas anexando al XML debe llevar su propio xmlns de definición. Prueba a ver que tal.




El 13 de diciembre de 2013, 14:28, Jorge Jaime <jorgej...@gmail.com> escribió:
Saludos Oscar, estoy probando tu función para agregar el complemento de timbre fiscal, al objeto loXML que regresa la funcion lo grabo con la instrucción loxml.Save("C:\cfd\buzon\timbrado.xml") me graba el xml pero al querer abrirlo para revisarlo no es posible, que crees que pueda ser? tengo dudas con la segunda parte de tu función cuando creas y modificas el objeto loTFD, si omito estas instrucciones, el xml queda grabado correctamente con el nodo hijo Comprobante bien registrado pero al intentar grabar el nodo TimbreFiscal empiezan los problemas.


De Antemano gracias por tus comentarios.

--

Jorge Jaime

unread,
Dec 17, 2013, 12:43:47 PM12/17/13
to vfp-factura-ele...@googlegroups.com
Gracias Oscar, ese era el problema, no lo habia declarado. Saludos

Héctor Bernal

unread,
Dec 18, 2013, 11:16:20 AM12/18/13
to vfp-factura-ele...@googlegroups.com
Oscar,

Buen día. Aplique el código que publicaste, pero no me funcionaba inicialmente  loXML.LoadXML(pObjetoXML) y lo cambié por  loXML.Load(pObjetoXML), lo que permitió que continuará bien el proceso. El problema es que el XML que me genera manda el error 'TimbreFiscalDigital' no esta definido. Hice varias pruebas agregándolo a la definición, tal como lo comenta más adelante, pero aún así no generó correctamente el XML final. 

Alguna otra recomendación que tengas para implementar y poder generar el XML final.

Gracias por tu atención.



Saludos desde México, D.F.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a vfp-factura-electronica-mexico+unsubscribe@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-electronica-mex...@googlegroups.com.

Carlos Medina

unread,
Dec 28, 2013, 7:27:04 PM12/28/13
to vfp-factura-ele...@googlegroups.com
Tita; ¿conseguiste solucionar la incicencia 704?
Estoy batallando con lo mismo, uso el mismo código que anotaste abajo.
Saludos.
Carlos Medina

Tita Sanchez

unread,
Dec 29, 2013, 1:32:26 AM12/29/13
to vfp-factura-ele...@googlegroups.com
Si Carlos, mi problema no era ni el código ni la contraseña, como lo explico, todo está correctamente escrito, el problema fue que la contraseña de usuario FinkOk fue cambiada por algún motivo que no me supieron explicar, después de diversas pruebas, opté por comunicarme con David Cruz de soporte técnico de FinkOk, le expliqué mi problema y encontró que mi contraseña estaba cambiada en el sistema de pruebas FinkOk, lo curioso que que proceso de timbrado lo hacia correctamente, y de cancelación no (usando la misma contraseña de usuario), David Cruz me hizo el favor de corregir la contraseña en el sistema de pruebas de FinkOk y pude cancelar correctamente.
 
Te recomiendo te comuniques via chat a soporte técnico, esta es la liga, en estos momentos que escribo está disponible
 
Quedo a la orden Carlos.
Saludos.

Carlos Medina

unread,
Dec 29, 2013, 7:06:57 AM12/29/13
to vfp-factura-ele...@googlegroups.com
Vale, gracias; mi problema es que no estoy encriptando correctamente los archivos key y cer en pem y enc.
Si no es mucho pedir, ¿tendras el código para ello?

Carlos Medina

unread,
Dec 29, 2013, 5:01:02 PM12/29/13
to vfp-factura-ele...@googlegroups.com
Ya puede generar los encriptados de la siguiente forma:

cBuff = pcOpenSSL + " pkcs8 -inform DER -in c:\datos\datos\sto800221j76_1212061848s.key -passin pass:" + CHR(34) + "{password}" +CHR(34) + " -out {tempFile}.pem" + CRLF + ;
        pcOpenSSL + " rsa -in {tempFile}.pem -des3 -out c:\datos\datos\sto800221j76_1212061848s.key.enc -passout pass:" + CHR(34) + "{password2}" + CHR(34) + CRLF + ;
        pcopenssl + " x509 -inform DER -outform PEM -in c:\datos\datos\00001000000202535970.cer -pubkey -out c:\datos\datos\00001000000202535970.cer.pem";
 
Sin embargo, aún me envía incidencia 704; seguiré investigando.

Gracias.

Carlos Medina

unread,
Dec 29, 2013, 5:33:43 PM12/29/13
to vfp-factura-ele...@googlegroups.com
Ya quedó la cancelación; les comparto el royo, al registrarme en Finkok, solicita en el password un caracter especial, y el que escogí fue "&", pues resultó que al timbrar generaba conflicto y no había comunicación con el servidor; entonces, cambié ese caracter por "@" y pasó la prueba de timbrado; y en la cancelación se me ocurrió (gracias a Tita) utilizar el password inicial con el caracter "&".
Saludos.

Tita Sanchez

unread,
Dec 30, 2013, 6:13:21 PM12/30/13
to vfp-factura-ele...@googlegroups.com
Carlos me da mucho gusto que ya haya quedado, disculpa sino contesté antes.
Exitos para el próximo año.
Saludos.
Tita.
Message has been deleted

Eliana Martinez

unread,
Dec 31, 2013, 11:23:13 AM12/31/13
to vfp-factura-ele...@googlegroups.com
Hola!
Hoy he realizado cancelacion con finkok y me ha marcado este error:
Error: 1429 Mensaje: OLE IDispatch exception code 0 from msxml6.dll: No se pudo resolver el nombre de servidor o su direccion.

Les ha pasado? favor me pueden decir como poder solucionarlo. gracias y feliz año :).
ERRORCONEXION.png

Oscar Garcia

unread,
Jan 2, 2014, 12:44:36 PM1/2/14
to vfp-factura-electronica-mexico
Saludos...

¿Podrías revisar si la URL de cancelación está bien escrita y/o si tu conexión a Internet está Ok?


Rodolfo Ortiz González

unread,
Jan 2, 2014, 1:48:37 PM1/2/14
to vfp-factura-ele...@googlegroups.com
Eliana.

Si ya estás en producción la url es esta: 

oWS = CREATEOBJECT("VFP_WebService","https://facturacion.finkok.com/servicios/soap/cancel.wsdl")


salu2



El 2 de enero de 2014, 11:44, Oscar Garcia <oscarga...@gmail.com> escribió:
Saludos...

¿Podrías revisar si la URL de cancelación está bien escrita y/o si tu conexión a Internet está Ok?


--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages