Routing
Which providers were considered for a payment, in order, and why.
When a payment has more than one possible provider, Wajub ranks them and tries the first. The Routing view is the record of that ranking: every candidate and why it was placed, the ones that were skipped, and the attempts that followed.
It answers the question that has no other answer: why did this payment go through that provider?
Live only
Routing is gated to live mode. Sandbox payments do not go through provider selection, so a sandbox account has nothing to show here.
Filters
| Filter | What it matches |
|---|---|
| Search | The payment id |
| Channel | cm.mtn, ci.orange, and the rest |
| Provider | The one that won |
| Date | Whole calendar days |
| Outcome | Had fallback, Had circuit-breaker skip or No eligible candidate |
The outcome filter is the shortcut worth knowing.
| Outcome | Means |
|---|---|
| Had fallback | More than one candidate was ranked, so the waterfall had somewhere to fall |
| Had circuit-breaker skip | At least one provider was skipped because Wajub had paused it on this channel after repeated failures |
| No eligible candidate | Nothing was eligible. These are the payments that failed before any provider was called |
Filtering on No eligible candidate over a week is the fastest audit of your own configuration: every row is a payment you could not have taken.
What a decision shows
Select a row to open the decision. It shows the payment (its id, channel, amount and currency, with View payment to open it), then, under Why the router ranked candidates this way, the ranked candidates, and under them the attempts.
| What you see | What it tells you |
|---|---|
| BLOCKED | A country restriction on your account stopped the payment before any provider was considered |
| Skipped (circuit open) | Providers Wajub had paused on this channel after repeated failures, so they were not ranked |
| The ranked candidates | Every connection that could carry the payment, in the order they were to be tried. The first one is rank 1 |
| Attempts | The provider calls that actually happened, in order, with the outcome of each |
Each candidate shows its Priority and its Score, then badges for the reasons it was placed where it is.
| On a candidate | What it means |
|---|---|
| Priority | The priority of that connection on your account. A fallback standing in for its rule's target takes the higher of the two |
| Score | Wajub's comparison of cost and recent success. It only orders connections that share a priority, higher first, and a rule or a channel policy comes before it |
| Rule match | One of your routing rules placed it, as its target or as a fallback standing in for that target |
| Fallback | It is a rule's fallback provider, tried right after the rule's target or in its place |
| Channel policy | The channel's policy placed it |
| Least cost | It was the cheapest connection for this payment, from the rates you entered |
| Recent success badge | It has been performing well on this channel recently |
A candidate with neither Rule match nor Channel policy was ordered by its priority, then its score, then its weight. Reading the badges tells you whether a payment took a rail because of your rule, because of the channel's policy, because it was cheapest, or because the provider you expected has been failing lately.
Three things to look for
A rank 1 you did not expect. Read its badges first. Rule match means one of your routing rules matched; open Orchestration, Routing Rules to see which one applies to this channel. Channel policy means the channel's policy ordered it. With neither, the priority, the score and the weight decided.
A provider missing from the candidate list. It was not skipped, it was never eligible. The cause is upstream of routing: currency, channel or country support, or the provider not being enabled on your account. The routing simulator on Orchestration, Routing Rules, on a Growth plan or above, names the reason for each connection it leaves out. A connection you paused yourself, or a provider that is not active, does not appear there at all.
A provider under Skipped (circuit open). Wajub had paused it on this channel because it kept failing. It comes back on its own once it works again.
BLOCKED is not a provider decision
It is an account level restriction, checked before any provider is considered. The candidate list is empty and no provider was ever contacted.
The attempt chain
Under the ranking sits what actually happened: one row per provider call, in order, with the outcome of each. A payment that succeeded on the second candidate shows the first one's failure above it, which is the whole point of a waterfall you can audit.
Routingtrx_CSUGajfv9xh0XQ5wu2lx
payment.created12:31:48.001
25,000 XAF, channel cm.mtn
route.evaluatedmomo-cm-mtn-first12:31:48.044
Rule "MoMo CM, MTN first" matched
provider.attempt.failedMTN MoMo12:31:48.901
MTN MoMo returned a 503 error
route.fallbackwaterfall12:31:49.220
Automatic waterfall fallback to next provider
provider.attempt.succeededOrange Money12:31:50.130
Payment accepted
payment.succeeded12:31:50.140
trx_CSUGajfv9xh0XQ5wu2lx, 1 940 ms over 2 attempts