Parámetros
El contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se obtienen a través del registro de la plataforma Pade.
Parámetros marcados con * son obligatorios:
- contrato *
- Indica el código de contrato del usuario con el que se realizará el timbrado
- usuario *
- Indica el usuario con el que se autenticará el servicio de timbrado.
- passwd *
- Indica la contraseña del usuario con el que se autenticará al servicio de timbrado.
- xml (comprobante a timbrar)*
- Es el XML que se requiere timbrar de retenciones, mismo que deberá estar previamente llenado con la estructura correcta.
- prueba
- Parámetro para realizar la petición en modo prueba, deberá especificarse como true (modo prueba) o false (timbrado real), si no agregamos el parámetro, se toma como timbrado real.
- opciones
- En caso de requerir alguna opción del servicio, ir a la sección de opciones del servicio de timbrado.
- Este parámetro se puede repetir cuantas opciones desea especificar.
NOTA: Para conocer las guías de llenado de los diferentes tipos de comprobantes puede consultar la información oficial que el SAT ofrece.
Ejemplo de petición de timbradoRet
Ejemplo de petición para timbrar un XML de retenciones. Se puede observar los parámetros necesarios para el servicio, los cuales se describen más adelante.
+Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tim="timbradoRet.ws.pade.mx">
<soapenv:Header/>
<soapenv:Body>
<tim:timbradoRet>
<contrato>CONTRATO</contrato>
<usuario>USUARIO</usuario>
<password>CONTRASEÑA</password>
<xml><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<retenciones:Retenciones Certificado="MIIFuTCCg4xNbvwd66CUuTjyK2q11Y6nTzod1I1Nhv75cfZbJzdW/4EO/1bGLEt3zpTnP0yDVh9KL4/WJ0QW5kR4QVpxd84
aBkJe7FltC5j+FUiDSCCLpS...lkKYUzLPkdfppjiizbP1fqDcoIfZxl4RPKKtr0eIJWhEnuVirZ0kevHXEspI+iEMncRSfY2Mk+Xm8rmJ7toBu4iAyJUDCP6v24as1uxiE9D
VDaFwlugdYL9c="CveRetenc="25" DescRetenc="Pagos realizados a favor de residentes en el extranjero."FechaExp="2024-11-20T14:12:11"
FolioInt="2ea" LugarExpRetenc="03810" NoCertificado="NO CERTIFICADO" Sello="b1Od9YyKKSJPzikcDMcemWLZh2pwpvUgEzEV/TvqQIpXt9sMmy4khaV8G
dlxOQMCsuKRm76ei+u...g7+HTh983CMZ17YcgsJjyZlv09OnIc4MaL7Mji1tYAR8E+zB4mhizctBjj1xk27msCzcKIyBZnoQvAb4Gi91SBJkigK+ynYroBvmCnao8qQsFfY/
kw==" Version="2.0"xmlns:pagosaextranjeros="http:
//www.sat.gob.mx/esquemas/retencionpago/1/pagosaextranjeros" xmlns:retenciones="http://www.sat.gob.mx/esquemas/retencionpago/2" xmlns:
xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/esquemas/retencionpago/2 http://www.sat.gob.
mx/esquemas/retencionpago/2/retencionpagov2.xsd http://www.sat.gob.mx/esquemas/retencionpago/1/pagosaextranjeros http://www.sat.gob.mx
/esquemas/retencionpago/1/pagosaextranjeros/pagosaextranjeros.xsd">
<retenciones:CfdiRetenRelacionados TipoRelacion="01" UUID="A39DA66B-52CA-49E3-879B-5C05185B0EF7"/>
<retenciones:Emisor NomDenRazSocE="NOMBRE EMISOR" RegimenFiscalE="620" RfcE="RFC EMISOR"/>
<retenciones:Receptor NacionalidadR="Nacional">
<retenciones:Nacional RfcR="RFC RECEPTOR" DomicilioFiscalR="85890" NomDenRazSocR="NOMBRE RECEPTOR"/>
</retenciones:Receptor>
<retenciones:Periodo Ejercicio="2023" MesFin="10" MesIni="10"/>
<retenciones:Totales MontoTotExent="0.00" MontoTotGrav="508532.02" MontoTotOperacion="508532.02" MontoTotRet="50852.91">
<retenciones:ImpRetenidos BaseRet="508532.02" ImpuestoRet="001" MontoRet="50852.91" TipoPagoRet="03"/>
</retenciones:Totales>
<retenciones:Complemento>
<pagosaextranjeros:Pagosaextranjeros EsBenefEfectDelCobro="NO" Version="1.0" >
<pagosaextranjeros:NoBeneficiario ConceptoPago="2" DescripcionConcepto="SERVICIOS DE CONSULTORIA DEINGENIERIA. ISR RETENCION 10
PORCIENTO FUND. ART. 1 COLOMBIA. RECIBS 67, 68, 69, 70, 71, 72, 73, 74, 75, 76 (457,679.11 USD TC 20.0502)"
PaisDeResidParaEfecFisc="CO"/>
</pagosaextranjeros:Pagosaextranjeros>
</retenciones:Complemento>
</retenciones:Retenciones>
]]></xml>
<!--Zero or more repetitions:-->
<opciones>CALCULAR_SELLO</opciones>
<modoPrueba>true</modoPrueba>
</tim:timbradoRet>
</soapenv:Body>
</soapenv:Envelope>
Ejemplo de respuesta
+Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:timbradoRetResponse xmlns:ns2="timbradoRet.ws.pade.mx">
<return><![CDATA[<?xml version="1.0" encoding="UTF-8"?><servicioTimbrado>
<id>1162f744-b8dc-4dc2-982c-8a4d932acabb</id>
<timbradoOk>true</timbradoOk>
<contrato>CONTRATO</contrato>
<codigo>0</codigo>
<mensaje>*** generado en modo de pruebas ***</mensaje>
<version>1.1</version>
<UUID>UUID</UUID>
<FechaTimbrado>2024-12-10T17:48:14</FechaTimbrado>
<selloCFD>EhKXUp50Ckyv...580p7A7EoW68jodiNYsssvAg==</selloCFD>
<noCertificadoSAT>CERTIFICADO SAT</noCertificadoSAT>
<selloSAT>M42lcr8FyKxfLMZDPRIdWLhtB8APUJT9yWSM4gVeZNGswlod/cbrB5rOTnY5Q/EyAXn2FkD5DHmySMiGV+QeFyq...7tnz/
aF99SvNo8bF8bJyIJxZtckubikQ==</selloSAT>
<xmlBase64>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cmV0ZW5jaW9uZXM6UmV0ZW5jaW9uZXMgeG1sbnM6cm
V0ZW5jaW9uZXM9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9lc3F1ZW1hcy9yZXRlbmNpb25wYWdvLzIiIHhtbG5zOnBhZ29zYWV4dHJhbmplcm9zP
SJodHRwOi8vd3d3LnNhdC5nb2IubXgvZXNxdWVtYXMvcmV0ZW5jaW9...hbERpZ2l0YWwgaHR0cDovL3d3dy5zYXQuZ29iLm14L1RpbWJyZUZpc
2NhbERpZ2l0YWwvVGltYnJlRmlzY2FsRGlnaXRhbHYxMS54c2QiLz48L3JldGVuY2lvbmVzOkNvbXBsZW1lbnRvPjwvcmV0ZW5jaW9uZXM6UmV0
ZW5jaW9uZXM+</xmlBase64>
</servicioTimbrado>]]></return>
</ns2:timbradoRetResponse>
</S:Body>
</S:Envelope>
Para los ejemplos de petición y respuesta del método timbradoRet solo se diferencía mediante el nodo <timbradoRetResponse>.
La descripción de los mismos se define a continuación:
Atributo |
Descripción |
id |
Identificador de la transacción interna, en formato UUID. Este valor es de uso interno, no está relacionado con niguna propiedad del XML o del Timbre Fiscal Digital. |
timbradoOk |
Indica si la operación de timbrado fue conducida exitosamente. Los valores posibles son “true”, que indica éxito; y “false”, que indica que el CFDI no pudo ser timbrado y en consecuencia no fue aceptado por el servicio. |
contrato |
Identificador único del contrato del cliente. Se regresa para fines informativos. |
codigo |
El código es un valor cuya función principal es indicar el error que fue detectado, en caso de haberlo. Cuando la transacción de timbrado fue exitosa (timbradoOk vale “true”) el código se regresa con un valor de 0 (cero) y de otra forma se regresa con el código de error específico definido por el SAT. Por otro lado, es posible que se acepte el certificado, pero con incidencias, lo que causará que se regrese un código aun cuando el atributo timbradoOk tenga valor de “true”. El código siempre pertenecerá al último error registrado por el servicio (en caso de que se hayan registrado más de uno). |
mensaje |
Este valor es un texto informativo. Es especialmente útil cuando ocurren errores en el procesamiento del CFDI. Cuando la transacción de timbrado fue exitosa, este valor viene vacío. Es probable que la respuesta del servicio incluya más de un mensaje de error, éstos serán separados por un carácter pipe (|). |
version |
Versión del Timbre Fiscal generado. A la fecha, el valor es 1.1. Este valor forma parte del elemento tfd:TimbreFiscalDigital dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa. |
UUID |
Folio fiscal asignado al CFDI. Este valor forma parte del elemento < tfd:TimbreFiscalDigital > dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa.sa.
|
FechaTimbrado |
Fecha de generación del Timbre Fiscal Digital. Este valor forma parte del elemento < tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa. |
selloCFD |
Sello del CFDI. Este valor forma parte del elemento < tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa.
|
noCertificadoSAT |
Número de certificado del SAT. Este valor forma parte del elemento < tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa.
|
selloSAT |
Sello del timbre fiscal digital. Este valor forma parte del elemento < tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa.
|
xmlBase64 |
String codificado en Base 64 que contiene el documento XML timbrado. Este valor se incluye solamente cuando la transacción de timbrado es exitosa. |
Parámetros
El contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se obtienen a través del registro de la plataforma Pade.
Parámetros marcados con * son obligatorios:
- contrato *
- Indica el código de contrato del usuario con el que se realizará el timbrado.
- usuario *
- Indica el usuario con el que se autenticará el servicio de timbrado.
- passwd *
- Indica la contraseña del usuario con el que se autenticará al servicio de timbrado.
- rfcEmisor *
- RFC del emisor de los CFDI’s a cancelar.
- arregloUUID *
- Arreglo de Strings con los UUID de los CFDI que se desea cancelar. Se debe enviar el siguiente arreglo: uuid o folio fiscal|motivo cancelacion|folio sustitución o uuid.
- Cert
- Arreglo de bytes con el archivo del certificado de sello digital con que fueron generados los CFDI que se cancelarán. Se debe enviar el archivo binario tal como se obtuvo del SAT (formato DER).
- key
- Arreglo de bytes Llave privada correspondiente al certificado.
- keyPass
- Contraseña de la llave privada.
- opciones
- En caso de requerir alguna opción del servicio, ir a la sección de opciones del servicio de timbrado.
- Este parámetro se puede repetir cuantas opciones desea especificar.
Ejemplo de petición de cancelarRet
Ejemplo de petición para cancelar un XML de retenciones. Se puede observar los parámetros necesarios para el servicio.
+Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tim="timbradoRet.ws.pade.mx">
<soapenv:Header/>
<soapenv:Body>
<tim:cancelarRet>
<contrato>CONTRATO</contrato>
<usuario>USUARIO</usuario>
<passwd>CONTRASEÑA</passwd>
<rfcEmisor>RFC</rfcEmisor>
<arregloUUID><![CDATA[UUID|MOTIVO|UUID_SUSTITUCION]]></arregloUUID>
<!--Optional:-->
<cert></cert>
<!--Optional:-->
<key></key>
<!--Optional:-->
<keyPass></keyPass>
<!--Zero or more repetitions:-->
<opciones>CERT_DEFAULT</opciones>
</tim:cancelarRet>
</soapenv:Body>
</soapenv:Envelope>
Ejemplo de respuesta
+Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:cancelarRetResponse xmlns:ns2="timbradoRet.ws.pade.mx">
<return><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<servicioCancel>
<statusOk>true</statusOk>
<rfc>RFC</rfc>
<codigo>0</codigo>
<procesados>1</procesados>
<cancelados>0</cancelados>
<cancelaciones>
<cancelacion>
<uuid>UUID</uuid>
<codigo>1202</codigo>
<mensaje>UUID Previamente cancelado</mensaje>
</cancelacion>
</cancelaciones>
<acuseCancelBase64>PD94bWwgdmVyc2lvbj0iwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIEZlY2hhPSIyMDI0LTEyLTEwVDEzOjQwOjIzLjk0NjQxNyIgUm
ZjRW1pc29yPSJBVUFHODQwODA2TFM5IiBX...Nb2R1bHVzPjxFeHBvbmVudD5BUUFCPC9FeHBvbmVudD48L1JTQUtleVZhbHVlP
jwvS2V5VmFsdWU+PC9LZXlJbmZvPjwvU2lnbmF0dXJlPjwvQWN1c2U+</acuseCancelBase64>
</servicioCancel>]]></return>
</ns2:cancelarRetResponse>
</S:Body>
</S:Envelope>
Para los ejemplos de petición y respuesta del método cancelarRet solo se diferencía mediante el nodo < cancelarRetResponse>.
La descripción de los atributos se define a continuación:
Atributo |
Descripción |
statusOk |
Los valores posibles son “true” o “false”, y determina si la invocación al webservice fue exitosa. Es importante observar que el valor de este atributo no refleja el valor de cada cancelación individual. Por ejemplo podemos obtener “true” aquí pero error en cada cancelación individual. Obtendremos un valor de false en este atributo en caso de un error mayor, por ejemplo que el contrato de servicios esté expirado, o el usuario tenga una contraseña incorrecta. |
rfc |
RFC del emisor de los CFDI. Se proporciona para fines informativos. |
codigo |
Mensaje descriptivo del error en caso que el valor de código sea diferente de cero. |
cancelaciones |
Nodo que contiene la lista con los resultados de las operaciones individuales sobre cada UUID. |
cancelacion |
Nodo que contiene el resultado de una cancelación individual. |
uuid |
UUID que fue procesado. |
codigo |
Código generado por el SAT con el resultado de la cancelación. La lista de códigos individuales se muestra al final del documento en la tabla “Códigos de Resultado de Cancelación”.
|
mensaje |
Mensaje opcional adicional con la descripción del problema (en caso de haberlo). |
Parámetros
El contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se obtienen a través del registro de la plataforma Pade.
Parámetros marcados con * son obligatorios:
- contrato *
- Indica el código de contrato del usuario con el que se realizará el timbrado.
- usuario *
- Indica el usuario con el que se autenticará el servicio de timbrado.
- passwd *
- Indica la contraseña del usuario con el que se autenticará al servicio de timbrado.
- uuid *
- UUID del comprobante que se desea recuperar.
Ejemplo de petición de acuseCancelacionRet
Ejemplo de petición para cancelar un XML de retenciones. Se puede observar los parámetros necesarios para el servicio.
+Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tim="timbradoRet.ws.pade.mx">
<soapenv:Header/>
<soapenv:Body>
<tim:acuseCancelacionRet>
<contrato>CONTRATO</contrato>
<usuario>USUARIO</usuario>
<passwd>CONTRASEÑA</passwd>
<uuid>UUID</uuid>
</tim:acuseCancelacionRet>
</soapenv:Body>
</soapenv:Envelope>
Ejemplo de respuesta
+Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:acuseCancelacionRetResponse xmlns:ns2="timbradoRet.ws.pade.mx">
<return><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<servicioConsulta>
<contrato>CONTRATO</contrato>
<consultaOk>true</consultaOk>
<codigo>0</codigo>
<xmlBase64>PD94bWwgdmVyc2lvbj0iMS4wIj8+PEFjdXNlIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWovL3d3dy5...
NkxTOSIgV29ya1Byb2Nlc3NJZD0iZTgyZWQ0OTYtY2IwZC00YjAwLTllZWYtZmQzMTcwYTQ5YzU5IiB4bWxucz0iaHR0cDovL3d3dy5zYXQuZ2FzL3JldGVuY2NlPg==
</xmlBase64>
</servicioConsulta>]]></return>
</ns2:acuseCancelacionRetResponse>
</S:Body>
</S:Envelope>
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo |
Descripción |
contrato |
Indica el código de contrato del usuario. |
consultaOk |
Los valores posibles son “true” o “false” y determina si la invocación al webservice fue exitosa. Es importante observar que el valor de este atributo no refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener “true” aquí pero error en cada cancelación individual. Obtendremos un valor de false en este atributo en caso de un error mayor, por ejemplo, que el contrato de servicios esté expirado, o el usuario tenga una contraseña incorrecta. |
codigo |
Código global de la invocación. Un valor de 0 (cero) indica que la invocación se dio exitosamente, o de otra forma se indica la razón del problema. |
xmlBase64 |
Es el XML codificado en base64 que se requiere recuperar, mismo que deberá estar previamente llenado con la estructura correcta. |
Parámetros
El contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se obtienen a través del registro de la plataforma Pade.
Parámetros marcados con * son obligatorios:
- contrato *
- Indica el código de contrato del usuario con el que se realizará el timbrado.
- usuario *
- Indica el usuario con el que se autenticará el servicio de timbrado.
- passwd *
- Indica la contraseña del usuario con el que se autenticará al servicio de timbrado.
- uuid *
- UUID del comprobante que se desea recuperar.
Ejemplo de petición de cfdiRetPorUUID
Ejemplo de petición para cancelar un XML de retenciones. Se puede observar los parámetros necesarios para el servicio.
+Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tim="timbradoRet.ws.pade.mx">
<soapenv:Header/>
<soapenv:Body>
<tim:cfdiRetPorUUID>
<contrato>CONTRATO</contrato>
<usuario>USUARIO</usuario>
<passwd>CONTRASEÑA</passwd>
<uuid>UUID</uuid>
</tim:cfdiRetPorUUID>
</soapenv:Body>
</soapenv:Envelope>;
Ejemplo de respuesta
+Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:cfdiRetPorUUIDResponse xmlns:ns2="timbradoRet.ws.pade.mx">
<return><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<servicioConsulta>
<contrato>CONTRATO</contrato>
<consultaOk>true</consultaOk>
<codigo>0</codigo>
<xmlBase64>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cmV0ZW5jaW9uZXM6UmV0ZW5jaW9uZcmVGaXNjYWxEaWdpdGFsL1RpbWJyZUZpc2NhbE
RpZ2l0YWx2MTEueHNkIiB4bWxuczp0ZmQ...9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9UaW1icmVGaXNjYWxEaWdpdGFsIi8+PC9yZXRlbmNpb25lczpDb21wbGVtZW50bz48L3J
ldGVuY2lvbmVzOlJldGVuY2lvbmVzPg==</xmlBase64>
</servicioConsulta>]]></return>
</ns2:cfdiRetPorUUIDResponse>
</S:Body>
</S:Envelope>
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo |
Descripción |
contrato |
Indica el código de contrato del usuario. |
consultaOk |
Los valores posibles son “true” o “false” y determina si la invocación al webservice fue exitosa. Es importante observar que el valor de este atributo no refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener “true” aquí pero error en cada cancelación individual. Obtendremos un valor de false en este atributo en caso de un error mayor, por ejemplo, que el contrato de servicios esté expirado, o el usuario tenga una contraseña incorrecta. |
codigo |
Código global de la invocación. Un valor de 0 (cero) indica que la invocación se dio exitosamente, o de otra forma se indica la razón del problema. |
xmlBase64 |
Es el XML codificado en base64 que se requiere recuperar, mismo que deberá estar previamente llenado con la estructura correcta. |
Parámetros
- El urlquery de la petición en REST deberá ser del tipo “POST” y contener al menos el parámetro “contrato” con el código de contrato del usuario como “Query Parameter”.
- También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se detallan en la sección “Opciones del Servicio” (de manera opcional).
- Las credenciales (usuario y contraseña) deberán ir en el HEADERS de la petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en Base64.
- El tipo de contenido (atributo Content-Type) para timbrado será “application/xml”.
- El XML deberá enviarse en el “Body” de la petición.
El contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se obtienen a través del registro de la plataforma Pade.
NOTA: Para conocer las guías de llenado de los diferentes tipos de comprobante puede consultar la información oficial que el SAT ofrece.
Ejemplo de petición de timbradoRet
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
- contrato *
- Indica el código de contrato del usuario con el que se realizará la petición.
- prueba
- Parámetro para realizar la petición en modo prueba, deberá especificarse como true o false, en caso de no poner el parámetro se tomará como false.
- opciones
- Arreglo de cadenas, en caso de requerir alguna opción del servicio, ir a la sección de opciones del servicio de timbrado
Headers
Body
Ejemplo de respuesta:
+Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:timbradoRetResponse xmlns:ns2="timbradoRet.ws.pade.mx">
<return><![CDATA[<?xml version="1.0" encoding="UTF-8"?><servicioTimbrado>
<id>1162f744-b8dc-4dc2-982c-8a4d932acabb</id>
<timbradoOk>true</timbradoOk>
<contrato>CONTRATO</contrato>
<codigo>0</codigo>
<mensaje>*** generado en modo de pruebas ***</mensaje>
<version>1.1</version>
<UUID>UUID</UUID>
<FechaTimbrado>2024-12-10T17:48:14</FechaTimbrado>
<selloCFD>EhKXUp50Ckyv...580p7A7EoW68jodiNYsssvAg==</selloCFD>
<noCertificadoSAT>CERTIFICADO SAT</noCertificadoSAT>
<selloSAT>M42lcr8FyKxfLMZDPRIdWLhtB8APUJT9yWSM4gVeZNGswlod/cbrB5rOTnY5Q/EyAXn2FkD5DHmySMiGV+QeFyq...
7tnz/aF99SvNo8bF8bJyIJxZtckubikQ==</selloSAT>
<xmlBase64>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cmV0ZW5jaW9uZXM6UmV0ZW5jaW9uZXMgeG1sb
nM6cmV0ZW5jaW9uZXM9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9lc3F1ZW1hcy9yZXRlbmNpb25wYWdvLzIiIHhtbG5zOnBhZ29zYWV4
dHJhbmplcm9zPSJodHRwOi8vd3d3LnNhdC5nb2IubXgvZXNxdWVtYXMvcmV0ZW5jaW9...hbERpZ2l0YWwgaHR0cDovL3d3dy5zYXQu
Z29iLm14L1RpbWJyZUZpc2NhbERpZ2l0YWwvVGltYnJlRmlzY2FsRGlnaXRhbHYxMS54c2QiLz48L3JldGVuY2lvbmVzOkNvbXBsZW1
lbnRvPjwvcmV0ZW5jaW9uZXM6UmV0ZW5jaW9uZXM+</xmlBase64>
</servicioTimbrado>]]></return>
</ns2:timbradoRetResponse>
</S:Body>
</S:Envelope>
Para los ejemplos de petición y respuesta del método timbradoRet solo se diferencía mediante el nodo <timbradoRetResponse>.
La descripción de los mismos se define a continuación:
Atributo |
Descripción |
id |
Identificador de la transacción interna, en formato UUID. Este valor es de uso interno, no está relacionado con niguna propiedad del XML o del Timbre Fiscal Digital. |
timbradoOk |
Indica si la operación de timbrado fue conducida exitosamente. Los valores posibles son “true”, que indica éxito; y “false”, que indica que el CFDI no pudo ser timbrado y en consecuencia no fue aceptado por el servicio. |
contrato |
Identificador único del contrato del cliente. Se regresa para fines informativos. |
codigo |
El código es un valor cuya función principal es indicar el error que fue detectado, en caso de haberlo. Cuando la transacción de timbrado fue exitosa (timbradoOk vale “true”) el código se regresa con un valor de 0 (cero) y de otra forma se regresa con el código de error específico definido por el SAT. Por otro lado, es posible que se acepte el certificado, pero con incidencias, lo que causará que se regrese un código aun cuando el atributo timbradoOk tenga valor de “true”. El código siempre pertenecerá al último error registrado por el servicio (en caso de que se hayan registrado más de uno). |
mensaje |
Este valor es un texto informativo. Es especialmente útil cuando ocurren errores en el procesamiento del CFDI. Cuando la transacción de timbrado fue exitosa, este valor viene vacío. Es probable que la respuesta del servicio incluya más de un mensaje de error, éstos serán separados por un carácter pipe (|). |
version |
Versión del Timbre Fiscal generado. A la fecha, el valor es 1.1. Este valor forma parte del elemento tfd:TimbreFiscalDigital dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa. |
UUID |
Folio fiscal asignado al CFDI. Este valor forma parte del elemento < tfd:TimbreFiscalDigital > dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa.sa.
|
FechaTimbrado |
Fecha de generación del Timbre Fiscal Digital. Este valor forma parte del elemento < tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa. |
selloCFD |
Sello del CFDI. Este valor forma parte del elemento < tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa.
|
noCertificadoSAT |
Número de certificado del SAT. Este valor forma parte del elemento < tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa.
|
selloSAT |
Sello del timbre fiscal digital. Este valor forma parte del elemento < tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente cuando la transacción de timbrado es exitosa.
|
xmlBase64 |
String codificado en Base 64 que contiene el documento XML timbrado. Este valor se incluye solamente cuando la transacción de timbrado es exitosa. |
Parámetros
- El urlquery de la petición en REST deberá ser del tipo “GET”.
- También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se detallan en la sección “Opciones del Servicio” (de manera opcional).
- Las credenciales (usuario y contraseña) deberán ir en el HEAD de la petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en Base64.
El contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se obtienen a través del registro de la plataforma Pade.
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
- contrato *
- Indica el código de contrato del usuario con el que se realizará la petición.
- rfcEmisor *
- Indica el código identificador único del comprobante.
- arregloUUID *
- Arreglo de Strings con el UUID, motivo de cancelación y opcionalmente el folio fiscal que sustituye el UUID que se está cancelando.
Esta información separada por el carácter pipe (|):
- opciones
- En caso de requerir alguna opción del servicio, ir a la sección de opciones del servicio de cancelación.
En el caso de no tener el Certificado de sello digital (CSD) en la base de datos de Prodigia, deberá enviar los siguientes parámetros
- certBase64
- Certificado con el cual fueron emitidos los CFDI’s a cancelar en formato Base64.
- keyBase64
- Llave privada con el cual fueron emitidos los CFDI’s a cancelar en formato Base64.
- keyPass
- Contraseña de la llave privada.
En caso de que se tenga el CSD en nuestra base de datos deberá enviar la siguiente opción:
- Opcion
- CERT_DEFAULT Esta opción toma el CSD cargado en base de datos.
Ejemplo de petición de cancelarRet:
Params
Headers
Ejemplo de respuesta
+Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:cancelarRetResponse xmlns:ns2="timbradoRet.ws.pade.mx">
<return><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<servicioCancel>
<statusOk>true</statusOk>
<rfc>RFC</rfc>
<codigo>0</codigo>
<procesados>1</procesados>
<cancelados>0</cancelados>
<cancelaciones>
<cancelacion>
<uuid>UUID</uuid>
<codigo>1202</codigo>
<mensaje>UUID Previamente cancelado</mensaje>
</cancelacion>
</cancelaciones>
<acuseCancelBase64>PD94bWwgdmVyc2lvbj0iwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIEZlY2hhPSIyMDI0LTEyLTEwVDEzOjQwOjIzLjk0NjQxNyIgUm
ZjRW1pc29yPSJBVUFHODQwODA2TFM5IiBX...Nb2R1bHVzPjxFeHBvbmVudD5BUUFCPC9FeHBvbmVudD48L1JTQUtleVZhbHVlP
jwvS2V5VmFsdWU+PC9LZXlJbmZvPjwvU2lnbmF0dXJlPjwvQWN1c2U+</acuseCancelBase64>
</servicioCancel>]]></return>
</ns2:cancelarRetResponse>
</S:Body>
</S:Envelope>
Para los ejemplos de petición y respuesta del método cancelarRet solo se diferencía mediante el nodo < cancelarRetResponse>.
La descripción de los atributos se define a continuación:
Atributo |
Descripción |
statusOk |
Los valores posibles son “true” o “false”, y determina si la invocación al webservice fue exitosa. Es importante observar que el valor de este atributo no refleja el valor de cada cancelación individual. Por ejemplo podemos obtener “true” aquí pero error en cada cancelación individual. Obtendremos un valor de false en este atributo en caso de un error mayor, por ejemplo que el contrato de servicios esté expirado, o el usuario tenga una contraseña incorrecta. |
rfc |
RFC del emisor de los CFDI. Se proporciona para fines informativos. |
codigo |
Mensaje descriptivo del error en caso que el valor de código sea diferente de cero. |
cancelaciones |
Nodo que contiene la lista con los resultados de las operaciones individuales sobre cada UUID. |
cancelacion |
Nodo que contiene el resultado de una cancelación individual. |
uuid |
UUID que fue procesado. |
codigo |
Código generado por el SAT con el resultado de la cancelación. La lista de códigos individuales se muestra al final del documento en la tabla “Códigos de Resultado de Cancelación”.
|
mensaje |
Mensaje opcional adicional con la descripción del problema (en caso de haberlo). |
Parámetros
- El urlquery de la petición en REST deberá ser del tipo “GET”.
- También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se detallan en la sección “Opciones del Servicio” (de manera opcional).
- Las credenciales (usuario y contraseña) deberán ir en el HEAD de la petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en Base64.
El contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se obtienen a través del registro de la plataforma Pade.
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
- contrato *
- Indica el código de contrato del usuario con el que se realizará la petición.
- uuid *
- UUID del comprobante que se desea recuperar.
Ejemplo de petición de acuseCancelacionRet
Header
Params
Ejemplo de respuesta
+Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:acuseCancelacionRetResponse xmlns:ns2="timbradoRet.ws.pade.mx">
<return><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<servicioConsulta>
<contrato>CONTRATO</contrato>
<consultaOk>true</consultaOk>
<codigo>0</codigo>
<xmlBase64>PD94bWwgdmVyc2lvbj0iMS4wIj8+PEFjdXNlIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWovL3d3dy5...
NkxTOSIgV29ya1Byb2Nlc3NJZD0iZTgyZWQ0OTYtY2IwZC00YjAwLTllZWYtZmQzMTcwYTQ5YzU5IiB4bWxucz0iaHR0cDovL3d3dy5zYXQuZ2FzL3JldGVuY2NlPg==
</xmlBase64>
</servicioConsulta>]]></return>
</ns2:acuseCancelacionRetResponse>
</S:Body>
</S:Envelope>
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo |
Descripción |
contrato |
Indica el código de contrato del usuario. |
consultaOk |
Los valores posibles son “true” o “false” y determina si la invocación al webservice fue exitosa. Es importante observar que el valor de este atributo no refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener “true” aquí pero error en cada cancelación individual. Obtendremos un valor de false en este atributo en caso de un error mayor, por ejemplo, que el contrato de servicios esté expirado, o el usuario tenga una contraseña incorrecta. |
codigo |
Código global de la invocación. Un valor de 0 (cero) indica que la invocación se dio exitosamente, o de otra forma se indica la razón del problema. |
xmlBase64 |
Es el XML codificado en base64 que se requiere recuperar, mismo que deberá estar previamente llenado con la estructura correcta. |
Parámetros
- El urlquery de la petición en REST deberá ser del tipo “GET”.
- También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se detallan en la sección “Opciones del Servicio” (de manera opcional).
- Las credenciales (usuario y contraseña) deberán ir en el HEAD de la petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en Base64.
El contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se obtienen a través del registro de la plataforma Pade.
Dentro de params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
- contrato *
- Indica el código de contrato del usuario con el que se realizará la petición.
- uuid *
- UUID del comprobante que se desea recuperar.
Ejemplo de petición de cfdiRetPorUUID
Header
Params
Ejemplo de respuesta
+Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:cfdiRetPorUUIDResponse xmlns:ns2="timbradoRet.ws.pade.mx">
<return><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<servicioConsulta>
<contrato>CONTRATO</contrato>
<consultaOk>true</consultaOk>
<codigo>0</codigo>
<xmlBase64>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cmV0ZW5jaW9uZXM6UmV0ZW5jaW9uZcmVGaXNjYWxEaWdpdGFsL1RpbWJyZUZpc2NhbE
RpZ2l0YWx2MTEueHNkIiB4bWxuczp0ZmQ...9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9UaW1icmVGaXNjYWxEaWdpdGFsIi8+PC9yZXRlbmNpb25lczpDb21wbGVtZW50bz48L3J
ldGVuY2lvbmVzOlJldGVuY2lvbmVzPg==</xmlBase64>
</servicioConsulta>]]></return>
</ns2:cfdiRetPorUUIDResponse>
</S:Body>
</S:Envelope>
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo |
Descripción |
contrato |
Indica el código de contrato del usuario. |
consultaOk |
Los valores posibles son “true” o “false” y determina si la invocación al webservice fue exitosa. Es importante observar que el valor de este atributo no refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener “true” aquí pero error en cada cancelación individual. Obtendremos un valor de false en este atributo en caso de un error mayor, por ejemplo, que el contrato de servicios esté expirado, o el usuario tenga una contraseña incorrecta. |
codigo |
Código global de la invocación. Un valor de 0 (cero) indica que la invocación se dio exitosamente, o de otra forma se indica la razón del problema. |
xmlBase64 |
Es el XML codificado en base64 que se requiere recuperar, mismo que deberá estar previamente llenado con la estructura correcta. |
Códigos de respuesta (TIMBRADO Y CANCELACIÓN)
Código |
Descripción |
0 |
Timbrado exitoso. |
1 |
El usuario del webservice no existe o proporcionó una contraseña incorrecta. |
2 |
Contrato inválido. El contrato está expirado, o no cuenta con servicio de timbrado. |
3 |
Parámetro inválido. Uno de los parámetros de la operación del webservice es incorrecto o hace falta. |
4 |
Ocurrió un error interno durante la operación. Por favor inténtelo mas tarde. |
5 |
Off-line por mantenimiento. |
7 |
El servicio de CancelaciónSAT no está disponible, intente más tarde. |
20 |
El usuario no cuenta con un certificado default. |
21 |
CFDI sin cancelar. Aplica a la consulta de acuse de cancelación. |
201 |
Solicitud de cancelación recibida. |
202 |
UUID Previamente cancelado. |
203 |
UUID No encontrado o no corresponde en el emisor. |
204 |
UUID No aplicable para cancelación. |
205 |
UUID No existe. |
206 |
UUID no corresponde a un CFDI del Sector Primario. |
300 |
Usuario No Valido. |
301 |
XML mal formado. |
302 |
Sello mal formado o inválido. |
303 |
Sello no corresponde. |
304 |
Certificado revocado o caduco. |
305 |
Certificado Inválido. |
307 |
El comprobante ya existe en la base de datos. |
310 |
Uso de certificado de e.firma inválido. |
311 |
Clave de motivo de cancelación no válida. |
312 |
UUID no relacionado de acuerdo a la clave de motivo de cancelación . |
401 |
Fecha y hora de generación fuera de rango. |
402 |
El contribuyente no se encuentra en la LCO o la validez de obligaciones se reporta como negativa. |
Códigos para los estatus de cancelación.
Código |
Descripción |
1201 |
Solicitud de cancelación recibida. |
1202 |
UUID Previamente cancelado. |
1203 |
No encontrado corresponde al emisor. |
1205 |
UUID No existe. |
1300 |
Autenticación no válida. |
1301 |
XML mal formado. |
1302 |
Estructura de folio no válida |
1303 |
Estructura de RFC no válida |
1304 |
Estructura de fecha no válida |
1305 |
Certificado no corresponde al emisor |
1306 |
Certificado no vigente. |
1307 |
Uso de e.firma no permitido. |
1308 |
Certificado revocado o caduco. |
1309 |
Firma mal formada o inválida. |
1310 |
Clave de motivo de cancelación no válida. |
1311 |
UUID no relacionado de acuerdo a la clave de motivo de cancelación |