Factuarea API

Integración MONEI

Estado de la integración con MONEI — todavía no liberada, qué existe ya detrás del flag, por qué no tiene recurso de mandatos, y la superficie v1 y MCP exacta que aparece al liberarse.

MONEI todavía no está disponible. Sus endpoints v1 y sus tools MCP no están registrados, así que llamarlos hoy devuelve 404 route_not_found. Esta página documenta el estado de la integración y la superficie que aparecerá cuando se libere — no es una guía de uso.

MONEI es una pasarela de pago española que cobra con tarjeta y Bizum. El dinero se mueve en el momento de la captura, como en una pasarela de tarjeta y a diferencia del adeudo directo SEPA — que es la razón de que su integración tenga una forma algo distinta de la de GoCardless.

Qué significa «todavía no liberada»

La única fuente de verdad es la lista de pasarelas de pago liberadas del backend (integrations.released_providers), que hoy contiene solo Stripe. Es configuración, no código, así que una pasarela se enciende sin desplegar código. Mientras MONEI esté fuera de esa lista:

  • Su bloque de rutas v1 no está registrado. Los endpoints /v1/monei-autoinvoicing/* no existen — no están en el registro de rutas, ni en la especificación OpenAPI, ni en la referencia de API de este sitio.
  • Sus tools MCP quedan filtradas del servidor público.
  • La pasarela aparece como «Próximamente» en el marketplace de integraciones del Dashboard, y el flujo de conexión está bloqueado también en el command handler.
  • El endpoint de cuentas conectadas agnóstico de pasarela filtra sus resultados a las pasarelas liberadas, así que ninguna cuenta de MONEI asoma tampoco por ahí.

Las clases están dormidas, no ausentes. La liberación cambia una lista.

Sin recurso de mandatos, y no es una omisión

GoCardless cobra por adeudo directo SEPA, así que un mandato — la autorización permanente del cliente para sacar dinero de su cuenta bancaria — es un objeto de primer nivel con su propio ciclo de vida, y tiene su propio endpoint y su propia tool MCP.

MONEI no usa adeudo directo SEPA. No hay autorización permanente que modelar, así que no hay recurso mandates, ni estados de mandato que sincronizar, ni webhooks de mandatos. Si estás portando una integración escrita contra GoCardless, esa rama entera desaparece; no hay nada sobre lo que mapearla.

Qué existe ya detrás del flag

PiezaEstado
Flujo de conexiónConstruido. MONEI se autentica con una API key, no con OAuth 2
Verificación de la firma del webhookConstruida
Normalizador de eventosConstruido — mapea los estados de pago de MONEI sobre los mismos eventos de pago internos que usa el pipeline de Stripe
Cuentas conectadas por pasarelaConstruidas — listar, obtener, actualizar y desconectar, replicando el modelo multi-tienda de Stripe
Cobros y rectificativas auto-facturadosConstruidos — mismas reglas de decisión, misma alta en VeriFactu que en Stripe
MandatosNo aplica — ver más arriba

Qué estados facturan, y cuáles no lo hacen a propósito

MONEI informa del estado de un pago como un status del propio objeto de pago, y el normalizador se apoya en él:

Estado de MONEIQué produce
SUCCEEDEDSe trata como cobrado → corre el flujo de auto-facturación
REFUNDED, PARTIALLY_REFUNDEDSe tratan como devolución → flujo de factura rectificativa, total o parcial
FAILED, CANCELEDSe registran como cobro fallido; no se emite nada
AUTHORIZEDSe ignora a propósito — una autorización sin captura no es dinero cobrado, y facturarla sería facturar un cobro que quizá nunca se capture
Cualquier otroSe registra como evento desconocido

Un pago sin identificador se descarta antes que ninguna otra cosa: sin id no hay identidad canónica ni clave de idempotencia, así que no se podría deduplicar ni reprocesar con seguridad.

La superficie que aparece al liberarse

Endpoints v1

EndpointScope
GET /v1/monei-autoinvoicing/connected-accountsmonei_autoinvoicing:read
GET /v1/monei-autoinvoicing/connected-accounts/{account}monei_autoinvoicing:read
PUT /v1/monei-autoinvoicing/connected-accounts/{account}monei_autoinvoicing:write
DELETE /v1/monei-autoinvoicing/connected-accounts/{account}monei_autoinvoicing:write
GET /v1/monei-autoinvoicing/paymentsmonei_autoinvoicing:read
GET /v1/monei-autoinvoicing/correctivesmonei_autoinvoicing:read

El listado de cobros lleva un filtro origin (subscription / oneshot) por simetría con las demás pasarelas. Si MONEI no tiene cobros de suscripción tuyos, origin=subscription devuelve una página vacía en lugar de un error.

Tools MCP

list_monei_connected_accounts, get_monei_connected_account, update_monei_connected_account, disconnect_monei_connected_account, list_monei_autoinvoiced_payments y list_monei_autoinvoiced_correctives — una por cada endpoint de arriba, con los mismos scopes.

Requisito de plan

La integración con MONEI es un módulo de los planes Empresario y Enterprise, igual que las integraciones con Stripe y GoCardless. Estar en el plan correcto no bastará por sí solo mientras la pasarela siga sin liberarse — tienen que cumplirse las dos condiciones.

Equivalencias con el flujo de Stripe

La parte específica de cada pasarela termina en el normalizador: a partir de ahí, todas las pasarelas comparten el mismo pipeline de facturación, las mismas decisiones fiscales y la misma alta en VeriFactu que describe Auto-facturación con Stripe.

ConceptoStripeMONEI
AutenticaciónOAuth 2 (Stripe Connect)API key
Multi-tiendaconnected-accounts por cuentaMismo modelo, bajo monei-autoinvoicing/connected-accounts
Señal de «cobro con éxito»charge.succeeded / invoice.paidEstado de pago SUCCEEDED
Devolucionescharge.refunded → factura rectificativaREFUNDED / PARTIALLY_REFUNDED → factura rectificativa
Autorización sin capturarNo se facturaAUTHORIZED, no se factura
MandatosNo aplicaNo aplica
Ciclos de suscripcióninvoice.paid con un billing_reason de suscripciónSin rama equivalente en el normalizador
Conciliación de payoutsSoportadaHoy no cubierta

Qué funciona hoy de todas formas

La bandeja de eventos de integración es agnóstica de la pasarela y está registrada sin condiciones, así que provider=monei es allí un valor de filtro válido desde el primer día — incluidos los eventos históricos, que es justo la razón de que esas filas no se oculten.

En esta página