Orchestration Quickstart
Understand how routing is already active for you, and how to start shaping it.
Orchestration is always on — there is no opt-in flag to set on the payment request. Every
POST /payments call is routed through the same engine, using whichever providers you've enabled
for your team and however you've prioritized them.
1. Just call /payments
No special parameter is needed or exists (there is no auto_route/autoRoute field). Provide the
phone number and let Wajub pick a channel and provider:
curl https://api.wajub.com/payments \
-H "Authorization: pk.xxxx" \
-d '{ "amount": 25000, "currency": "XAF", "customer": { "phone": "+237670000000" } }'2. Observe the decision
The payment response itself does not include an orchestration block with a matched rule or
fallback chain — that metadata isn't returned inline. To see how a payment was routed, look it up
afterwards in Konsole → Routing Log: it shows the ordered
candidate list, each candidate's priority tier and score breakdown, and any provider skipped by
the circuit breaker.
3. Shape the routing
With no configuration at all, whatever providers you've connected are tried in whatever priority you last set (default priority is the same for all, so ties are broken by cost/telemetry/weight). To take control:
- Set each provider's priority on the Providers settings page — higher priority is always tried first, full stop.
- Add a routing rule to boost a specific provider for a given country/channel/currency/amount range — this only affects ordering within a priority tier, it does not override priority.
- Adjust
weighton providers within the same tier to split traffic between them.
No migration needed
Configuring priority or rules does not change your integration code: you still call
/payments. All the routing logic lives on the Wajub side.