Back to 0fee
0fee

Que sigue para 0fee.dev

La hoja de ruta de 0fee.dev: suscripciones, desembolsos, gestion de disputas, mas proveedores africanos y billeteras multi-moneda. Por Juste A. Gnimavo.

Thales & Claude | March 30, 2026 8 min 0fee
EN/ FR/ ES
roadmapfuturefeaturespaymentsafrica

Ochenta y seis sesiones construyeron la base. Las proximas ochenta y seis sesiones construiran el futuro. 0fee.dev lanzo con pagos unicos a traves de mas de 53 proveedores en mas de 200 paises. Pero un orquestador de pagos que solo maneja pagos unicos solo resuelve la mitad del problema.

Este articulo presenta la hoja de ruta -- informada por los hallazgos de la auditoria de seguridad, solicitudes de funcionalidades de usuarios tempranos y las brechas que identificamos durante el proceso de construccion. Cada elemento representa una necesidad real, no una funcionalidad especulativa.

Suscripciones y pagos recurrentes

La funcionalidad mas solicitada por los primeros usuarios. Las suscripciones requieren un modelo de pago fundamentalmente diferente:

python# Planificado: Modelo de suscripcion
class Subscription(Base):
    __tablename__ = "subscriptions"

    id = Column(String, primary_key=True)
    app_id = Column(String, ForeignKey("apps.id"), nullable=False)
    customer_id = Column(String, nullable=False)
    plan_id = Column(String, nullable=False)

    # Configuracion de facturacion
    amount = Column(Float, nullable=False)
    currency = Column(String(3), nullable=False)
    interval = Column(String, nullable=False)  # daily, weekly, monthly, yearly
    interval_count = Column(Integer, default=1)  # ej., cada 2 meses

    # Estado
    status = Column(String, default="active")  # active, paused, cancelled, past_due
    current_period_start = Column(DateTime)
    current_period_end = Column(DateTime)
    cancel_at_period_end = Column(Boolean, default=False)

El desafio con las suscripciones en el mercado africano es que muchos clientes usan dinero movil, que no soporta cargos recurrentes automaticos. El motor de suscripciones necesitara manejar:

  • Basado en tarjeta: Cargos automaticos via tokens de tarjeta almacenados (Stripe, PayPal)
  • Push de dinero movil: Enviar solicitud de pago al telefono del cliente en cada ciclo de facturacion
  • Renovacion manual: Enviar factura/enlace de pago para que el cliente pague manualmente

API de desembolsos y pagos

0fee.dev actualmente maneja cobros (recibir dinero). Los desembolsos -- enviar dinero a comerciantes, proveedores o individuos -- son el complemento logico:

python# Planificado: API de desembolsos
@router.post("/payouts")
async def create_payout(data: PayoutCreate):
    """Enviar dinero a una cuenta bancaria o billetera de dinero movil."""
    pass

class PayoutRecipient(BaseModel):
    type: str  # bank_account, mobile_money
    bank_code: str | None = None
    account_number: str | None = None
    phone_number: str | None = None
    provider: str | None = None  # orange, mtn, wave
    country: str | None = None

Los desembolsos en Africa son particularmente importantes para: - Plataformas de marketplace: Pagar a vendedores despues de una venta - Apps de economia gig: Pagar a trabajadores diaria o semanalmente - Remesas: Enviar dinero entre paises - Desembolso de salarios: Pagar a empleados via dinero movil

Gestion de disputas

Cuando un cliente disputa un pago (contracargo), el comerciante necesita herramientas para responder. Actualmente, las disputas se manejan enteramente a traves del panel del proveedor subyacente. Planeamos centralizar la gestion de disputas:

python# Planificado: Modelo de disputa
class Dispute(Base):
    __tablename__ = "disputes"

    id = Column(String, primary_key=True)
    transaction_id = Column(String, ForeignKey("transactions.id"), nullable=False)
    provider_dispute_id = Column(String, nullable=True)

    reason = Column(String)  # fraudulent, duplicate, product_not_received, etc.
    status = Column(String)  # open, under_review, won, lost, accepted
    amount = Column(Float)
    currency = Column(String(3))

    evidence_due_by = Column(DateTime, nullable=True)
    evidence_submitted = Column(Boolean, default=False)

Analiticas avanzadas

Las analiticas actuales son basicas: volumen, conteo, tasa de exito. La proxima iteracion proporcionara insights accionables:

Analisis de embudo de conversion: ¿Donde abandonan los clientes? ¿Despues de seleccionar un metodo de pago? ¿Durante 3D Secure? ¿En la pagina de checkout del proveedor?

Comparacion de rendimiento de proveedores: Para el mismo pais y metodo de pago, ¿cual proveedor tiene la mayor tasa de exito, menor latencia y menos fallos?

Pronostico de ingresos: Basado en patrones historicos de transacciones, ¿que ingresos pueden esperar los comerciantes el proximo mes?

Deteccion de anomalias: Alertar cuando los patrones de transacciones se desvian significativamente de la linea base.

Monitoreo de salud de proveedores

Identificado en la auditoria de seguridad como una brecha critica. Cuando un proveedor se cae, el motor de enrutamiento deberia automaticamente redirigir pagos a una alternativa:

python# Planificado: Monitoreo de salud de proveedores
async def health_aware_routing(payment_data: dict) -> BaseProvider:
    """Enrutar pagos considerando la salud del proveedor."""
    candidates = get_available_providers(payment_data)

    for provider in candidates:
        health = await get_provider_health(provider.name)
        if health.status == "down":
            continue  # Omitir completamente
        if health.status == "degraded":
            provider.priority -= 10  # Despriorizar pero permitir

    return select_best_provider(candidates)

El sistema de monitoreo de salud verificara proveedores cada 60 segundos con llamadas API ligeras. Cuando la tasa de exito de un proveedor caiga por debajo del 80% en una ventana de 5 minutos, se marcara como degradado. Por debajo del 50%, se marcara como caido.

Mas proveedores africanos

El repertorio actual de proveedores cubre Africa ampliamente pero carece de profundidad en mercados especificos:

Integracion profunda de M-Pesa

M-Pesa es el proveedor dominante de dinero movil en Africa Oriental. La integracion actual a traves de PawaPay funciona pero no expone funcionalidades especificas de M-Pesa:

  • M-Pesa STK Push: Aviso de pago automatizado enviado directamente al telefono del cliente
  • M-Pesa B2C: Desembolsos de negocio a cliente
  • M-Pesa Bill Manager: Pagos recurrentes de facturas

Airtel Money

Airtel Money opera en 14 paises africanos. Es el segundo proveedor de dinero movil mas grande del continente.

Proveedores regionales de pago

ProveedorMercadoEstado
FlutterwavePan-africanoPlanificado
Chipper Cash7 paises africanosEn evaluacion
MFS AfricaDinero movil transfronterizoEn evaluacion
PagaNigeriaEn evaluacion

El asistente de desarrollador con IA

Integracion de Claude Haiku para soporte de desarrollador dentro del panel:

El asistente: - Respondera preguntas sobre la API de 0fee.dev usando la documentacion como contexto - Ayudara a depurar transacciones fallidas analizando patrones de error - Sugerira configuraciones optimas de proveedores basadas en la mezcla de paises del comerciante - Generara fragmentos de codigo en el lenguaje preferido del comerciante

Billeteras multi-moneda

Actualmente, cada usuario tiene una sola billetera en USD. Las billeteras multi-moneda permitirian a los comerciantes:

  • Mantener balances en multiples monedas simultaneamente
  • Recibir pagos en moneda local sin conversion automatica
  • Elegir cuando convertir monedas (a una tasa favorable)
  • Desembolsar a destinatarios en su moneda local desde la billetera correspondiente

Pagos divididos para marketplaces

Para plataformas de marketplace donde un pago necesita dividirse entre multiples partes:

python# Planificado: API de pago dividido
class SplitPaymentCreate(BaseModel):
    amount: float
    currency: str
    reference: str
    splits: list[PaymentSplit]

class PaymentSplit(BaseModel):
    recipient_id: str
    amount: float  # Monto fijo
    # O
    percentage: float  # Porcentaje del total
    description: str | None = None

Un cliente paga $100 por una compra en marketplace. El marketplace se queda con el 15%, el vendedor obtiene el 85%. El sistema de pago dividido maneja esto en una sola llamada API.

La linea de tiempo de la hoja de ruta

TrimestreEnfoqueEntregables clave
T2 2026Extensiones principalesMotor de suscripciones, API de desembolsos, gestion de disputas
T3 2026Profundidad en AfricaIntegracion profunda de M-Pesa, Airtel Money, Flutterwave
T4 2026Funcionalidades de plataformaBilleteras multi-moneda, pagos divididos, asistente IA
T1 2027EscalaAnaliticas avanzadas, monitoreo de salud de proveedores, deteccion de anomalias

Cada trimestre de trabajo sera documentado en logs de sesion y eventualmente en nuevos articulos para esta serie. La construccion continua.

La vision mas amplia

0fee.dev comenzo como un orquestador de pagos. La hoja de ruta muestra que se esta convirtiendo en una plataforma de infraestructura financiera. Pagos, suscripciones, desembolsos, billeteras, disputas, analiticas -- estos son los bloques de construccion que todo negocio digital en Africa (y globalmente) necesita.

La vision no ha cambiado desde la sesion 001: una API, un SDK, un panel de control -- y cubres el mundo. Lo que ha cambiado es nuestro entendimiento de lo que "cubrir el mundo" realmente significa. Significa manejar no solo pagos unicos sino cada operacion financiera que un negocio necesita. Significa no solo conectarse a proveedores sino enrutar activamente alrededor de fallas. Significa no solo procesar transacciones sino proporcionar la inteligencia para optimizarlas.

Ochenta y seis sesiones construyeron la base. Las proximas ochenta y seis construiran el futuro. Y seran construidas de la misma manera: un CEO, un CTO de IA, cero ingenieros humanos, desde Abiyan.


Este articulo es parte de la serie "Como construimos 0fee.dev". 0fee.dev es un orquestador de pagos que cubre mas de 53 proveedores en mas de 200 paises, construido por Juste A. GNIMAVO y Claude desde Abiyan sin ningun ingeniero humano. Sigue la serie para conocer la historia completa de construccion.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles