Stack tecnológico para operar en Argentina: Integraciones esenciales

APIs AFIP, bancos, gateways y arquitectura completa para empresas tech en Argentina 2025
Publicado: 4 de noviembre de 2025 · Lectura: 14 minutos

Operar digitalmente en Argentina requiere integrar un ecosistema de APIs y servicios locales únicos. Desde facturación electrónica AFIP hasta pagos con Mercado Pago, pasando por autenticación bancaria y validaciones de identidad, este stack es crítico para cualquier producto tech que opere en el mercado argentino.

Realidad 2025: Una app fintech o e-commerce argentina típica integra 8-15 servicios externos: AFIP (3-4 APIs), 2-3 gateways de pago, validación identidad, geolocalización y más. Diseñar esta arquitectura correctamente desde día 1 ahorra 6+ meses de refactoring.
Contenido
APIs críticas8-12 integraciones
Time to market8-16 semanas
ComplejidadAlta (compliance local)
Costo mensualUSD 200-800 (tier startup)

Panorama del ecosistema tech argentino

Particularidades que impactan arquitectura

  • Facturación obligatoria: Toda transacción comercial debe generar comprobante AFIP
  • Controles cambiarios: Limita pasarelas internacionales (Stripe limitado)
  • Inflación alta: Necesidad de actualización precios en tiempo real
  • Múltiples jurisdicciones: IIBB provincial complica compliance
  • Conectividad variable: Diseñar para latencias altas y caídas frecuentes

Stack típico por vertical

VerticalIntegraciones críticasComplejidad
E-commerce AFIP WSFEv1, Mercado Pago, Andreani/OCA, geolocalización Media-Alta
Fintech AFIP, Open Banking, KYC (Veraz/Nosis), CVU/CBU validation Muy Alta
SaaS B2B AFIP WSFEv1, Stripe/MP, autenticación (OAuth AFIP) Media
Marketplace AFIP, multiple gateways, logistics APIs, escrow/split Alta

Integraciones AFIP (facturación y validaciones)

1. WSFEv1 - Facturación Electrónica

El web service core para emitir facturas, notas de crédito/débito.

# Flujo típico (Node.js con @afipsdk/wsfe) const Afip = require('@afipsdk/core'); const afip = new Afip({ CUIT: 20123456789 }); // 1. Autenticación (WSAA - obtener token/sign) const auth = await afip.GetServiceTA('wsfe'); // 2. Consultar próximo número comprobante const lastVoucher = await afip.ElectronicBilling.GetLastVoucher(1, 6); // tipo=1 (pto venta), tipo=6 (factura B) // 3. Emitir comprobante const invoice = await afip.ElectronicBilling.CreateVoucher({ CantReg: 1, PtoVta: 1, CbteTipo: 6, // Factura B Concepto: 1, // Productos DocTipo: 80, // CUIT DocNro: 30123456789, CbteDesde: lastVoucher + 1, CbteHasta: lastVoucher + 1, CbteFch: 20251104, // YYYYMMDD ImpTotal: 12100, ImpTotConc: 0, ImpNeto: 10000, ImpOpEx: 0, ImpIVA: 2100, ImpTrib: 0, MonId: 'PES', MonCotiz: 1, Iva: [{ Id: 5, BaseImp: 10000, Importe: 2100 }] // 21% }); // invoice.CAE: código autorización // invoice.CAEFchVto: vencimiento CAE

2. Padrón A5 - Validación CUIT y condición IVA

Consultar si un CUIT está activo y su condición fiscal.

// Endpoint: https://seti.afip.gob.ar/padron-puc-constancia-internet/ // No tiene API oficial - opciones: // a) Scraping (frágil) // b) Servicios terceros (Veraz, Nosis, etc.) USD 0.05-0.20/consulta // c) Base local replicada (descargar padrón mensual AFIP) // Ejemplo con servicio tercero const response = await fetch('https://api.veraz.com/ar/cuit/validate', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_TOKEN' }, body: JSON.stringify({ cuit: '30123456789' }) }); const data = await response.json(); // data.active, data.ivaCondition, data.activities

3. SIRADIG - Empleados

Si tenés empleados, informar nómina mensualmente.

4. CITI - Comprobantes

Régimen de información compras/ventas (empresas grandes).

Alerta certificados: AFIP requiere certificado digital PKCS#12 (.p12) que vence anualmente. Automatizar renovación o tendrás downtime en facturación.

Librerías recomendadas por lenguaje

LenguajeLibreríaMadurez
Node.js @afipsdk/core, afip.js Alta
Python pyafipws, pyfear Alta
PHP AfipSDK-PHP Media
Ruby bravo (gem) Media-Baja
Java afip-sdk-java Media

Gateways de pago y banking

1. Mercado Pago (líder local)

70% market share pagos digitales Argentina.

// Mercado Pago Checkout Pro (redirect) const mercadopago = require('mercadopago'); mercadopago.configure({ access_token: 'YOUR_ACCESS_TOKEN' }); const preference = await mercadopago.preferences.create({ items: [{ title: 'Producto ejemplo', unit_price: 12100, quantity: 1 }], back_urls: { success: 'https://tuapp.com/success', failure: 'https://tuapp.com/failure', pending: 'https://tuapp.com/pending' }, notification_url: 'https://tuapp.com/webhook/mp', external_reference: 'ORDER_12345' }); // preference.init_point: URL checkout para redirigir

Features clave Mercado Pago

  • Checkout Pro: Redirect, soporta todos los medios
  • Checkout API: Embebido en tu frontend
  • Split payments: Para marketplaces (comisiones automáticas)
  • Suscripciones: Cobro recurrente mensual/anual
  • QR estático/dinámico: Para comercios físicos
  • Link de pago: Sin integración (copiar/pegar link)

Costos: 3.99% + ARS 10 por transacción (puede negociarse con volumen)

2. Stripe (limitado ARS)

Funciona para cobros USD a extranjeros, no ideal para ARS local.

3. TodoPago / Prisma

Red Link / Visa. Requiere gestión bancarizada (más burocracia).

4. MODO (BBVA + otros bancos)

QR interoperable entre bancos. Comisiones bajas (2-3%).

5. Open Banking (en desarrollo)

Ley aprobada 2024, implementación gradual 2025-2026. Permitirá:

  • Consulta saldos/movimientos con consentimiento usuario
  • Inicio pagos desde cualquier cuenta (sin gateway intermedio)
  • Agregación financiera multi-banco
Recomendación startup: Empezar con Mercado Pago (cobertura + velocidad). Agregar MODO si querés comisiones menores. Stripe solo si tenés revenue USD significativo.

Validación de identidad (KYC)

Proveedores KYC Argentina

ProveedorServiciosCosto típico
Veraz (Equifax) Score crediticio, validación identidad, CUIT/DNI, domicilio USD 0.15-0.50/consulta
Nosis Idem Veraz + data laboral USD 0.12-0.40/consulta
RENAPER API Validación DNI oficial (requiere convenio) Variable (entes públicos gratis)
QuickData Teléfono, email, riesgo fraude USD 0.05-0.15/consulta

Flujo KYC típico fintech

  1. Captura datos: DNI, CUIL/CUIT, fecha nacimiento, domicilio
  2. Validación RENAPER/Veraz: Confirmar DNI existe y coincide nombre
  3. Prueba de vida: Selfie + detección liveness (Onfido, Veriff, local: Veritran)
  4. Validación domicilio: Cruce con servicios (luz/gas) o envío código postal
  5. Score crediticio: Veraz/Nosis para límites crédito
  6. Listas sancionadas: OFAC, PEP (Personas Expuestas Políticamente)
Ley Protección Datos Personales (25.326): KYC implica datos sensibles. Requiere: consentimiento expreso, registro RNDP, política privacidad, seguridad técnica (encriptación).

Arquitectura de referencia completa

Stack recomendado startups Argentina

┌─────────────────────────────────────────────┐
│         FRONTEND (React/Next.js)            │
│  - Checkout UI                              │
│  - Dashboard cliente                        │
└─────────────────────────────────────────────┘
                    ↓ HTTPS
┌─────────────────────────────────────────────┐
│       API Gateway (Express/NestJS)          │
│  - Auth (JWT)                               │
│  - Rate limiting                            │
│  - Request validation                       │
└─────────────────────────────────────────────┘
        ↓                    ↓
┌──────────────────┐  ┌─────────────────────┐
│ Payment Service  │  │ Billing Service     │
│ - MP integration │  │ - AFIP WSFEv1       │
│ - Stripe (USD)   │  │ - Invoice generation│
│ - Retry logic    │  │ - PDF creation      │
└──────────────────┘  └─────────────────────┘
        ↓                    ↓
┌──────────────────┐  ┌─────────────────────┐
│  Queue (Redis)   │  │  Storage (S3/B2)    │
│ - Payment events │  │ - Invoices PDFs     │
│ - Failed jobs    │  │ - 10 años retention │
└──────────────────┘  └─────────────────────┘
        ↓
┌─────────────────────────────────────────────┐
│        Database (PostgreSQL)                │
│  - Transacciones                            │
│  - Usuarios                                 │
│  - Invoices metadata                        │
└─────────────────────────────────────────────┘
        ↓
┌─────────────────────────────────────────────┐
│     Monitoring (Sentry + Datadog/Simple)    │
│  - Error tracking                           │
│  - Performance metrics                      │
│  - AFIP downtime alerts                     │
└─────────────────────────────────────────────┘
          

Decisiones arquitectónicas clave

1. Separación facturación de pagos

Payment successful ≠ Invoice emitted. Son dos flujos:

  • Sync: Pago → Invoice inmediata (bloqueante, más lento)
  • Async: Pago → Queue → Invoice (recomendado, resiliente)

2. Retry strategy

AFIP cae ~2-5 veces/mes. Diseñar reintentos:

// Exponential backoff con jitter const delays = [30s, 2m, 5m, 15m, 1h, 4h]; for (const delay of delays) { try { await emitirFactura(); break; // éxito } catch (err) { if (err.code === 'AFIP_TIMEOUT') { await sleep(delay + Math.random() * 10000); } else { throw err; // error irrecuperable } } }

3. Idempotencia

Usar external_reference / idempotency_key en todas las APIs para evitar duplicados.

4. Observabilidad

  • Logs estructurados: JSON con trace_id
  • Métricas: Latencia AFIP, tasa error por endpoint
  • Alertas: >5% error rate facturación → PagerDuty
  • Dashboards: Facturación/día, pagos pendientes, rechazos

Guía implementación paso a paso

Sprint 0: Setup inicial (Semana 1-2)

  • Registrar empresa AFIP (CUIT + Responsable Inscripto)
  • Solicitar certificado digital AFIP (48-72hs trámite)
  • Habilitar puntos de venta facturación electrónica
  • Crear cuentas Mercado Pago (producción + sandbox)
  • Setup repo, CI/CD, staging environment

Sprint 1: Facturación básica (Semana 3-4)

  • Integrar @afipsdk/core (Node) o pyafipws (Python)
  • Implementar WSAA (autenticación) + caching tokens
  • Endpoint POST /invoices → WSFEv1
  • Generación PDF básico con CAE
  • Testing homologación AFIP

Sprint 2: Pagos (Semana 5-6)

  • Integrar Mercado Pago Checkout Pro
  • Webhook handler POST /webhook/mercadopago
  • Validación signatures MP (seguridad)
  • Flow: Pago exitoso → Queue → Emitir factura

Sprint 3: Robustez (Semana 7-8)

  • Cola Redis/BullMQ para facturación async
  • Retry logic con exponential backoff
  • Dead letter queue para errores permanentes
  • Alertas Sentry + monitoreo uptime

Sprint 4: Features avanzadas (Semana 9-12)

  • Notas de crédito (devoluciones)
  • Múltiples puntos de venta
  • Facturación batch (para marketplaces)
  • Dashboard admin: facturas emitidas, errores, métricas
Timeline realista: MVP facturación + pagos en 8-12 semanas con 1 dev full-time. Agregar 4-6 semanas más para features avanzadas y compliance completo.

Monitoreo y observabilidad

Métricas críticas

MétricaUmbral alertaAcción
Latencia AFIP p95 > 5 segundos Investigar, posible caída AFIP
Error rate facturación > 3% Revisar logs, certificados vencidos
Pagos sin factura > 1h > 5 órdenes Revisar queue, AFIP disponibilidad
Certificado AFIP expira < 30 días Renovar certificado URGENTE

Stack observabilidad recomendado

  • Logs: Winston/Pino → Elasticsearch o Datadog
  • Errors: Sentry (USD 26/mes tier team)
  • Uptime: UptimeRobot o Better Stack (gratis tier útil)
  • APM: New Relic / Datadog (costoso, evaluar ROI)
Alerta temprana: Configurar notificación cuando AFIP empieza a tener latencias >3seg o timeouts. Suele preceder caídas totales en 30-60 min. Pausar facturación proactivamente para evitar orders stuck.

Recursos y documentación oficial

Compartir en LinkedIn Compartir en X Compartir en WhatsApp
Consultanos tu arquitectura