Datos de prueba

Fiscalapi ofrece datos de prueba para integrar la API: con ellos activas una suscripción, compras timbres y emites facturas en el ambiente de pruebas.

Tarjetas de prueba

Usa estas tarjetas de crédito y débito para simular los pagos en el ambiente de pruebas, tanto al activar una suscripción como al comprar timbres. Por las normas de seguridad PCI DSS, todos los pagos se hacen desde el dashboard.

MarcaNúmero de tarjetaCVCFecha de expiración
Visa4242 4242 4242 42423 dígitos al azarCualquier fecha futura
Visa (débito)4000 0566 5566 55563 dígitos al azarCualquier fecha futura
Mastercard5555 5555 5555 44443 dígitos al azarCualquier fecha futura
Mastercard (serie 2)2223 0031 2200 32223 dígitos al azarCualquier fecha futura
Mastercard (débito)5200 8282 8282 82103 dígitos al azarCualquier fecha futura
Mastercard (prepaga)5105 1051 0510 51003 dígitos al azarCualquier fecha futura

Personas de prueba

Usa estas personas para facturar en el ambiente de pruebas. El SAT obliga a usar estas personas, sus datos fiscales y sus certificados para hacer pruebas de facturación. Puedes usar cualquier régimen fiscal y uso de CFDI compatibles con cada persona.

Personas físicas

RFCSCNFVALIDEZ OBLIGACIONESNOMBRECÓDIGO POSTALRETENCIÓN
CACX7605101P8No2XOCHILT CASAS CHAVEZ362570
FUNK671228PH6No1KARLA FUENTE NOLASCO011600
IAÑL750210963No1LUIS IAN ÑUZCO852560
JUFA7608212V6No1ADRIANA JUAREZ FERNANDEZ011600
KAHO641101B39No1OSCAR KALA HAAK760742
KICR630120NX3No1RODRIGO KITIA CASTRO362461
MISC491214B86No1CECILIA MIRANDA SANCHEZ010100
RAQÑ7701212M3No1ÑEVES RAMIREZ QUEZADA789050
WATM640917J45No1MARIA WATEMBER TORRES435430
WERX631016S30No1XAIME WEIR ROJO012790
XAMA620210DQ5No1ALBA XKARAJAM MENDEZ012190
XIQB891116QE4No4BERENICE XIMO QUEZADA409680
XOJI740919U48No1INGRID XODAR JIMENEZ760280

Personas morales

RFCSCNFVALIDEZ OBLIGACIONESNOMBRECÓDIGO POSTALRETENCIÓN
EKU9003173C9No1ESCUELA KEMPER URGATE425010
IIA040805DZ4No1INDISTRIA ILUMINADORA DE ALMACENES626610
H&E951128469No1HERRERIA & ELECTRICOS060020
IVD920810GU2No1INNOVACION VALOR Y DESARROLLO639010
IXS7607092R5No1INTERNACIONAL XIMBO Y SABORES230040
JES900109Q90No1JIMENEZ ESTRADA SALAS371610
KIJ0906199R1No1KERNEL INDUSTIA JUGUETERA289710
L&O950913MSANo1LUCES & OBRAS609220
OÑO120726RX3Si1ORGANICOS ÑAVEZ OSORIO405010
S&S051221SE2No1S & SOFTWARE760220
URE180429TM6No1UNIVERSIDAD ROBOTICA ESPAÑOLA869910
XIA190128J61No1XENON INDUSTRIAL ARTICLES763430
ZUÑ920208KL4No1ZAPATERIA URTADO ÑERI345410

Certificados de prueba

Para facturar en el ambiente de pruebas, cada persona de prueba tiene un certificado de sello digital (CSD), formado por dos archivos: el certificado (.cer) y la llave privada (.key) con la que se sellan las facturas. Usa siempre el par que corresponde a cada persona. La contraseña de todas las llaves privadas es 12345678a.

Estructura de directorios

Al descomprimir el archivo de certificados encontrarás esta estructura:

Certificados_Pruebas/
├── Personas Físicas/
│   ├── RFC_PERSONA1_TIMESTAMP/
│   │   └── CSD_RFC_PERSONA1_TIMESTAMP/
│   │       ├── archivo.cer
│   │       ├── archivo.key
│   │       └── contraseña.txt
│   └── ...
└── Personas Morales/
    ├── RFC_EMPRESA1_TIMESTAMP/
    │   └── CSD_RFC_EMPRESA1_TIMESTAMP/
    │       ├── archivo.cer
    │       ├── archivo.key
    │       └── contraseña.txt
    └── ...

Las carpetas Personas Físicas y Personas Morales tienen una subcarpeta por persona, identificada por su RFC. Dentro de cada una hay otra carpeta, cuyo nombre empieza con CSD_ seguido del RFC, con los archivos .cer y .key de esa persona. Esos son los archivos que subes o envías en tus peticiones HTTP para facturar en el ambiente de pruebas.


Codificación de archivos en base64

Base64 es un esquema de codificación que convierte cualquier archivo en texto, y es una de las formas más sencillas de transferir archivos por internet. Todos los lenguajes de programación soportan la codificación en base64.

Codificación de archivos CSD a base64

Cuando creas una factura en el modo de operación por valores, el campo taxCredentials lleva los archivos CSD (.cer y .key) del emisor codificados en base64. Si tu lenguaje no aparece en los ejemplos, busca en Google "codificar archivo a base64 en" seguido del nombre de tu lenguaje.

Codificación de CSD a base64

using System;
using System.IO;

class Program
{
    static string EncodeFileToBase64(string filePath)
    {
        byte[] fileBytes = File.ReadAllBytes(filePath);
        return Convert.ToBase64String(fileBytes);
    }

    static void Main()
    {
        string cerFilePath = "ruta_del_archivo.cer";
        string keyFilePath = "ruta_del_archivo.key";

        // Codificar archivo .cer
        string cerBase64 = EncodeFileToBase64(cerFilePath);
        Console.WriteLine("Archivo .cer codificado en Base64: " + cerBase64);

        // Codificar archivo .key
        string keyBase64 = EncodeFileToBase64(keyFilePath);
        Console.WriteLine("Archivo .key codificado en Base64: " + keyBase64);
    }
}

Decodificación de base64 a archivos

Para recuperar el archivo original de un contenido en base64, como un .cer, un .key, un XML o un PDF, lo decodificas. Todos los lenguajes de programación soportan la decodificación de base64.

Decodificación de archivos codificados en base64

Cuando Fiscalapi recibe una petición de facturación por valores, decodifica los archivos CSD en base64 para obtener los archivos originales. Tú puedes hacer lo mismo con cualquier archivo en base64 que recibas en una respuesta de Fiscalapi, como un XML, un PDF o un logo.

Si tu lenguaje no aparece en los ejemplos, busca en Google "decodificar base64 a archivo original en" seguido del nombre de tu lenguaje.

Decodificación de archivos codificados en base64

using System;
using System.IO;

class Program
{
    // Decodifica una cadena Base64 a un archivo
    static void DecodeBase64ToFile(string fileBase64, string filePath)
    {
        byte[] fileBytes = Convert.FromBase64String(fileBase64);
        File.WriteAllBytes(filePath, fileBytes);
    }

    static void Main()
    {
        // Ejemplo: Decodificar una cadena Base64 a un archivo
        string xmlBase64 = "YXF1aV92YV9lbF9jb250ZW5pZG9fZGVfYmFzZTY0"; // Ejemplo de contenido Base64
        string pdfBase64 = "b3RyYV9jYWRlbmFfZGVfYmFzZTY0X2FxdWk="; // Ejemplo de contenido Base64
        string cerBase64 = "Y29udGVuaWRvX2RlbF9jZXJ0aWZpY2Fkb19lbl9iYXNlNjQ="; // Ejemplo de contenido Base64
        string keyBase64 = "Y29udGVuaWRvX2RlX2xhX2xsYXZlX3ByaXZhZGFfZW5fYmFzZTY0"; // Ejemplo de contenido Base64
        
        DecodeBase64ToFile(xmlBase64, "C:\\archivos\\factura.xml");
        DecodeBase64ToFile(pdfBase64, "C:\\archivos\\factura.pdf");
        DecodeBase64ToFile(cerBase64, "C:\\archivos\\certificado.cer");
        DecodeBase64ToFile(keyBase64, "C:\\archivos\\llave-privada.key");
        
        Console.WriteLine("Archivos decodificados y guardados.");
    }
}

¿Le resultó útil esta página?