Logo Lanfrica

enoHns/payment-routing-engine

Domaine:

digital infrastructure

Type de record:

software
Créateur:
eno
Hôte:
Routing Engine service for mobile money payments across multiple aggregators in West Africa. # payment-routing-engine Score-based payment routing across multiple mobile money aggregators — West Africa. Clone, plug in your aggregator adapters under `src/providers/`, and deploy. --- Integrating mobile money payments in your app (GSMA, 2026) often means picking one aggregator and integrating it. That works until it doesn't: - some aggregators don't support all the operators your users are on - when a corridor degrades or an aggregator has issues, you have no routing alternative on your side - with multiple aggregators integrated, there's no standard way to decide which one to use at a given time This service adds a routing layer on top of your aggregators: it scores them per operator corridor using a weighted scoring model, routes to the best available option, and falls back automatically on retryable failure — circuit breaker built in. --- Scores derive from a 24h sliding window, cached 5 min in Redis, invalidated on each webhook. Cold start defaults to `0.5` across all components. ## Provider integration model Payment aggregators in West Africa differ in how they expose payment collection to merchants. ### DIRECT providers — server-initiated collection These aggregators expose a server-to-server REST API. The backend sends a collection request with the customer's phone number and amount; the aggregator forwards it to the operator, which delivers a confirmation prompt to the customer (USSD push for MTN MoMo/Moov/Orange Money, in-app notification for Wave and similar app-based wallets). The result comes back via webhook. | Provider | Countries | |-----------|-----------------------------| | FedaPay | BJ | | CinetPay | CI, SN, TG, BF, CM | | FeexPay | BJ, CI, TG, SN | | PayDunya | SN, CI, BF, ML, NE | ### REDIRECT providers — hosted checkout Some aggregators do not publish a server-side collection API. KKiaPay is an example: there is no endpoint to initiate a payment pr …