SDK de pagos · beta privada

Caso de estudio

Plexo SDK

SDK independiente en TypeScript para integrar Plexo desde el backend. Contratos OpenAPI, recursos de dominio y un transporte que no repite escrituras financieras automáticamente.

Cliente
Proyecto propio · Backend
Año
2026
Rol
Arquitectura, desarrollo y pruebas
Tecnología
TypeScript, Node.js, Vitest
Portada de Plexo SDK, beta independiente: backend, cliente TypeScript y API de pagos.

Un cliente de Plexo para el backend

Desarrollé este SDK para reunir en un solo cliente las operaciones de la API REST de Plexo. El trabajo incluye tipos generados desde un contrato OpenAPI versionado, recursos de dominio y un transporte HTTP compartido. La aplicación que lo integra conserva el control del pedido, los permisos del usuario y el estado de cada operación.

Arquitectura del SDK: el backend usa recursos tipados que pasan por el cliente y el transporte HTTP hacia Plexo; las credenciales permanecen en el servidor.
Arquitectura resumida del SDK. Los diagramas explican el diseño del código; no son capturas de una pasarela ni evidencia de transacciones reales.

Separar el contrato del transporte

Los tipos se generan desde el snapshot de OpenAPI. Sobre ellos, el cliente expone recursos de pagos, clientes, sesiones, tokenización y links. La autenticación, los límites de espera y los errores se resuelven en el transporte, para no repetir esa lógica en cada recurso. El paquete principal no añade dependencias de runtime.

  • TypeScript
  • Node.js
  • Vitest

Un timeout no confirma que un pago falló

Una escritura puede llegar al proveedor aunque la conexión se corte antes de recibir la respuesta. El SDK distingue ese resultado desconocido de un error definitivo y no repite automáticamente las escrituras financieras. Abortar la petición tampoco equivale a cancelar el pago.

La integración debe conservar una referencia durable, consultar el estado autoritativo y resolver o escalar la operación antes de decidir otro intento. Los reintentos automáticos del transporte se limitan a operaciones clasificadas como seguras; esa política no reemplaza la conciliación de la aplicación.

Flujo ante un pago sin respuesta: el SDK comunica un resultado desconocido sin repetir el cobro; la aplicación consulta el estado y concilia.
Escenario de resultado desconocido. La consulta y la conciliación pertenecen a la aplicación; el SDK no vuelve a enviar el cobro por su cuenta.

Credenciales fuera del navegador

El cliente construye la autenticación HTTP Basic con credenciales del servidor y bloquea la sustitución de Authorization y otros headers sensibles. Los entornos son explícitos y las URLs requieren HTTPS, salvo excepciones locales controladas. Los detalles de error se limitan y redactan antes de exponerse a la integración.

Pruebas y alcance de la validación

El repositorio incluye pruebas de contrato, recursos y transporte: autenticación, validación de parámetros, cancelación, timeouts, errores y política de reintentos. La documentación separa los escenarios HTTP simulados de las comprobaciones realizadas en testing.

La validación remota documentada incluye lecturas autenticadas y el ciclo de clientes desechables en testing. No acredita un ciclo financiero aprobado ni operaciones de negocio en producción. Por eso el proyecto se presenta en desarrollo, sin métricas de pagos procesados ni una promesa de disponibilidad productiva.

Resultado

Menos lógica repetida; decisiones de pago explícitas

El SDK concentra el contrato y el transporte, pero no oculta las decisiones que le corresponden al negocio. La autorización del usuario, la persistencia durable, la conciliación y la verificación de webhooks siguen siendo responsabilidad de quien integra el servicio.

Proyecto propio e independiente, versión 0.1.0 en beta privada. No es un SDK oficial ni está avalado por Plexo. Su uso no certifica cumplimiento PCI. El repositorio y el paquete no se ofrecen como descargas públicas; las imágenes de este caso son diagramas técnicos elaborados a partir del código revisado.