Aller au contenu

Prestataires

Connectez un prestataire, choisissez ce qu'il traite et découvrez l'effet de chaque champ sur le routage.

Une connexion à un prestataire correspond à votre propre compte chez un prestataire de paiement, conservé par Wajub et utilisé en votre nom. Wajub ne revend l'accès au réseau de personne. Vous signez avec CinetPay, Flutterwave ou MTN, vous collez vos identifiants ici, puis le moteur effectue les débits par leur intermédiaire, selon votre contrat et vos tarifs négociés.

Tout ce que le routeur connaît d'une connexion se trouve sur sa page sous Orchestration, Providers. Cette page explique le rôle de chaque champ.

Connecter un prestataire

L'assistant comporte quatre étapes. Seules les deux premières dépendent du prestataire choisi.

Credentials. Chaque prestataire déclare ses propres champs, car le site_id de CinetPay n'a pas d'équivalent chez Stripe. Le formulaire est construit à partir de cette déclaration. Il demande donc exactement ce dont le prestataire a besoin, rien de plus. Les valeurs sont chiffrées au repos et ne vous sont ensuite jamais renvoyées entièrement.

Channels. Les fonctionnalités du prestataire que vous souhaitez utiliser pour le routage par cette connexion. Ne modifiez rien pour obtenir tout ce que le prestataire prend globalement en charge, à l'exception des canaux qu'il doit d'abord activer pour votre compte.

Routing. Les quatre nombres au coeur de cette page : la priorité, le poids et votre tarif négocié.

Review. Rien n'est enregistré avant cette étape. Un test devient ensuite disponible sur la page de la connexion. Il appelle le prestataire avec vos identifiants et vous indique s'ils fonctionnent avant qu'un véritable payeur n'en dépende.

Ce qu'une connexion peut traiter

Deux listes restreignent une connexion et fonctionnent de la même manière : une liste vide signifie tout, pas rien.

Canaux. Le routeur vérifie d'abord que le prestataire peut techniquement traiter le canal du paiement, puis que votre propre liste de canaux l'autorise. Si vous n'avez jamais défini de liste, la seconde vérification accepte toutes les fonctionnalités du prestataire. La restriction est un choix.

Devises. Même règle. Une liste de devises vide accepte toutes les devises que le prestataire peut régler.

Le canal utilisé ici est un slug exact, identique à celui du routeur : cm.mtn, sn.wave, ke.mpesa, card. Le moteur ne contient aucune valeur de niveau produit comme mobile_money ou bank_transfer. Choisir une liste de canaux revient à sélectionner les réseaux des opérateurs un par un.

Certains canaux nécessitent d'abord l'accord du prestataire

Quelques fonctionnalités doivent être activées par le prestataire sur votre compte avant d'accepter un débit. Elles sont exclues de la liste par défaut qui contient tout ce que le prestataire prend en charge. Elles ne peuvent donc pas apparaître par accident. Ajoutez-les explicitement après la confirmation du prestataire, pas avant.

Configuration du routage

Quatre champs qui ont des effets très différents.

priorityintegerfacultatifdéfaut : 0
Ordonne toute la liste des candidats. La valeur la plus élevée est essayée en premier. Un palier inférieur n'est jamais utilisé avant l'échec de toutes les connexions des paliers supérieurs. C'est le seul contrôle absolu.
weightinteger, 0 à 100facultatifdéfaut : 100
Détermine par un tirage pondéré quelle connexion passe en premier parmi les candidats qui ont la même priorité et le même score. Les autres conservent leur ordre derrière la gagnante.
Tarif négociépourcentagefacultatif
Le pourcentage du montant que ce prestataire vous facture. Il alimente le bonus du coût le plus faible dans le score de routage. Si vous le laissez à zéro, toutes les connexions ont un coût calculé nul et reçoivent le bonus en même temps.
Frais fixesmontantfacultatif
La part du même coût facturée par transaction, dans votre devise de base. Les deux valeurs peuvent être remplacées pour un canal précis lorsqu'un prestataire applique un tarif différent à un réseau.

Utilisez la priorité lorsque vous connaissez la réponse souhaitée. Les trois autres champs ne sont pris en compte qu'à l'intérieur d'un palier, une fois que la priorité a regroupé vos connexions.

Prenons un exemple : deux connexions peuvent traiter cm.mtn, l'une avec une priorité de 10 et l'autre de 0. La première est toujours appelée en premier, quels que soient le coût et les performances de la seconde. Placez-les toutes les deux sur 10 pour laisser le score décider. Les tarifs et les taux de réussite en direct commencent alors à compter.

Saisissez vos tarifs avant d'attendre un routage au moindre coût

Le bonus du coût le plus faible vaut 200 points et revient à la connexion la moins chère pour ce montant et ce canal précis. Sans tarif saisi, toutes les connexions sont à égalité avec un coût nul et reçoivent le bonus. Cela revient à ne l'attribuer à aucune. La saisie du coût réel de chaque prestataire active concrètement ce bonus.

Le catalogue et la signification d'une présence dans celui-ci

La liste des prestataires du Dashboard présente ceux que vous pouvez connecter. Trois conditions doivent être réunies avant qu'un prestataire puisse traiter un paiement live. Il peut apparaître dans le catalogue sans remplir l'une d'elles.

ConditionOrigine
Le prestataire est répertorié et actifLe catalogue de Wajub
Le moteur fournit un driver pour celui-ciLe runtime de paiement, environ quarante actuellement
Vous possédez ses identifiantsVotre propre contrat avec le prestataire

Un prestataire sans driver est retiré silencieusement de toutes les listes de candidats avant le classement. Ce comportement est volontaire. Si vous avez connecté un prestataire qui n'apparaît jamais dans une décision de routage, vérifiez ce filtre avant ceux du canal et de la devise.

Il existe six types de prestataires, et leur type indique leur nature : aggregator, mobile_money, card, wallet, bank, crypto. Un agrégateur atteint plusieurs opérateurs avec un seul contrat. Une connexion à un agrégateur peut donc remplir toute une colonne de la matrice. Une connexion Mobile Money directe accède au réseau d'un seul opérateur.

Wajub exploite également une connexion interne au Cameroun qui couvre cm.mtn et cm.orange. Elle est accordée après une demande, pas en collant des identifiants. Une fois en place, elle se comporte comme toutes les autres connexions, y compris pour la priorité et le poids.

Nombre de connexions autorisées

Votre plan définit le plafond. C'est la seule limite qui détermine ce que l'orchestration peut faire pour vous.

PlanConnexionsRègles de routage
Pay as you go2Non incluses
Growth6Incluses
ScaleIllimitéesIncluses
EnterpriseIllimitéesIncluses

Deux connexions constituent le minimum nécessaire à une cascade. Avec une seule connexion, le moteur continue de s'exécuter, de classer et d'enregistrer une décision, mais la liste ne contient qu'une ligne et un échec du chemin met fin au paiement.

Lorsqu'une connexion rencontre un problème

Deux mécanismes agissent seuls, à des échelles de temps différentes. Vous ne configurez aucun des deux.

Le health badge de la connexion présente les transactions créditées qui l'ont empruntée au cours des dernières 24 heures. Il est vert à partir de 95 %, orange à partir de 80 %, rouge en dessous et gris tant que cinq paiements n'ont pas été traités. Il évalue la dernière journée à votre intention.

Le coupe-circuit agit en quelques secondes. Cinq échecs liés au chemin en une minute sur un canal retirent cette route des listes de candidats pendant cinq minutes, puis une tentative de contrôle a lieu. Ce mécanisme s'applique à votre compte, à un canal et à un prestataire précis. Une connexion qui échoue sur cm.mtn continue donc de traiter normalement cm.orange. Cascade et repli décrit tout ce comportement.

Ce que votre intégration peut consulter

Vos connexions sont accessibles depuis l'API, volontairement sans leur configuration de routage.

GEThttps://api.wajub.com/providers

La réponse donne l'identifiant, le slug, le nom, le logo, le type, l'indicateur d'activité et les canaux réellement disponibles de chaque prestataire connecté. Ces canaux correspondent à l'intersection entre ceux pris en charge par le prestataire et ceux que vous avez activés. La priorité, le poids, les tarifs et les identifiants n'y figurent pas. Aucun endpoint ne permet de les modifier.

Chaque entrée de channels est le même objet que celui renvoyé par GET /channels. Une connexion avec six canaux en contient donc six. L'exemple ci-dessous présente une connexion et l'un de ses canaux en entier.

Réponse · une connexion, un canal
{
"id": "01a048f7-451d-7245-93b7-c094e0117482",
"slug": "cinetpay",
"name": "CinetPay",
"logo": "https://assets.wajub.com/img/providers/cinetpay/icon.png",
"type": "aggregator",
"is_active": true,
"sandbox": false,
"channels": [
{
"id": "chn.4ALL37uSbXWS",
"uid": "chn.4ALL37uSbXWS",
"slug": "cm.mtn",
"name": "MTN Mobile Money CM",
"type": "mobile_money",
"countries": [
"CM"
],
"logo": "https://assets.wajub.com/img/channels/momo.svg",
"active": true,
"collect": true,
"payout": true,
"currency": "XAF"
}
]
}

Les modifications d'une connexion sont envoyées à vos endpoints de webhook. Votre backend peut ainsi rester à jour sans interroger régulièrement cette liste.

ÉvénementMoment de l'émission
provider.activatedUne connexion est devenue active, lors de sa création ou de sa réactivation
provider.deactivatedUne connexion a été suspendue ou déconnectée
provider.channel_activatedUn canal est devenu utilisable pour le routage par une connexion
provider.channel_deactivatedUn canal a cessé d'être utilisable pour le routage par celle-ci

Si votre checkout affiche les moyens de paiement, utilisez les événements de canal plutôt qu'une liste codée en dur. Ils sont émis pour l'ensemble exact accepté par le routeur.

Demander un prestataire absent de la liste

Écrivez à providers@wajub.com en indiquant le prestataire, les pays et les canaux dont vous avez besoin. Un nouveau prestataire nécessite l'écriture et le test d'un driver dans le runtime de paiement. Il s'agit donc d'un développement, pas d'une modification de configuration. Les pays indiqués déterminent sa position dans la file d'attente.

Que pensez-vous de ce contenu ?