Función VirtualXML_MicroValidaDatosFiscales VirtualXML
Nivel de MicroServicio: 2
Precio de la función: $75.00 mas IVA

Valida los datos fiscales de un receptor.

Esta función utiliza la misma tecnología que utiliza la versión web del validador de datos fiscales por lo que la puedes integrar en tus programas o bien crear tu propio validador de datos fiscales.


Namespace:
VirtualXML®
Aplicación: CFDI ver. 4.0
Sintaxis

public static void VirtualXML_MicroValidaDatosFiscales(
string ApiKey,
string Usuario,
string RfcEmisor,
string RfcReceptor,
string nombre,
string RegimenFiscal,
string CodigoPostal,
string Cer,
string Key,
string PwdKey
string ResultFile,
string OutLog,
string Reservado)

Parámetros

ApiKey
Tipo: System  String
Clave de acceso a funcionalidades administrativas.

Usuario
Tipo: System  String
Clave de usuario VirtualPAC, es decir, la clave con la accedes al portal VirtualPAC.

RfcEmisor
Tipo: System  String
RFC emisor, previamente dado de alta en el portal VirtualPAC.

RfcReceptor
Tipo: System  String
RFC del cual deseamos validar sus datos fiscales.

Nombre
Tipo: System  String
Nombre / Razón social del receptor del cual deseamos validar sus datos fiscales. Estos datos deben expresarse EN MAYUSCULAS, para personas físcas debe seguir el orden: Nombre(s), Apellido Paterno, Apellido Materno; para personas morales se debe omitir el régimen de capital (S.A. de C.V., S. de R.L. de C.V., S.A.P.I, A.C., etc.)

RegimenFiscal
Tipo: System  String
Clave del régimen fiscal del receptor del cual deseamos validar sus datos fiscales.

CodigoPostal
Tipo: System  String
Código postal del domicilio registrado en el SAT del receptor del cual deseamos validar sus datos fiscales.
Cer
Tipo: System  String
Archivo .CER del certificado de sello digital (CSD) del emisor.
Key
Tipo: System  String
Archivo .KEY del certificado de sello digital (CSD) del emisor.
PwdKey
Tipo: System  String
Contraseña del archivo .KEY del certificado del sello digital (CSD) del emisor.
ResultFile
Tipo: System  String
Nombre del archivo .INI donde se van a guardar los datos fiscales del RFC receptor. El archivo  INI presenta la siguiente estructura:

  [VirtualXML]
  EXITCODE = 0 // resultado de la función
  COMMINFO =  // uso interno
  RFC = CTE940531F58
  NOMBRE = CIBERNETICA Y TECNOLOGIA
  REGIMEN = 601
  CP = 53050
  SOURCE = local // uso interno
  FECHAHORA = 2023-06-09T17:15:45 // fecha / hora en que se realiza la consulta
  FUNCTIONCALL = VirtualXML_MicroValidaDatosFiscales // función que se utilizó

OutLog
Tipo: System  String
Nombre del archivo donde se guardará la bitácora de procesos de la consulta de datos fiscales del  RFC.
Reservado
Tipo: System  String
Parámetro reservado para usos futuros.

Valor retornado:

Tipo: Int32

Retorna un valor númerico indicando el resultado de la validación de datos fiscales y pueden ser los siguientes:

Resultado
Descripción
0
Los datos fiscales porporcionados son correctos.



1
Validación exitosa pero con errores.
Alguno de los datos proporcionados para validar es ERRONEO, sin embargo, el RFC proporcionado se encuentra en la base de datos de VirtualPAC, y tiene datos validados correctamente, en caso de que esto suceda, se devolverán los datos que se tengan validados en la base de datos y no los datos proporcionados en los parámetros de esta función, esto solo sucederá si se tiene contratado el microservicio de validación directa de RFC, en caso de no tener contratado el microservicio, no se devolverán los datos validados.
Los datos validados se devuelven en el archivo indicado en el parámetro ResultFile
-2
Error desconocido
-3
Error en la validación de identidad
-4
Politica de uso justo sobrepasada
-5
Fecha de servicio vencida
-6
ApiKey inválido
-7
Servicio no contratado
-8
RFC emisor no encontrado
-9
Saldo para demos agotado
-10
Servicio fuera de linea
-11
ApiKey no coincide con el usuario

Ejemplo:

private void ValidaRfcReceptor()
{
// Hacemos la consulta
    int nResultado = VirtualXML_MicroValidaDatosFiscales("4fX0clxaYpp95dZuYBrzlo5IXJC2BIWkxzdbh0G9yc",;
"demo_cibertec",;
"EKU9003173C9",;
"CTE940531F58",;
"CIBERNETICA Y TECNOLOGIA",;
"601",;
"53050",;
"ArchivoCer.cer",;
"ArchivoKey.key",;
"PasswordKey",;
"ResultadoDatosFiscales.INI",;
"BitacoraDatosFiscales.log","");

switch ( nResult )
{
case 0:
// Se han encontrado los datos fiscales del emisor
MsgBox("Datos fiscales correctamente validados");
break;

case 0:
// Se han encontrado los datos fiscales del emisor
MsgBox("Datos fiscales correctamente validados");
break;
case -2
// Error no identifcado
MsgBox("Error desconocido");
break;
case -3:
// Identidad invalida
MsgBox("No existe el usuario VirtualPAC");
break;
case -4:
// Error uso justo
MsgBox("Se ha rebasado la politica de uso justo de la función");
break;
case -5:
// Servicio vencido
MsgBox("La fecha de servicio ha expirado");
break;
case -6:
// Error en el ApiKey
MsgBox("El ApiKey proporcionado no existe");
break;
case -7
// Servicio no contratado
MsgBox("No tienes contratado el servicio de validación de RFCs");
break;
case -8:
// RFC no encontrado
MsgBox("El RFC solicitado no se encuentra en nuestros regisros, utilice su validador de datos fiscales");
break;
case -9:
// Demo agotado
MsgBox("Se han agotado las consultas de demo");
break;
case -10:
// Servicio fuera de linea
MsgBox("Servicio de validación fuera de línea, intente mas tarde");
break;
case -11:
// Usuario/ApiKey invalidos
MsgBox("El ApiKey no corresponde al usuario de VirtualPAC");
break;
}

VirtualXML_Free(hXml);
}
Veáse También