Démarrage rapide
Rendez le routage visible sur un paiement live, puis déplacez une connexion et observez son changement.
Vous n'avez rien à activer. L'orchestration classe vos connexions depuis votre premier paiement live, et aucun champ de requête ne la démarre ou ne l'arrête. Ce démarrage rapide n'ajoute donc aucun appel à votre intégration. Il rend le classement visible, puis le modifie une fois pour vous permettre d'observer le changement.
Cinq étapes, toutes en mode live. La première explique pourquoi.
La sandbox n'effectue aucun routage
Un paiement dans la sandbox n'est pas routé : il n'utilise ni vos connexions ni vos règles, aucune décision n'est enregistrée et le journal de routage de Konsole refuse directement une clé de sandbox. Vous ne pouvez pas simuler une décision de routage sans argent réel. Utilisez donc le plus petit montant accepté par votre opérateur et payez-vous vous-même.
1. Connecter un deuxième prestataire
Une seule connexion n'offre aucune solution de repli. Wajub enregistre toujours une décision de routage, mais la liste ne contient qu'une ligne et l'échec met fin au paiement.
Ajoutez un deuxième prestataire dans le Dashboard, sous Orchestration, Fournisseurs. Les deux côtés doivent être actifs : le prestataire lui-même et votre connexion. Un prestataire ou une connexion inactifs ne sont jamais essayés. Une connexion inachevée est donc invisible, pas simplement placée en dernier.
2. Définir leur ordre
Chaque connexion possède deux nombres, tous deux disponibles sur la page du prestataire sous Configuration du routage.
| Champ | Ce qu'il décide | Valeur par défaut |
|---|---|---|
priority | L'ordre de la liste. La valeur la plus élevée passe en premier | 0 |
weight (%) | Comment deux connexions se partagent le trafic lorsque rien d'autre ne les distingue | 100 |
La priorité ordonne toutes les connexions qu'aucune règle de routage ne désigne, sur un canal sans politique de canal. Une connexion d'un palier inférieur n'est jamais essayée avant que toutes les connexions des paliers supérieurs aient échoué, quel que soit son coût. Une règle de routage correspondante et une politique de canal passent avant elle, c'est pourquoi ce guide de démarrage n'utilise ni l'une ni l'autre : Orchestration des paiements décrit l'ordre complet.
Le poids ne répartit que ce que rien d'autre ne distingue
Le poids répartit le trafic entre des connexions de même priorité que rien d'autre ne distingue : elles se valent sur le coût et sur la réussite récente. Sur un nouveau compte, ni tarif négocié ni historique récent ne distinguent les connexions : la priorité, puis le poids, décident.
Définissez une connexion sur 10 et laissez l'autre sur 0. Vous obtenez deux paliers, la
configuration minimale qui permet d'observer quelque chose dans les étapes suivantes.
3. Envoyer un paiement live
Un paiement nécessite deux appels. C'est le point sur lequel la plupart des intégrations se trompent : le premier appel n'effectue aucun routage. Il crée la transaction et n'accepte ni canal ni prestataire.
https://api.wajub.com/paymentsEnvoyez un montant, une devise et l'un des moyens suivants pour identifier le payeur : email,
phone, customer_id ou customer.
curl https://api.wajub.com/payments \
-H "Authorization: sk.xxxxxxxxxxxxxxxx…" \
-H "Content-Type: application/json" \
-d '{
"amount": 500,
"currency": "XAF",
"phone": "+237670000000",
"description": "Watching the router work"
}'Le deuxième appel effectue le routage. Il indique un canal et tout ce qui est décrit dans Orchestration des paiements se déroule pendant cet appel.
https://api.wajub.com/payments/{id}curl https://api.wajub.com/payments/trx_CSUGajfv9xh0XQ5wu2lx \
-H "Authorization: sk.xxxxxxxxxxxxxxxx…" \
-H "Content-Type: application/json" \
-d '{
"channel": "cm.mobile",
"data": { "phone": "+237670000000" }
}'Le routage utilise toujours le canal de l'opérateur. Wajub lit le numéro, reconnaît MTN et route le
paiement comme cm.mtn. Une connexion qui déclare cm.orange, mais pas cm.mtn, est donc écartée.
4. Lire la décision
Ouvrez le paiement dans le Dashboard. Sous la chronologie se trouve Décision de routage, et « Voir les détails de routage » ouvre la liste classée, dans l'ordre où les connexions devaient être essayées.
Décision de routage · cm.mtn · 500 XAF
Deux connexions, deux paliers. La première a répondu, donc la seconde n'a jamais été appelée.
- 1

cinetpayaccepté1.2 spriority 10coût le plus bas - 2

flutterwavejamais appeléepriority 0coût le plus bas
Les deux connexions portent Coût le plus bas, ce qui est normal sur un nouveau compte : sans tarif négocié, elles coûtent la même chose pour le routage, et sans historique récent sur ce canal, aucune ne se distingue par sa réussite récente. Rien ne les départage, aucune règle ne correspond et le canal n'a pas de politique : la priorité fait donc tout le travail, exactement comme vous l'avez configurée à l'étape 2.
La même liste est disponible dans le journal de routage, avec une ligne par tentative de débit plutôt qu'une ligne par paiement. Cette page est réservée au mode live, pour la raison indiquée dans le premier encadré.
5. Déplacer une connexion et observer son changement
Inversez les deux priorités : la connexion qui était sur 0 passe à 10, tandis que l'autre passe
à 0. Envoyez un deuxième paiement identique au premier.
La cascade apparaît dans le nouvel ordre. Votre code n'a pas changé, aucun déploiement n'a eu lieu et la requête de paiement est identique octet pour octet à celle envoyée cinq minutes plus tôt. C'est tout l'intérêt de cette fonctionnalité. Observez-la une fois vous-même avant de lui faire confiance en production.
Ce que l'API ne vous indique pas
L'objet paiement n'a aucun champ provider. GET /payments/{id} renvoie le channel débité,
jamais la connexion qui l'a traité. Aucun endpoint marchand ne renvoie la priorité, le poids ou la
liste des candidats. Le routage est visible dans le Dashboard et dans Konsole, nulle part ailleurs.
Une réponse 422 sur channel signifie que la liste était vide
Lorsqu'aucune connexion ne passe les filtres, le paiement renvoie
422 No eligible payment provider found for this transaction. sur la clé channel et la
transaction revient à pending. Il s'agit d'un problème de configuration du compte, pas du
payeur : le canal, la devise ou des connexions en pause sur ce canal n'ont laissé aucune connexion
à essayer.
Pages associées
- Orchestration des paiementsLes connexions admissibles, puis les règles, la politique du canal et la priorité, dans cet ordre.
- Règles de routageEnvoyer d'abord un pays, un canal, une devise ou une plage de montants à une connexion.
- Cascade et repliCe qui parcourt la liste et ce qui l'arrête définitivement.
- Accepter un paiement, guide completLe parcours complet en deux appels, page hébergée comprise.