Desarrollar una aplicación de software comercial tipo Software as a Service (SaaS) requiere de una arquitectura transaccional impecable. No solo se trata de recibir el dinero del cliente de forma segura; en países con normativas tributarias estrictas como Ecuador, cada pago exitoso debe generar automáticamente un comprobante electrónico legal autorizado por la entidad gubernamental correspondiente (SRI).
Pasarelas de Pago: Nuvei y Payphone
Para el cobro con tarjetas de crédito y débito, una arquitectura SaaS robusta debe soportar múltiples pasarelas según las necesidades del cliente:
- Nuvei (anteriormente conocida como Kushki en la región): Una plataforma de nivel corporativo global excelente para procesar transacciones recurrentes internacionales, con soporte avanzado para 3D Secure 2.0 y tokenización de tarjetas cumpliendo estándares PCI-DSS.
- Payphone: La plataforma líder y más amigable para desarrolladores en Ecuador. Permite realizar cobros a través de un número telefónico o enlaces de pago en línea de forma ágil, reduciendo drásticamente la tasa de contracargos mediante su autenticación multifactor integrada.
Facturación Electrónica en Ecuador (SRI)
En el ecosistema ecuatoriano, emitir facturas electrónicas requiere cumplir con el esquema de comprobantes sin conexión determinado por el SRI. El flujo de trabajo involucra:
- Generación del documento XML estandarizado con la información de la transacción y la firma digital.
- Firma del XML en el servidor utilizando un archivo de firma electrónica válido en formato PKCS#12 (.p12).
- Envío del XML firmado al servicio web de recepción del SRI.
- Consulta del estado de autorización en los servidores de autorización del SRI para obtener la clave de autorización de 49 dígitos.
// Pipeline simplificado de generación y firma digital en Node.js
import { signXmlEnvelope, sendSoapRequest } from './sri-signer';
import { generateInvoiceXml } from './xml-builder';
export async function emitirFacturaEcuatoriana(invoiceData, p12Buffer, p12Password) {
try {
// 1. Generar XML estructurado según ficha técnica del SRI
const rawXml = generateInvoiceXml(invoiceData);
// 2. Firmar digitalmente el documento XML con el certificado .p12
const signedXml = await signXmlEnvelope(rawXml, p12Buffer, p12Password);
// 3. Enviar al Web Service de Recepción del SRI
const sriRecepcion = await sendSoapRequest('recepcion', signedXml);
if (sriRecepcion.estado === 'RECIBIDA') {
// 4. Consultar Web Service de Autorización
const sriAutorizacion = await sendSoapRequest('autorizacion', invoiceData.claveAcceso);
return { success: true, ...sriAutorizacion };
}
return { success: false, error: sriRecepcion.comprobantes };
} catch (error) {
return { success: false, error: error.message };
}
} Integraciones de Terceros: Contifico, Dobra y Factuplan
Cuando los clientes del SaaS ya cuentan con sus propios sistemas contables o de facturación, se integran APIs intermedias para sincronizar la contabilidad general de forma automática:
- Contifico: Un sistema ERP en la nube dominante en Ecuador. Integrar su API REST permite sincronizar el inventario físico, cuentas por cobrar y facturación legal directamente con la contabilidad corporativa de la empresa.
- Dobra: Excelente API especializada de alto volumen para enrutamiento y firma acelerada de comprobantes del SRI, resolviendo la sobrecarga criptográfica de firmar miles de XMLs por minuto.
- Factuplan: Nuestra plataforma transaccional unificada, diseñada con arquitectura dirigida por eventos para consolidar pasarelas de pago y facturar legalmente al SRI de forma automatizada y sin intervención manual.
REGLA DE INTEGRACIÓN: Los servicios del SRI suelen experimentar indisponibilidad temporal. Tu backend NUNCA debe bloquear el hilo principal esperando al SRI. Los comprobantes deben ser encolados asíncronamente en sistemas de colas como Redis/BullMQ con reintentos exponenciales automáticos.