Skip to content

Instantly share code, notes, and snippets.

@ghecho
Forked from rnstux/generar_cadenaTFD.php
Created July 26, 2017 07:25
Show Gist options
  • Save ghecho/22eb74c41d0371b905caa476e9f188da to your computer and use it in GitHub Desktop.
Save ghecho/22eb74c41d0371b905caa476e9f188da to your computer and use it in GitHub Desktop.
<?php
$cfdi = '<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:nomina="http://www.sat.gob.mx/nomina" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd http://www.sat.gob.mx/nomina http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina11.xsd" version="3.2" fecha="2015-11-06T18:15:32" folio="123 - 1063" serie="A" subTotal="24113.81" descuento="0.00" motivoDescuento="Deducciones de nómina" total="20000.00" Moneda="MXN" condicionesDePago="Contado" NumCtaPago="No identificado" tipoDeComprobante="egreso" noCertificado="00001000000307566366" certificado="MIIFNzCCBB+gAwIBAgIUMDAwMDEwMDAwMDAzMDc1NjYzNjYwDQYJKoZIhvcNAQELBQAwggGKMTgwNgYDVQQDDC9BLkMuIGRlbCBTZXJ2aWNpbyBkZSBBZG1pbmlzdHJhY2nDs24gVHJpYnV0YXJpYTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMR8wHQYJKoZIhvcNAQkBFhBhY29kc0BzYXQuZ29iLm14MSYwJAYDVQQJDB1Bdi4gSGlkYWxnbyA3NywgQ29sLiBHdWVycmVybzEOMAwGA1UEEQwFMDYzMDAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBEaXN0cml0byBGZWRlcmFsMRQwEgYDVQQHDAtDdWF1aHTDqW1vYzEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTUwMwYJKoZIhvcNAQkCDCZSZXNwb25zYWJsZTogQ2xhdWRpYSBDb3ZhcnJ1YmlhcyBPY2hvYTAeFw0xNTA3MTAxODUwNTBaFw0xOTA3MTAxODUwNTBaMIH/MTYwNAYDVQQDEy1TT0xVQ0lPTkVTIEVTVFJBVEVHSUNBUyAgQ09PUkRJTkFEQVMgU0EgREUgQ1YxNjA0BgNVBCkTLVNPTFVDSU9ORVMgRVNUUkFURUdJQ0FTICBDT09SRElOQURBUyBTQSBERSBDVjE2MDQGA1UEChMtU09MVUNJT05FUyBFU1RSQVRFR0lDQVMgIENPT1JESU5BREFTIFNBIERFIENWMSUwIwYDVQQtExxTRUMxNTA2MTBKQzIgLyBTQVNHODEwNDI2ODMwMR4wHAYDVQQFExUgLyBTQVNHODEwNDI2TU9DTk5MMDgxDjAMBgNVBAsTBVNFTExPMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWt3l/NCsVgyMH640Lm+b1aAIcJC38QqSzNlPVztgPcB9uPh9vQWq9znUP5dezaUZUgjiYHXh9rbfvs0ThJ9k9Qq0bQb31B2E59vynvqtH1jAhi1mKCFAtQcru53BK7Xi9Zhlia1zEAEBFB36oNN5lHEQOLXj17EwEAaU+tfFDCmRgqV1xGqZpjgR6M3r8KWEgB+w9jI/uyszn6i5ZRNzgz1mKnn7d7LSp5cbo7QX+5l1NLc3cUWYnBzXH9WZTVxPKGkFNIaS+T+SsVfxOLnEogm1aDXMjE1jSYNE+As5fxUVUetgownUMpcJ9H6dALra3NxscQf4qQLmhYMeBsSgQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAQEA0q8wYx+s2F2Tb83+jJ+MmDNhrknHpmxQ67RRbA8DA0qQDS/4Bw6ZScJpCLKa0E4kw6m1vEXU+1zvX+e8ciXrvS899rnGV2e1A5X0+xGK/CK3e4yraUBY3XXU/8oijj/HiGL6d8CXV3g85OgEpY1i5oCKU+dT5orO8OpruKmz92XVwwJMG1XhcJqpbf3LGn0Pgb3p05uEh+MatRApF/LMYGhEe1lQ6f5L3bX7wyKiV8OI6iwDjHGECgVkH2LNtPle7IdI0ZIWcMwZtLJCvamUsaVOjxiZ5/+hqqT99490N6rnTYSwugE6KCOIsVHOMFrJOOMYdSPADglxTqMpvSK/Fg==" formaDePago="PAGO EN UNA SOLA EXHIBICIÓN" metodoDePago="Transferencia Electrónica" LugarExpedicion="México, Distrito Federal, México." sello="VumEZdGp8WRavUcxLXt1wMXq0RR5KJFzXVolMeUe0T2EOq7AQL8wMTuNxzzQIw+T0xwWjdaBTxyKr0LfvS9lm2YZhLn6dBTscQle/6+KLCAT35aqOMSmFkRgbiqIAAKpGpn4lELVPhXcjMBanluEKg+gnjaH5zMfZeXUcD5pPdnxPmxxjXP6jAo+0pqVZ0Td15bbqHu0YCRQuaZ1J7glTSnQMtXxt8TfdQCpwkGen8CZ8yzFklrKrGoB2qKRkSV8eLj50X7lKuuLaantmrPNTklUtFQ9GLCBQ7158VBQVXCBT4Hmkv4n/npZV4SBHtGm0j0DOXEEgVIYQkTOnMK6+A==">
<cfdi:Emisor nombre="SOLUCIONES ESTRATEGICAS COORDINADAS SA DE CV" rfc="SEC150610JC2">
<cfdi:RegimenFiscal Regimen="REGIMEN GENERAL DE LEY PERSONAS MORALES"/>
</cfdi:Emisor>
<cfdi:Receptor nombre="AVENDAÑO MARQUEZ MARIA DE JESUS" rfc="AEMJ580402RK6">
</cfdi:Receptor>
<cfdi:Conceptos>
<cfdi:Concepto cantidad="1" unidad="Servicio" descripcion="Pago de Nómina" valorUnitario="24113.81" importe="24113.81"/>
</cfdi:Conceptos>
<cfdi:Impuestos totalImpuestosRetenidos="4113.81">
<cfdi:Retenciones>
<cfdi:Retencion impuesto="ISR" importe="4113.81"/>
</cfdi:Retenciones>
</cfdi:Impuestos>
<cfdi:Complemento>
<nomina:Nomina Version="1.1" NumEmpleado="456" CURP="AEMJ580402MDGVRS07" TipoRegimen="9" NumSeguridadSocial="00000000001" FechaPago="2015-10-15" FechaInicialPago="2015-10-01" FechaFinalPago="2015-10-31" NumDiasPagados="31" Puesto="Sin asignar" PeriodicidadPago="Mensual" SalarioBaseCotApor="777.86" SalarioDiarioIntegrado="813.02">
<nomina:Percepciones TotalGravado="24113.81" TotalExento="0.00">
<nomina:Percepcion TipoPercepcion="001" Clave="016" Concepto="Ingreso por Asimilados a Salarios" ImporteGravado="24113.81" ImporteExento="0.00"/>
</nomina:Percepciones>
<nomina:Deducciones TotalGravado="4113.81" TotalExento="0.00">
<nomina:Deduccion TipoDeduccion="002" Clave="009" Concepto="ISR" ImporteGravado="4113.81" ImporteExento="0.00"/>
</nomina:Deducciones>
</nomina:Nomina>
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" version="1.0" UUID="03DAA485-6FE4-4DE5-8C77-FD5652B1DF02" FechaTimbrado="2015-11-06T18:15:32" selloCFD="VumEZdGp8WRavUcxLXt1wMXq0RR5KJFzXVolMeUe0T2EOq7AQL8wMTuNxzzQIw+T0xwWjdaBTxyKr0LfvS9lm2YZhLn6dBTscQle/6+KLCAT35aqOMSmFkRgbiqIAAKpGpn4lELVPhXcjMBanluEKg+gnjaH5zMfZeXUcD5pPdnxPmxxjXP6jAo+0pqVZ0Td15bbqHu0YCRQuaZ1J7glTSnQMtXxt8TfdQCpwkGen8CZ8yzFklrKrGoB2qKRkSV8eLj50X7lKuuLaantmrPNTklUtFQ9GLCBQ7158VBQVXCBT4Hmkv4n/npZV4SBHtGm0j0DOXEEgVIYQkTOnMK6+A==" noCertificadoSAT="00001000000200365214" selloSAT="jLD6agfarifkvcwey3yureWhrpVrExu0u6AFqPxknrC6uCQDaFk/pbvdJ0Nm6c8odLIOmjX9gGqtyvEcDjMcCJTkABF7pejVxJlttqwXRv1g1fq0vqcr4nbgnJYEVlfQPwwEpBFl0X4QWpmgDvH7ZUpDB9Oi96aOj1dd5HO81Xk="/>
</cfdi:Complemento>
</cfdi:Comprobante>
';
echo generarCadenaTFD($cfdi);
function generarCadenaTFD($cfdi){
$object = simplexml_load_string($cfdi);
$object->registerXPathNamespace('tfd', 'http://www.sat.gob.mx/TimbreFiscalDigital');
$timbre = $object->xpath('//cfdi:Complemento/tfd:TimbreFiscalDigital');
if(!$timbre){
die("El XML no contiene el nodo TFD.");
}
return (string) "||1.0|" . $timbre[0]["UUID"] . "|" . $timbre[0]["FechaTimbrado"] . "|" . $timbre[0]["selloCFD"] . "|" . $timbre[0]["noCertificadoSAT"] . "||";
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment