sábado, 17 de noviembre de 2018

Módulo cancelacion CFDi 2018 KIT DE DESARROLLO

Teoría Introductoria para el nuevo método de cancelación cfdi sat

Para descargar el módulo de cancelación 2018
Descarga el zip desde la página http://multifacturas.com

EJEMPLO DE COMO USAR EL NUEVO METODO DE CANCELACION 2018


METODO DE CANCELACION EN PHP ANTES DEL 1 DE NOVIEMBRE 2018

$datos['cfdi']= RUTA XML A CANCELAR;
$datos['PAC']['usuario'] = USUARIO RFC EN PANEL MULTIFACTURAS;
$datos['PAC']['pass'] =  CONTRASEÑA RFC EN PANEL MULTIFACTURAS;
$datos['PAC']['produccion'] = MODO DE PRUEBA O PRODUCCION //   [SI|NO]
$datos['conf']['cer'] = RUTA ARCHIVO .CER DEL CSD;
$datos['conf']['key'] = RUTA ARCHIVO .KEY DEL CSD;
$datos['conf']['pass'] = CONTRASEÑA DEL CSD
$datos['cancelar']=  SI ES CANCELAR EL VALOR ES 'SI';
$estado_cancelar=cfdi_cancelar($datos);   //FUNCION DEL KIT DE DESARROLLO QUE CANCELA EL XML CFDI

NUEVO METODO CANCELACION EN PHP APARTIR DEL 1 DE NOVIEMBRE 2018

En el nuevo metodo de cancelacion cambian algunas lineas de código en el archivo .ini y php, verificar por favor

Nombre del archivo php ejemplo_cancelar.php

$datos['PAC']['usuario'] = USUARIO RFC EN PANEL MULTIFACTURAS;
$datos['PAC']['pass'] =  CONTRASEÑA RFC EN PANEL MULTIFACTURAS;
$datos['modulo']="cancelacion2018";
$datos['accion']="cancelar";                                                  
$datos["produccion"]=MODO DE PRUEBA O PRODUCCION //   [SI|NO]
$datos["xml"]=RUTA XML A CANCELAR;
//$datos["uuid"]=UUDI DEL XML A CANCELAR;
$datos["rfc"] =RFC EMISOR DE LA FACTURA;
$datos["password"]=CONTRASEÑA DEL CSD;
$datos["b64Cer"]=RUTA ARCHIVO .CER DEL CSD EN BASE 64;
$datos["b64Key"]= RUTA ARCHIVO .KEY DEL CSD EN BASE 64;
$res = mf_ejecuta_modulo($datos);    //FUNCION QUE EJECUTA EL NUEVO MODULO DE CANCELACION



METODO DE CANCELACION EN ARCHIVOS .INI ANTES DEL 1 DE NOVIEMBRE 2018

cfdi=C:\SDK2\timbrados\ejemplo_arrendamiento.xml
cancelar=SI
[PAC]
usuario=DEMO700101XXX
pass=DEMO700101XXX
produccion=SI
[conf]
cer=C:\SDK2\certificados\lan7008173r5.cer.pem
key=C:\SDK2\certificados\lan7008173r5.key.pem
pass=12345678a


NUEVO METODO CANCELACION EN INI APARTIR DEL 1 DE NOVIEMBRE

Nombre del archivo php ejemplo_modulo_cancelacion.ini

modulo=cancelacion2018
accion=cancelar
b64Cer=C:\SDK2\certificados\lan7008173r5.cer.pem
b64Key=C:\SDK2\certificados\lan7008173r5.key.pem
password=12345678a
uuid=25d57a90-77cc-4fe2-acf6-67a3c2f2508d
rfc=LAN7008173R5
[PAC]
usuario=DEMO700101XXX
pass=DEMO700101XXX
produccion=NO

Respuesta del servicio de cancelar cfdi, Ya sea con archivos .ini o php la respuesta es la siguiente:


CAMPO
QUIEN LO ENVIA
VALOR
codigo_mf_numero
Multifacturas
valor  0 se recibio la peticion correctamente, valor 10 , no se reciibio la peticion correctamente
codigo_mf_texto
Multifacturas
valor OK si se recibio la peticion correctamento, VACIO si no se recibio la peticion correctamente
mensaje_original
SAT
Respuesta original del pac
acuse
SAT
acuse de cancelacion del sat en base 64
status
SAT
success
json_uuids
SAT
Lista de uuid pendientes de aceptar o cancelar
codigo_respuesta_sat
SAT
Código de respuesta del sat
codigo_respuesta_sat_texto
SAT
Código de respuesta del sat en texto
codigo_respuesta_sat_texto_descripcion
SAT
Código de respuesta del sat en texto
produccion
MULTIFACTURAS
Modo de produccion o en pruebas
ACCION
MULTIFACTURAS
Accion realizada, en este caso consultar


EJEMPLO DE RESPUESTA EN PHP

Array
(
   [codigo_mf_numero] => 0
   [codigo_mf_texto] => OK
   [mensaje_original] => {"data":{"acuse":"<?xml version=\"1.0\" encoding=\"utf-8\"?><Acuse xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Fecha=\"2018-11-08T12:52:41.2777841\" RfcEmisor=\"LAN7008173R5\"><Folios xmlns=\"http://cancelacfd.sat.gob.mx\"><UUID>61B06900-F440-4CBD-BBAA-433BD065AB83</UUID><EstatusUUID>201</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(ancestor-or-self::*[local-name()='Signature'])</XPath></Transform></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#sha512\" /><DigestValue>jJNBIDOwZXdTE1Mj8rpL0PVNAPfMcE8AwF8d7hUdFZn7rQJ4kFGMsopmpQeLj25t9LMNJ8KDHm7/NJlTrdSmoQ==</DigestValue></Reference></SignedInfo><SignatureValue>ewYcey6iGD3Hv5QL7ulkEEGpML6Hk5V+dJncn9b2zCLlIOKkBxURsS6CvoG9tIXa2yefCpBfa6UjXGbCPgVDmA==</SignatureValue><KeyInfo><KeyName>00001088888810000001</KeyName><KeyValue><RSAKeyValue><Modulus>vAr6QLmcvW6auTg7a+Ogm0veNvqJ30rD3j0iSAHxGzGVrg1d0xl0Fj5l+JX9EivD+qhkSY7pfLnJoObLpQ3GGZZOOihJVS2tbJDmnn9TW8fKUOVg+jGhcnpCHaUPq/Poj8I2OVb3g7hiaREORm6tLtzOIjkOv9INXxIpRMx54cw46D5F1+0M7ECEVO8Jg+3yoI6OvDNBH+jABsj7SutmSnL1Tov/omIlSWausdbXqykcl10BLu2XiQAc6KLnl0+Ntzxoxk+dPUSdRyR7f3Vls6yUlK/+C/4FacbR+fszT0XIaJNWkHaTOoqz76Ax9XgTv9UuT67j7rdTVzTvAN363w==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></Acuse>","uuid":{"61B06900-F440-4CBD-BBAA-433BD065AB83":"201"}},"status":"success"}
   [acuse] => PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48QWN1c2UgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgRmVjaGE9IjIwMTgtMTEtMDhUMTI6NTI6NDEuMjc3Nzg0MSIgUmZjRW1pc29yPSJMQU43MDA4MTczUjUiPjxGb2xpb3MgeG1sbnM9Imh0dHA6Ly9jYW5jZWxhY2ZkLnNhdC5nb2IubXgiPjxVVUlEPjYxQjA2OTAwLUY0NDAtNENCRC1CQkFBLTQzM0JEMDY1QUI4MzwvVVVJRD48RXN0YXR1c1VVSUQ+MjAxPC9Fc3RhdHVzVVVJRD48L0ZvbGlvcz48U2lnbmF0dXJlIElkPSJTZWxsb1NBVCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxTaWduZWRJbmZvPjxDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiIC8+PFNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI2htYWMtc2hhNTEyIiAvPjxSZWZlcmVuY2UgVVJJPSIiPjxUcmFuc2Zvcm1zPjxUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1JFQy14cGF0aC0xOTk5MTExNiI+PFhQYXRoPm5vdChhbmNlc3Rvci1vci1zZWxmOjoqW2xvY2FsLW5hbWUoKT0nU2lnbmF0dXJlJ10pPC9YUGF0aD48L1RyYW5zZm9ybT48L1RyYW5zZm9ybXM+PERpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTUxMiIgLz48RGlnZXN0VmFsdWU+akpOQklET3daWGRURTFNajhycEwwUFZOQVBmTWNFOEF3RjhkN2hVZEZabjdyUUo0a0ZHTXNvcG1wUWVMajI1dDlMTU5KOEtESG03L05KbFRyZFNtb1E9PTwvRGlnZXN0VmFsdWU+PC9SZWZlcmVuY2U+PC9TaWduZWRJbmZvPjxTaWduYXR1cmVWYWx1ZT5ld1ljZXk2aUdEM0h2NVFMN3Vsa0VFR3BNTDZIazVWK2RKbmNuOWIyekNMbElPS2tCeFVSc1M2Q3ZvRzl0SVhhMnllZkNwQmZhNlVqWEdiQ1BnVkRtQT09PC9TaWduYXR1cmVWYWx1ZT48S2V5SW5mbz48S2V5TmFtZT4wMDAwMTA4ODg4ODgxMDAwMDAwMTwvS2V5TmFtZT48S2V5VmFsdWU+PFJTQUtleVZhbHVlPjxNb2R1bHVzPnZBcjZRTG1jdlc2YXVUZzdhK09nbTB2ZU52cUozMHJEM2owaVNBSHhHekdWcmcxZDB4bDBGajVsK0pYOUVpdkQrcWhrU1k3cGZMbkpvT2JMcFEzR0daWk9PaWhKVlMydGJKRG1ubjlUVzhmS1VPVmcrakdoY25wQ0hhVVBxL1BvajhJMk9WYjNnN2hpYVJFT1JtNnRMdHpPSWprT3Y5SU5YeElwUk14NTRjdzQ2RDVGMSswTTdFQ0VWTzhKZyszeW9JNk92RE5CSCtqQUJzajdTdXRtU25MMVRvdi9vbUlsU1dhdXNkYlhxeWtjbDEwQkx1MlhpUUFjNktMbmwwK050enhveGsrZFBVU2RSeVI3ZjNWbHM2eVVsSy8rQy80RmFjYlIrZnN6VDBYSWFKTldrSGFUT29xejc2QXg5WGdUdjlVdVQ2N2o3cmRUVnpUdkFOMzYzdz09PC9Nb2R1bHVzPjxFeHBvbmVudD5BUUFCPC9FeHBvbmVudD48L1JTQUtleVZhbHVlPjwvS2V5VmFsdWU+PC9LZXlJbmZvPjwvU2lnbmF0dXJlPjwvQWN1c2U+
   [status] => success
   [uuid] => 61b06900-f440-4cbd-bbaa-433bd065ab83
   [codigo_respuesta_sat] => 201
   [codigo_respuesta_sat_texto] => UUID Cancelado exitosamente
   [codigo_respuesta_sat_texto_descripcion] => Se considera cancelado correctamente. Deberá aparecer con estatus Cancelado ante el SAT de 0 a 72 hrs posterior a la cancelación
   [produccion] => NO
   [accion] => cancelar
)

Ejemplo Consultar solicitudes pendiente de aceptacion o rechazo de cfdi para cancelacion (RECEPTOR)
Ejemplo Archivos .ini
(Nombre del archivo ejemplo ejemplo_cancelar_consultar.ini)

modulo=cancelacion2018
accion=consultar
rfc=LAN7008173R5
password=12345678a
[PAC]
usuario=DEMO700101XXX
pass=DEMO700101XXX
produccion=NO

Ejemplo en php
(Nombre del archivo ejemplo ejemplo_cancelar_consultar.php)

$datos['modulo']="cancelacion2018";
$datos['accion']="consultar";   
$datos["produccion"]="NO";                              
$datos["rfc"] ="LAN7008173R5";
$res = mf_ejecuta_modulo($datos);
print_r($res);

Respuesta del servicio de consulta de pendientes por aceptar o rechazar:
Ya sea con archivos .ini o php la respuesta es la siguiente


CAMPO
QUIEN LO ENVIA
VALOR
codigo_mf_numero
Multifacturas
valor  0 se recibio la peticion correctamente, valor 10 , no se reciibio la peticion correctamente
codigo_mf_texto
Multifacturas
valor OK si se recibio la peticion correctamento, VACIO si no se recibio la peticion correctamente
mensaje_original
SAT
Respuesta original del pac
status
SAT
success
json_uuids
SAT
Lista de uuid pendientes de aceptar o cancelar
codigo_respuesta_sat
SAT
Código de respuesta del sat
codigo_respuesta_sat_texto
SAT
Código de respuesta del sat en texto
codigo_respuesta_sat_texto_descripcion
SAT
Código de respuesta del sat en texto
produccion
MULTIFACTURAS
Modo de produccion o en pruebas
ACCION
MULTIFACTURAS
Accion realizada, en este caso consultar


EJEMPLO DE RESPUESTA EN PHP
Array
(
   [codigo_mf_numero] => 0
   [codigo_mf_texto] => OK
   [mensaje_original] => {"codStatus":"1100","message":"CA1100 - Se recibío la respuesta de la petición de forma exitosa.","data":{"uuid":["F9A90440-58C6-4B70-BFD7-6093675FA341","F6008226-31FE-4712-AB28-4F7662C52ECC","CA1CF6F8-B956-4873-BFD9-F57282689361","24FD615E-E276-462A-B91B-4AF99B3BE263","45192F10-5F4D-49E9-907B-2E5358D0568B","6A1E3742-7E57-7E57-7E57-C9E48645E202","6D962542-D517-4C19-AE2A-E10D4F2394C8","97A3B697-0BFE-43D1-8A0C-2AF7D0819FED","F3F77D76-67FD-46DF-80BC-8F07E21A9DA2"],"codEstatus":"1100"},"status":"success"}
   [status] => success
   [json_uuids] => ["F9A90440-58C6-4B70-BFD7-6093675FA341","F6008226-31FE-4712-AB28-4F7662C52ECC","CA1CF6F8-B956-4873-BFD9-F57282689361","24FD615E-E276-462A-B91B-4AF99B3BE263","45192F10-5F4D-49E9-907B-2E5358D0568B","6A1E3742-7E57-7E57-7E57-C9E48645E202","6D962542-D517-4C19-AE2A-E10D4F2394C8","97A3B697-0BFE-43D1-8A0C-2AF7D0819FED","F3F77D76-67FD-46DF-80BC-8F07E21A9DA2"]
   [codigo_respuesta_sat] => 1100
   [codigo_respuesta_sat_texto] => Se recibió la respuesta de la petición de forma exitosa
   [codigo_respuesta_sat_texto_descripcion] =>
   [produccion] => NO
   [accion] => consultar
)



Ejemplo Aceptar solicitudes pendiente de cancelación (RECEPTOR)
Ejemplo Archivos .ini
(Nombre del archivo ejemplo ejemplo_cancelar_aceptar.ini)

modulo=cancelacion2018
accion=aceptar
b64Cer=C:\SDK2\certificados\lan7008173r5.cer.pem
b64Key=C:\SDK2\certificados\lan7008173r5.key.pem
password=12345678a
uuid=25d57a90-77cc-4fe2-acf6-67a3c2f2508d
rfc=LAN7008173R5
xml=C:\SDK2\timbrados\cfdi_ejemplo_factura.xml
[PAC]
usuario=DEMO700101XXX
pass=DEMO700101XXX
produccion=NO

Ejemplo en php
(Nombre del archivo ejemplo ejemplo_cancelar_aceptar.php)

include_once "../../sdk2.php";
$datos['modulo']="cancelacion2018";
$datos['accion']="aceptar";//TAMBIEN SE PUEDE ENVIAR 'RECHAZAR'                                                    
$datos["produccion"]="NO";                              
$datos["rfc"] ="LAN7008173R5";
$datos["password"]="12345678a";
$datos["uuid"]="25d57a90-77cc-4fe2-acf6-67a3c2f2508d";
//$datos["xml"]="../../timbrados/cfdi_ejemplo_factura.xml";
$datos["b64Cer"]="Certificados/lan7008173r5.cer";
$datos["b64Key"]="Certificados/lan7008173r5.key";
$res = mf_ejecuta_modulo($datos);
print_r($res);

PARA RECHAZAR CANCELACION, ES EL MISMO EJEMPLO DE CÓDIGO , SOLO CAMBIA EL PARAMETRO DE 'accion' A rechazar


Mas informacion y ejemplos en http://multifacturas.com

No hay comentarios:

Publicar un comentario

Como bloquera archivos adjuntos que son virus en postfix o plesk

   Como bloquear adjuntos del correo en Plesk/Postfix   1- edita el archivo  /etc/postfix/main.cf   2- busca el parametro mime_header_checks...