Cancelación Pantalla de ejemplo para desarrollar la cancelación Tabla de codigos de acuse SAT Validación de la cancelación del CFD 201 UUID Cancelado exitosamente 202 UUID Previamente cancelado 203 UUID No corresponde el R FC del emisor y de quien solicita la cancelación. 205 UUID No existe Validación de timbrado y cancelación del CFD 301 XML m al formado 302 S ello mal formado o inválido 303 S ello no corresponde a emisor 304 Certificado revocado o caduco 305 La fecha de emisión no esta dentro de la vigencia del CSD del Emisor 306 EL certificado no es de tipo CSD 307 El CFDI contiene un timbre previo 308 Certificado no expedido por el S AT Parámetros a enviar • Usuario • Contraseña • RFC • Certificado publico ( igual que en el CFDi) • Xml de cancelacion (ver R ef 1) • UUID Array String • Sello o firma (Ver R ef 2) Referencia 1 <Cancelacion xmlns="http://cancelacfd.sat.gob.mx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" Fecha="2015-‐0 4-‐2 0T15:53:30" RfcEmisor="SMD040115EL5"><Folios><UUID>F2511526-‐9 EF8-‐4 905-‐9FB4-‐5 10AF8724E2D</UUID></Folios></Cancelacion> Referencia 2 1.-‐ generar xml de c ancelacion <Cancelacion xmlns="http://cancelacfd.sat.gob.mx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" Fecha="2015-‐0 4-‐2 0T15:53:30" RfcEmisor="SMD040115EL5"><Folios><UUID>F2511526-‐9 EF8-‐4 905-‐9FB4-‐5 10AF8724E2D</UUID></Folios></Cancelacion> 2.-‐ sacar un Hash en SHA1 de e l xml anterior y c onvertir e l resultado del Hash e n base64 Eje c#: byte[] hashdata = sha1(xmlcancel.Text); string digestvalue = Convert.ToBase64String(hashdata); Eje PHP: $digestvalue = b ase64_encode(hash('sha1',$datos,true)); 3.-‐armar este xml e incluir e l resultado del Hash <SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance"><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-‐xml-‐c 14n-‐ 20010315"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-‐ sha1"></SignatureMethod><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-‐ signature"></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod><DigestValue> Resultado del Hash en base64 </DigestValue></Reference></SignedInfo> 4.-‐ este ultimo xml se va a firmar c on la .key y obtendremos asi el sello (es e l mismo proceso de firmar c omo e l que hacemos e n e l c fdi) Notas: Tener mucho c uidado que los xml aquí mostrados no tengan doble e spacio y e stén formados tal y como se muestra obviamente cambiando los valores c orrespondientes Se e xige que e stos xml sean canonizados Ref: https://en.wikipedia.org/wiki/Canonical_XML Ejemplo de Request • • • • • • • POST /prometheus/ws_cancel.php?wsdl HTTP/1.1 Content-‐Type: text/xml; charset=ISO-‐8859-‐1 SOAPAction: "” Host: fprontorojo.n5nitro.com Content-‐Length: 1163 Accept-‐Encoding: gzip, deflate • <?xml version="1.0" encoding="ISO-‐8859-‐1"?><SOAP-‐ENV:Envelope SOAP-‐ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-‐ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns:SOAP-‐ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-‐ ENV:Body><ns4336:cancelacion xmlns:ns4336="http://tempuri.org"><rfc xsi:type="xsd:string"></rfc><usuario xsi:type="xsd:string">usuario </usuario><password xsi:type="xsd:string”>Contraseña</password><uuid xsi:type="xsd:string"></uuid><certificado xsi:type="xsd:string">EL CERTIFICADO VA EN BASE64 COMO EN EL CFDI</certificado><xmlcancelacion xsi:type="xsd:string”><Cancelacion xmlns="http://cancelacfd.sat.gob.mx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐ instance" Fecha="2015-‐0 4-‐2 0T15:53:30" RfcEmisor="SMD040115EL5"><Folios><UUID>F2511526-‐9 EF8-‐4 905-‐9 FB4-‐ 510AF8724E2D</UUID></Folios></Cancelacion></xmlcancelacion><firma xsi:type="xsd:string">LA FIRMA VIENE EN BASE 64</firma></ns4336:cancelacion></SOAP-‐ENV:Body></SOAP-‐ENV:Envelope> Acuse exitoso SAT • • EstatusUUID = 200 cancelacion exitosa <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><CancelaCFDResponse xmlns="http://cancelacfd.sat.gob.mx"><CancelaCFDResult Fecha="2014-‐ 08-‐20T16:58:37.7358421" RfcEmisor="FAC130626CP7"><Folios><UUID>D1988F23-‐DBEF-‐41D2-‐8441-‐ 6517726EF151</UUID><EstatusUUID>200</EstatusUUID></Folios><Signature Id="SelloSAT" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-‐xml-‐c14n-‐ 20010315"/><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-‐more#hmac-‐sha512"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/TR/1999/REC-‐xpath-‐19991116"><XPath> not(ances tor-‐or-‐self::*[local-‐ name()='Signature'])</XPath></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><DigestValue>zLjl/afSHHZxgKCOBPRKIMuIQ4gQ237cVMTKnHcuUO8xtKtqd45XcOlPaMS bmNr59HsdhHJhtKI6wVFcsNqWYQ==</DigestValue></Reference></SignedInfo><SignatureValue>DxGxe4i0zKbTGX9Z5/u6f3JT1QY0sgrGyhHVYHtyO HTpUdrOhBOmCV34sCVTPWTNKsqZNfFAettHMFsRasP96Q==</SignatureValue><KeyInfo><KeyName>00001088888800000003</KeyName><KeyVal ue><RSAKeyValue><Modulus>5W8PNugL/HbQV7L7H0PPfI4123iMzUsUXa2DdBKVemyGWGFdjhnzs+LLdU4BnKne 2UMBHPrOE0n2rK44DfdTFLBgMhR hzLsstiaC4rMslW5AWl/dXwgva2EVVhFAuTP31LAGV5shkbPbp75ZCreFE00r14oQv4EpmZuoxhz4yEM=</Modulus><Exponent>AQAB</Exponent></RS AKeyValue></KeyValue></KeyInfo></Signature></CancelaCFDResult></CancelaCFDResponse></s:Body></s:Envelope> • • EstatusUUID = 202 previamente cancelado <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><CancelaCFDResponse xmlns="http://cancelacfd.sat.gob.mx"><CancelaCFDResult Fecha="2014-‐ 08-‐20T16:58:37.7358421" RfcEmisor="FAC130626CP7"><Folios><UUID>D1988F23-‐DBEF-‐41D2-‐8441-‐ 6517726EF151</UUID><EstatusUUID>202</EstatusUUID></Folios><Signature Id="SelloSAT" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-‐xml-‐c14n-‐ 20010315"/><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-‐more#hmac-‐sha512"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/TR/1999/REC-‐xpath-‐19991116"><XPath> not(ances tor-‐or-‐self::*[local-‐ name()='Signature'])</XPath></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><DigestValue>zLjl/afSHHZxgKCOBPRKIMuIQ4gQ237cVMTKnHcuUO8xtKtqd45XcOlPaMS bmNr59HsdhHJhtKI6wVFcsNqWYQ==</DigestValue></Reference></SignedInfo><SignatureValue>DxGxe4i0zKbTGX9Z5/u6f3JT1QY0sgrGyhHVYHtyO HTpUdrOhBOmCV34sCVTPWTNKsqZNfFAettHMFsRasP96Q==</SignatureValue><KeyInfo><KeyName>00001088888800000003</KeyName><KeyVal ue><RSAKeyValue><Modulus>5W8PNugL/HbQV7L7H0PPfI4123iMzUsUXa2DdBKVemyGWGFdjhnzs+LLdU4BnKne 2UMBHPrOE0n2rK44DfdTFLBgMhR hzLsstiaC4rMslW5AWl/dXwgva2EVVhFAuTP31LAGV5shkbPbp75ZCreFE00r14oQv4EpmZuoxhz4yEM=</Modulus><Exponent>AQAB</Exponent></RS AKeyValue></KeyValue></KeyInfo></Signature></CancelaCFDResult></CancelaCFDResponse></s:Body></s:Envelope> Acuse mensaje de error SAT • <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><CancelaCFDResponse xmlns="http://cancelacfd.sat.gob.mx"><CancelaCFDResult Fecha="2014-‐ 08-‐20T17:19:29.4935372" RfcEmisor="FAC130626CP7"><Folios><UUID>D1988F23-‐DBEF-‐41D2-‐8441-‐ 6517726EF150</UUID><EstatusUUID>205</EstatusUUID></Folios><Signature Id="SelloSAT" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-‐xml-‐c14n-‐ 20010315"/><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-‐more#hmac-‐sha512"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/TR/1999/REC-‐xpath-‐19991116"><XPath> not(ances tor-‐or-‐self::*[local-‐ name()='Signature'])</XPath></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><DigestValue>6CjwEKniVa/6st3a1tb0LiIX/Mpo7PPVuGOYfkGNSQ8ypuHSuiWPtUg5Kv8B J6C/UbMMXZ4wSsMZZ5o0nVl59A==</DigestValue></Reference></SignedInfo><SignatureValue>SpfzPCRB281LU9uM+iUMZ6ymPKTP944X5RGZGzlE BteKASbpEkJghKKUdiacjCxwD15O9TwTaCwp+uxQDAoDNg==</SignatureValue><KeyInfo><KeyName>00001088888800000003</ KeyName><KeyVal ue><RSAKeyValue><Modulus>5W8PNugL/HbQV7L7H0PPfI4123iMzUsUXa2DdBKVemyGWGFdjhnzs+LLdU4BnKne 2UMBHPrOE0n2rK44DfdTFLBgMhR hzLsstiaC4rMslW5AWl/dXwgva2EVVhFAuTP31LAGV5shkbPbp75ZCreFE00r14oQv4EpmZuoxhz4yEM=</Modulus><Exponent>AQAB</Exponent></RS AKeyValue></KeyValue></KeyInfo></Signature></CancelaCFDResult></CancelaCFDResponse></s:Body></s:Envelope>
© Copyright 2024