
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
Timbrado con Diverza
-
- Mensajes: 370
- Registrado: Lun Oct 10, 2011 11:50 am
Re: Timbrado con Diverza
Adjunta el json request en un archivo para poder examinarlo y comentar si acaso tienes un error ... en el codigo que pones no es facil de verlo ya formado
-
- Mensajes: 41
- Registrado: Vie Ene 30, 2015 9:26 am
Re: Timbrado con Diverza
Es Visual Basic? Prácticamente nunca he usado ese lenguaje, por lo que no sabría decirte si estás haciendo algo mal ahí, pero desde la página de Diverza que postee arriba (http://docs.diverza.apiary.io/#reference/0/stamp/stamp) viene código en ese lenguaje (y otros):
Espero te pueda servir de guía.
Código: Seleccionar todo
Dim request = TryCast(System.Net.WebRequest.Create("http://192.237.238.229:4006/api/v1/documents/stamp
"), System.Net.HttpWebRequest)
request.Method = "POST"
request.ContentType = "application/json"
Using writer = New System.IO.StreamWriter(request.GetRequestStream())
Dim byteArray As Byte() = System.Text.Encoding.UTF8.GetBytes("{
\""credentials\"": {
\""id\"": \""1\"",
\""token\"": \""$2b$12$o03C1kz6fRNalss2yvYE7efSOs1IDsh5l04RmCMnooesl8KoYmh7S\""
},
\""issuer\"": {
\""rfc\"": \""AAA010101AAA\""
},
\""receiver\"": {
\""emails\"": [
{
\""email\"": \""user@domain.com\"",
\""format\"": \""xml+pdf\"",
\""template\"": \""letter\""
}
]
},
\""document\"": {
\""ref-id\"": \""1234567\"",
\""certificate-number\"": \""20001000000100005867\"",
\""section\"": \""all\"",
\""format\"": \""pdf\"",
\""template\"": \""letter\"",
\""type\"": \""application/vnd.diverza.cfdi_3.2+xml\"",
\""content\"": \""PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxSZW1pc2lvbiB4bWxucz0iaHR0cDovL3d3dy5idXpvbmZpc2NhbC5jb20vbnMveHNkL2JmL3JlbWlzaW9uLzUyIg0KICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiDQogICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmJ1em9uZmlzY2FsLmNvbS9ucy94c2QvYmYvcmVtaXNpb24vNTIiDQogICAgdmVyc2lvbj0iNS4yIj4NCiAgICA8SW5mb0Jhc2ljYSByZmNFbWlzb3I9IkFBQTAxMDEwMUFBQSIgcmZjUmVjZXB0b3I9IkRJQTAzMTAwMkxaMiINCiAgICAgICAgYWxpYXNTdWN1cnNhbD0iIiAgYXNpZ25hRm9saW89ImZhbHNlIiBmb2xpbz0iMTIzNDUiDQogICAgICAgIHNlcmllPSJBIj48L0luZm9CYXNpY2E+DQogICAgPEluZm9BZGljaW9uYWwgZm9ybWFEZVBhZ289IlBBR08gRU4gVU5BIFNPTEEgRVhISUJJQ0lPTiIgc3ViVG90YWw9IjEwMDAwLjAwIiB0b3RhbD0iNzYwMC4wMCINCiAgICAgICAgbWV0b2RvRGVQYWdvPSJUUkFOU0ZFUkVOQ0lBIiB0aXBvRGVDb21wcm9iYW50ZT0iZWdyZXNvIiBsdWdhckV4cGVkaWNpb249Ik1vbnRlcnJleSwgTkwiDQogICAgICAgIG51bUN0YVBhZ289IjEyMTIiIGRlc2N1ZW50bz0iMjAwLjAwIi8+DQogICAgPEVtaXNvcj4NCiAgICAgICAgPFJlZ2ltZW5GaXNjYWwgUmVnaW1lbj0iUGVyc29uYSBNb3JhbCIvPg0KICAgIDwvRW1pc29yPg0KICAgIDxEb21pY2lsaW9GaXNjYWwgY2FsbGU9IkRvY3RvciBKb3PDqSBNYXLDrWEgQ29zcyIgbXVuaWNpcGlvPSJNb250ZXJyZXkiIGVzdGFkbz0iTnVldm8gTGXDs24iIHBhaXM9Ik1leGljbyINCiAgICAgICAgY29kaWdvUG9zdGFsPSI2NDAwMCIgbm9FeHRlcmlvcj0iNzMxIi8+DQogICAgPFJlY2VwdG9yIG5vbWJyZT0iRGl2ZXJ6YSBJbmZvcm1hY2nDs24geSBBbsOhbGlzaXMsIFMuQS5QLkkuIGRlIEMuVi4iLz4NCiAgICA8RG9taWNpbGlvUmVjZXB0b3IgcGFpcz0iTWV4aWNvIiBjYWxsZT0iRG9jdG9yIEpvc8OpIE1hcsOtYSBDb3NzIiBub0V4dGVyaW9yPSI3MzEiICBub0ludGVyaW9yPSJwaXNvIDkiIGNvZGlnb1Bvc3RhbD0iNjQwMDAiDQogICAgICAgIG11bmljaXBpbz0iTW9udGVycnJleSIvPg0KICAgIDxDb25jZXB0b3M+DQogICAgICAgIDxDb25jZXB0byBjYW50aWRhZD0iMTAwIiB1bmlkYWQ9IlBaQSIgbm9JZGVudGlmaWNhY2lvbj0iQUJDMDAwMTAyMDMwIiBkZXNjcmlwY2lvbj0iUHJvZHVjdG8gZGUgcHJ1ZWJhIg0KICAgICAgICAgICAgdmFsb3JVbml0YXJpbz0iMTAuMDAiIGltcG9ydGU9IjEwMDAuMDAiPiA8L0NvbmNlcHRvPg0KICAgIDwvQ29uY2VwdG9zPg0KICAgIDxJbXB1ZXN0b3MgdG90YWxJbXB1ZXN0b3NUcmFzbGFkYWRvcz0iMTYwLjAwIj4NCiAgICAgICAgPFRyYXNsYWRvcz4NCiAgICAgICAgICAgIDxUcmFzbGFkbyBpbXB1ZXN0bz0iSVZBIiB0YXNhPSIxNi4wMCIgaW1wb3J0ZT0iMTYwLjAwIi8+DQogICAgICAgIDwvVHJhc2xhZG9zPg0KICAgIDwvSW1wdWVzdG9zPg0KICAgIDxBZGRlbmRhPg0KICAgICAgICA8YmZhMjpBZGRlbmRhQnV6b25GaXNjYWwgdmVyc2lvbj0iMi4wIg0KICAgICAgICAgICAgeG1sbnM6YmZhMj0iaHR0cDovL3d3dy5idXpvbmZpc2NhbC5jb20vbnMvYWRkZW5kYS9iZi8yIj4NCiAgICAgICAgICAgIDxiZmEyOlRpcG9Eb2N1bWVudG8gZGVzY3JpcGNpb249IkZhY3R1cmEiIG5vbWJyZUNvcnRvPSJGQUMiLz4NCiAgICAgICAgICAgIDxiZmEyOkNGRCBmZWNoYUVudmlvPSIyMDE1LTEwLTA5VDA5OjQxOjA0Ig0KICAgICAgICAgICAgICAgIHRvdGFsQ29uTGV0cmE9Ik1pbCBjaWVudG8gc2VzZW50YSBwZXNvcyBjb24gMDAvMTAwIE0uTi4iIHRpcG9Nb25lZGE9Ik1YTiIvPg0KICAgICAgICAgICAgPGJmYTI6RXh0cmEgYXRyaWJ1dG89IlQqVE9UQUwiIHZhbG9yPSIxMTYwLjAwIi8+DQogICAgICAgICAgICA8YmZhMjpFeHRyYSBhdHJpYnV0bz0ibnVtZXJvVGlja2V0IiB2YWxvcj0iMDAwMDBDMDAwMTAwMDAwOTg3NjUiLz4NCiAgICAgICAgICAgIDxiZmEyOkV4dHJhIGF0cmlidXRvPSJ0aWVuZGEiIHZhbG9yPSJDZW50cm8iLz4NCiAgICAgICAgPC9iZmEyOkFkZGVuZGFCdXpvbkZpc2NhbD4NCiAgICA8L0FkZGVuZGE+DQo8L1JlbWlzaW9uPg==\""
}
}")
request.ContentLength = byteArray.Length
writer.Write(byteArray)
writer.Close()
End Using
Dim responseContent As String
Using response = TryCast(request.GetResponse(), System.Net.HttpWebResponse)
Using reader = New System.IO.StreamReader(response.GetResponseStream())
responseContent = reader.ReadToEnd()
End Using
End Using
-
- Mensajes: 6
- Registrado: Mar Sep 26, 2017 10:31 am
Re: Timbrado con Diverza
Buenas tardes antes que nada mil gracia spor sus respuestas pero ya intente con el ejemplo de diverza que tiene en su web y me da error tambien.
Adjunto el Json que utilizo
Es el mismo que se publico en una nota de credito y aun asi me da error de BAD REQUEST(400) Ese JSON es el que publico Pirip
Adjunto el Json que utilizo
Código: Seleccionar todo
{
"credentials": {
"id": "3935",
"token": "ABCD1234"
},
"issuer": {"rfc": "AAA010101AAA"},
"receiver": {"emails": [{
"email": "nombre@micliente.com",
"format": "xml+pdf",
"template": "letter"
}]},
"document": {
"ref-id": "EDV2017040300003",
"certificate-number": "30001000000300023708",
"section": "all",
"format": "xml",
"template": "letter",
"type": "application/vnd.diverza.cfdi_3.3+xml",
"content": "77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48Y2ZkaTpDb21wcm9iYW50ZSB4bWxuczpjZmRpPSJodHRwOi8vd3d3LnNhdC5nb2IubXgvY2ZkLzMiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5zYXQuZ29iLm14L2NmZC8zIGh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvMy9jZmR2MzMueHNkIiBWZXJzaW9uPSIzLjMiIFNlcmllPSJBIiBGb2xpbz0iNjE3MiIgRmVjaGE9IjIwMTctMDktMjZUMTE6NDM6MjkiIFNlbGxvPSIiIEZvcm1hUGFnbz0iMDEiIE5vQ2VydGlmaWNhZG89IjMwMDAxMDAwMDAwMzAwMDIzNzA4IiBDZXJ0aWZpY2Fkbz0iTUlJRitUQ0NBK0dnQXdJQkFnSVVNekF3TURFd01EQXdNREF6TURBd01qTTNNRGd3RFFZSktvWklodmNOQVFFTEJRQXdnZ0ZtTVNBd0hnWURWUVFEREJkQkxrTXVJRElnWkdVZ2NISjFaV0poY3lnME1EazJLVEV2TUMwR0ExVUVDZ3dtVTJWeWRtbGphVzhnWkdVZ1FXUnRhVzVwYzNSeVlXTnB3N051SUZSeWFXSjFkR0Z5YVdFeE9EQTJCZ05WQkFzTUwwRmtiV2x1YVhOMGNtRmphY096YmlCa1pTQlRaV2QxY21sa1lXUWdaR1VnYkdFZ1NXNW1iM0p0WVdOcHc3TnVNU2t3SndZSktvWklodmNOQVFrQkZocGhjMmx6Ym1WMFFIQnlkV1ZpWVhNdWMyRjBMbWR2WWk1dGVERW1NQ1FHQTFVRUNRd2RRWFl1SUVocFpHRnNaMjhnTnpjc0lFTnZiQzRnUjNWbGNuSmxjbTh4RGpBTUJnTlZCQkVNQlRBMk16QXdNUXN3Q1FZRFZRUUdFd0pOV0RFWk1CY0dBMVVFQ0F3UVJHbHpkSEpwZEc4Z1JtVmtaWEpoYkRFU01CQUdBMVVFQnd3SlEyOTViMkZqdzZGdU1SVXdFd1lEVlFRdEV3eFRRVlE1TnpBM01ERk9Uak14SVRBZkJna3Foa2lHOXcwQkNRSU1FbEpsYzNCdmJuTmhZbXhsT2lCQlEwUk5RVEFlRncweE56QTFNVGd3TXpVME5UWmFGdzB5TVRBMU1UZ3dNelUwTlRaYU1JSGxNU2t3SndZRFZRUURFeUJCUTBORlRTQlRSVkpXU1VOSlQxTWdSVTFRVWtWVFFWSkpRVXhGVXlCVFF6RXBNQ2NHQTFVRUtSTWdRVU5EUlUwZ1UwVlNWa2xEU1U5VElFVk5VRkpGVTBGU1NVRk1SVk1nVTBNeEtUQW5CZ05WQkFvVElFRkRRMFZOSUZORlVsWkpRMGxQVXlCRlRWQlNSVk5CVWtsQlRFVlRJRk5ETVNVd0l3WURWUVF0RXh4QlFVRXdNVEF4TURGQlFVRWdMeUJJUlVkVU56WXhNREF6TkZNeU1SNHdIQVlEVlFRRkV4VWdMeUJJUlVkVU56WXhNREF6VFVSR1VrNU9NRGt4R3pBWkJnTlZCQXNVRWtOVFJEQXhYMEZCUVRBeE1ERXdNVUZCUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSmRVY3NISUVJZ3dpdnZBYW50R25ZVklPMys3eVRkRDF0a0tvcGJMK3RLU2pSRm8xRXJQZEdKeFAzZ3hUNU8rQUNJRFFYTitIUzl1TVdEWW5hVVJhbFNJRjlDT0ZDZGgvT0gyUG4rVW1rTjRjdWxyMkRhbkt6dFZJTzhpZFhNNmM5YUhuNWhPbzdoRHhYTUMzdU91R1YzRlM0T2JreFRWKzlOc3ZPQVYybE1lMjdTSHJTQjBEaHVMdXJVYlp3WG0rL3I0ZHR6M2IydUxnQmMrRGl5OTVQRytNSXU3b05LTTg5YUJOR2NqVEp3KzlrK1d6SmlQZDNacFFnSWVkWUJEKzhRV3hsWUNneGhudGEzazl5bGdYS1lYQ1lrMGswcWF1dkJKMWpTUlZmNUJqaklVYk9zdGFRcDU5bmtnSGg0NWM5Z253SlJWNjE4TlcwZk1lRHp1S1IwQ0F3RUFBYU1kTUJzd0RBWURWUjBUQVFIL0JBSXdBREFMQmdOVkhROEVCQU1DQnNBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFCS2owRENOTDFsaDQ0eStPY1dGclQyaWNuS0Y3V3lTT1ZpaHgwb1IrSFByV0tCTVh4bzlLdHJvZG5CMXRnSXg4ZitYanF5cGhoYncranVEU2VEcmI5OVBoQzQrRTZKZVhPa2RRY0p0NTBLeW9kbDlVUnBDVldOV2pVYjNGL3lwYThvVGNmZi9lTWZ0UVpUN01RMUxxaHQreG0zUWhWb3hUSUFTY2UwampzbkJUR0QySlE0dVQzb0NlbThibW9NWFYvZms5YUozdjArWklMNDJNcFk0UE9HVWEvaVRhYXdrbEtSQUwxWGo5SWRJUjA2Uks2OFJTNnhyR2s2andiRFRFS3hKcG1aM1NQTHRsc21QVVRPMWtyYVRQSW85RkNtVS96WmtXR3BkOFpFQUFGdytaZkkrYmRYQmZ2ZER3YU0yaU1HVFFaVFRFZ1U1S0tUSXZrQW5IbzlPNDVTcVNKd3FWOU5MZlBBeENvNWVSUjJPR2liZDlqaEhlODF6VXNwNUdkRTFtWmlTcUpVODJIM2N1NkJpRStEM1liWmVabmpyTlN4QmdLVElmOHcrS05ZUE00YVdudVVNbDBtTGd0T3hUVVhpOU1LblVjY3EzR1pMQTdieDdabjIxMXlQUnFFalNBcXliVU1WSU9obzZhcXprZmMzV0xaNkxuR1UraHlIdVpVZlB3Ym5DbGI3b0ZGejFQbHZHT3BORHNVYjBxUDQyUUNHQmlUVXNlR3VnQXpxT1A2RVlwVlBDNzNnRm91cm1kQlFnZmF5YUV2aTN4ak5hbkZrUGxXMVhFWU5yWUpCNHlOanBoRnJ2V3dUWTg2dkwybzhnWk4wVXRtYzVmbm9CVGZNOXIyelZLbUVpNkZVZUoxaWFEYVZOdjQ3dGU5aVMxYWk0VjR2Qlk4ciIgQ29uZGljaW9uZXNEZVBhZ289IjE1IiBTdWJUb3RhbD0iNS4wMCIgTW9uZWRhPSJNWE4iIFRpcG9DYW1iaW89IjEiIFRvdGFsPSI1LjgwIiBUaXBvRGVDb21wcm9iYW50ZT0iSSIgTWV0b2RvUGFnbz0iUFVFIiBMdWdhckV4cGVkaWNpb249Ijg0MDAwIj48Y2ZkaTpFbWlzb3IgUmZjPSJBQUEwMTAxMDFBQUEiIE5vbWJyZT0iQ0lOREVNRVggU0EgREUgQ1YiIFJlZ2ltZW5GaXNjYWw9IjYwMSIgLz48Y2ZkaTpSZWNlcHRvciBSZmM9IlhBWFgwMTAxMDEwMDAiIE5vbWJyZT0iQ2xpZW50ZSBnZW5lcmFsIiBVc29DRkRJPSJQMDEiIC8+PGNmZGk6Q29uY2VwdG9zPjxjZmRpOkNvbmNlcHRvIENsYXZlUHJvZFNlcnY9IjAxMDEwMTAxIiBOb0lkZW50aWZpY2FjaW9uPSJOb0lkIiBDYW50aWRhZD0iMS4wMCIgQ2xhdmVVbmlkYWQ9IkVBIiBVbmlkYWQ9IlBpZXphIiBEZXNjcmlwY2lvbj0iUHJvZHVjdG8gR2VuZXJpY2EiIFZhbG9yVW5pdGFyaW89IjEuMDAiIEltcG9ydGU9IjEuMDAiPjxjZmRpOkltcHVlc3Rvcz48Y2ZkaTpUcmFzbGFkb3M+PGNmZGk6VHJhc2xhZG8gQmFzZT0iMS4wMCIgSW1wdWVzdG89IjAwMiIgVGlwb0ZhY3Rvcj0iVGFzYSIgVGFzYU9DdW90YT0iMC4xNjAwMDAiIEltcG9ydGU9IjAuMTYiIC8+PC9jZmRpOlRyYXNsYWRvcz48L2NmZGk6SW1wdWVzdG9zPjwvY2ZkaTpDb25jZXB0bz48Y2ZkaTpDb25jZXB0byBDbGF2ZVByb2RTZXJ2PSIwMTAxMDEwMSIgTm9JZGVudGlmaWNhY2lvbj0iTm9JZDIiIENhbnRpZGFkPSIyLjAwIiBDbGF2ZVVuaWRhZD0iRUEiIFVuaWRhZD0iUGllemEiIERlc2NyaXBjaW9uPSJQcm9kdWN0byBHZW5lcmljYVBydWViYWRvcyIgVmFsb3JVbml0YXJpbz0iMi4wMCIgSW1wb3J0ZT0iNC4wMCI+PGNmZGk6SW1wdWVzdG9zPjxjZmRpOlRyYXNsYWRvcz48Y2ZkaTpUcmFzbGFkbyBCYXNlPSI0LjAwIiBJbXB1ZXN0bz0iMDAyIiBUaXBvRmFjdG9yPSJUYXNhIiBUYXNhT0N1b3RhPSIwLjE2MDAwMCIgSW1wb3J0ZT0iMC42NCIgLz48L2NmZGk6VHJhc2xhZG9zPjwvY2ZkaTpJbXB1ZXN0b3M+PC9jZmRpOkNvbmNlcHRvPjwvY2ZkaTpDb25jZXB0b3M+PGNmZGk6SW1wdWVzdG9zIFRvdGFsSW1wdWVzdG9zVHJhc2xhZGFkb3M9IjAuODAiPjxjZmRpOlRyYXNsYWRvcz48Y2ZkaTpUcmFzbGFkbyBJbXB1ZXN0bz0iMDAyIiBUaXBvRmFjdG9yPSJUYXNhIiBUYXNhT0N1b3RhPSIwLjE2MDAwMCIgSW1wb3J0ZT0iMC44MCIgLz48L2NmZGk6VHJhc2xhZG9zPjwvY2ZkaTpJbXB1ZXN0b3M+PC9jZmRpOkNvbXByb2JhbnRlPg=="
}
}
-
- Mensajes: 2
- Registrado: Mar Oct 03, 2017 11:32 pm
Re: Timbrado con Diverza
Por si a alguien le sirve, comparto mi método para timbrar con Diverza comprobantes de Ingreso y Egreso, en VB.NET. Y de paso solictar apoyo para timbrar los comprobantes de pago, que no lo he conseguido. Supongo que es cambiarle la propiedad Type, el problema es la inexistente ayuda y soporte técnico de la empresa. Es inaceptable que no tengan ni documentación actualizada disponible.
Código: Seleccionar todo
Dim xmlTimbrado As String = ""
Dim b64 As String = Getb64XMLString(xml, oFun)
Dim request = TryCast(System.Net.WebRequest.Create("https://serviciosdemo.diverza.com/api/v1/documents/stamp"), System.Net.HttpWebRequest)
request.Method = "POST"
request.ContentType = "application/json"
Dim jsonstr = "{
""credentials"": {
""id"": """ & id & """,
""token"": """ & token & """
},
""issuer"": {""rfc"": """ & rfcemisor & """},
""receiver"": {""emails"": [{
""email"": ""email@gmail.com"",
""format"": ""xml+pdf"",
""template"": ""letter""
}]},
""document"": {
""ref-id"": """ & seriefolio & """,
""certificate-number"": """ & numcert & """,
""section"": ""all"",
""format"": ""xml"",
""template"": ""letter"",
""type"": ""application/vnd.diverza.cfdi_3.3+xml"",
""content"": """ & b64 & """
}
}"
Dim byteArray As Byte() = System.Text.Encoding.UTF8.GetBytes(jsonstr)
request.ContentLength = byteArray.Length
Using writer = request.GetRequestStream()
'request.ContentLength = byteArray.Length
writer.Write(byteArray, 0, byteArray.Length)
writer.Close()
End Using
Dim responseContent As String
Using response = TryCast(request.GetResponse(), System.Net.HttpWebResponse)
Using reader = New System.IO.StreamReader(response.GetResponseStream())
responseContent = reader.ReadToEnd()
xmlTimbrado = (responseContent.Substring(responseContent.IndexOf("""content"":")).Replace("""content"":", "")).Trim()
xmlTimbrado = xmlTimbrado.Replace("""", "")
xmlTimbrado = xmlTimbrado.Replace("}", "")
'DECODIFICA EL XML TIMBRADO
byteArray = Convert.FromBase64String(xmlTimbrado)
xmlTimbrado = Encoding.UTF8.GetString(byteArray)
End Using
End Using
Return xmlTimbrado
-
- Mensajes: 6
- Registrado: Mar Sep 26, 2017 10:31 am
Re: Timbrado con Diverza
Buenas tardes Muchas gracias por sus comentarios. Me fue de mucha ayuda lo del json. De echo ya pude enviar pero ahora me comenta el personal de diverza que esta marcando error con el sello pero ya lo verifique el como genero el sello y de echo utilize el software VALIDACFD para cotejar el sello generado y esta igual al que genero desde el sistema
Esta es mi cadena Original
||3.3|A|Perrrunis2|2017-10-04T16:23:41|01|30001000000300023708|15|5.00|MXN|1|5.80|I|PUE|84000|AAA010101AAA|CINDEMEX SA DE CV|601|XAXX010101000|Cliente general|P01|01010101|NoId|1.00|EA|Pieza|Producto Generica|1.00|1.00|1.00|002|Tasa|0.160000|0.16|01010101|NoId2|2.00|EA|Pieza|Producto GenericaPruebados|2.00|4.00|4.00|002|Tasa|0.160000|0.64|002|Tasa|0.160000|0.80|0.80||
Y este es el sello que genero:
20510bb7e73453a2c7c839eccdd81ce051c916ab63c54ef4011d7406ad1383e6
EN la imagen adjunta se ve la recomendación del sello y como se ve en el sello que pongo arriba es igual pero aun asi marca sello de emisor invalido.
Por su ayuda muchas gracias
Esta es mi cadena Original
||3.3|A|Perrrunis2|2017-10-04T16:23:41|01|30001000000300023708|15|5.00|MXN|1|5.80|I|PUE|84000|AAA010101AAA|CINDEMEX SA DE CV|601|XAXX010101000|Cliente general|P01|01010101|NoId|1.00|EA|Pieza|Producto Generica|1.00|1.00|1.00|002|Tasa|0.160000|0.16|01010101|NoId2|2.00|EA|Pieza|Producto GenericaPruebados|2.00|4.00|4.00|002|Tasa|0.160000|0.64|002|Tasa|0.160000|0.80|0.80||
Y este es el sello que genero:
20510bb7e73453a2c7c839eccdd81ce051c916ab63c54ef4011d7406ad1383e6
EN la imagen adjunta se ve la recomendación del sello y como se ve en el sello que pongo arriba es igual pero aun asi marca sello de emisor invalido.
Por su ayuda muchas gracias
- Adjuntos
-
- Sello.JPG (114.95 KiB) Visto 9016 veces
-
- Mensajes: 2
- Registrado: Mar Oct 03, 2017 11:32 pm
Re: Timbrado con Diverza
Hola. Yo uso este método para generar el sello con Diverza. Ya puedo timbrar cfdi 3.3 de ingreso y egreso, aunque estoy atorada en pago.
Código: Seleccionar todo
Private Function getSelloDigital(PEM As String, tmpCad As String, tmpSHA As String) As String
Try
sError = ""
Dim oFun As New funciones
CreateOpenSSLPath(oFun)
Dim oProcessOpenSSL As New Process()
oProcessOpenSSL.StartInfo.FileName = GetOpenSSLPath(oFun)
oProcessOpenSSL.StartInfo.Arguments = "dgst -sha256 -sign " + PEM + " -out " + tmpSHA + " " + tmpCad
oProcessOpenSSL.StartInfo.UseShellExecute = False
oProcessOpenSSL.StartInfo.ErrorDialog = False
oProcessOpenSSL.StartInfo.RedirectStandardOutput = True
oProcessOpenSSL.StartInfo.RedirectStandardError = True
oProcessOpenSSL.StartInfo.CreateNoWindow = True
oProcessOpenSSL.Start()
' sError = "dgst -sha256 -sign " + PEM + " -out " + tmpSHA + " " + tmpCad
oProcessOpenSSL.WaitForExit()
System.Threading.Thread.Sleep(1000)
Dim tmpBASE64 As String = tmpCad.Replace(".txt", "-base64.txt")
oProcessOpenSSL.StartInfo.Arguments = "base64 -in " + tmpSHA + " -out " + tmpBASE64
oProcessOpenSSL.StartInfo.UseShellExecute = False
oProcessOpenSSL.StartInfo.ErrorDialog = False
oProcessOpenSSL.StartInfo.RedirectStandardOutput = True
oProcessOpenSSL.StartInfo.RedirectStandardError = True
oProcessOpenSSL.StartInfo.CreateNoWindow = True
oProcessOpenSSL.Start()
sError = oProcessOpenSSL.StandardError.ReadToEnd()
oProcessOpenSSL.WaitForExit()
If sError = "" Then
'RECUPERACION ENSAMBLADO
Dim utF8Encoding As UTF8Encoding = New UTF8Encoding(False)
Dim str2 As String = oFun.cleanString(File.ReadAllText(tmpBASE64, CType(utF8Encoding, Encoding))).Replace(" ", "")
If (File.Exists(tmpBASE64)) Then
File.Delete(tmpBASE64)
End If
File.WriteAllText(tmpBASE64, str2, CType(utF8Encoding, Encoding))
'FIN RECUPERACION ENSAMBLADO
Dim sello As String = System.IO.File.ReadAllText(tmpBASE64)
If (File.Exists(tmpBASE64)) Then
File.Delete(tmpBASE64)
End If
Return sello
Else
Return ""
End If
Catch ex As Exception
sError = ex.Message
Return ""
End Try
End Function
- Dado
- Mensajes: 15983
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Timbrado con Diverza
Ese dato no es el sello, ese es el HASH, que es un paso antes del sellokokyno escribió:Y este es el sello que genero:
20510bb7e73453a2c7c839eccdd81ce051c916ab63c54ef4011d7406ad1383e6
Aunque tener el hash igual que Diverza es muy buen indicio de que vas por buen camino
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 6
- Registrado: Mar Sep 26, 2017 10:31 am
Re: Timbrado con Diverza
Buen día. Muchas gracias por sus respuestas AGOT y DADO. Continuare con los cambios para ver que es lo que me esta fallando en la generación del sello. Una vez que lo tenga terminado comparto con el foro el código por si alguien mas lo requiere.
Por su ayuda muchas gracias
Por su ayuda muchas gracias
-
- Mensajes: 6
- Registrado: Mar Sep 26, 2017 10:31 am
Re: Timbrado con Diverza
Dado buenas tardes cual seria el siguiente paso para convertir el HASH a sello que es lo que me hace salta si me pudiera orientar al respecto
-
- Mensajes: 370
- Registrado: Lun Oct 10, 2011 11:50 am
Re: Timbrado con Diverza
Diverza maneja, entre otros, dos servicios... uno es de STAMP y el otro es el de ISSUE
En el de stamp espera tu xml con sello y en de issue lo puedes enviar sin sello y ellos lo generan y lo agregan al xml y luego lo timbran,,,
yo preferi utilizar el de issue por no perder tiempo en resolver errores en la generacion del sello digital en una rutina que utilizo para varios pacs y solo con diverza me lo rechazan
En el de stamp espera tu xml con sello y en de issue lo puedes enviar sin sello y ellos lo generan y lo agregan al xml y luego lo timbran,,,
yo preferi utilizar el de issue por no perder tiempo en resolver errores en la generacion del sello digital en una rutina que utilizo para varios pacs y solo con diverza me lo rechazan