Skip to content

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?

Filters

FilterWhat it matches
SearchThe payment id
Channelcm.mtn, ci.orange, and the rest
ProviderThe one that won
DateWhole calendar days
OutcomeHad fallback, Had circuit-breaker skip or No eligible candidate

The outcome filter is the shortcut worth knowing.

OutcomeMeans
Had fallbackMore than one candidate was ranked, so the waterfall had somewhere to fall
Had circuit-breaker skipAt least one provider was skipped because Wajub had paused it on this channel after repeated failures
No eligible candidateNothing 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 seeWhat it tells you
BLOCKEDA 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 candidatesEvery connection that could carry the payment, in the order they were to be tried. The first one is rank 1
AttemptsThe 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 candidateWhat it means
PriorityThe priority of that connection on your account. A fallback standing in for its rule's target takes the higher of the two
ScoreWajub'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 matchOne of your routing rules placed it, as its target or as a fallback standing in for that target
FallbackIt is a rule's fallback provider, tried right after the rule's target or in its place
Channel policyThe channel's policy placed it
Least costIt was the cheapest connection for this payment, from the rates you entered
Recent success badgeIt 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

  1. payment.created12:31:48.001

    25,000 XAF, channel cm.mtn

  2. route.evaluatedmomo-cm-mtn-first12:31:48.044

    Rule "MoMo CM, MTN first" matched

  3. provider.attempt.failedMTN MoMo12:31:48.901

    MTN MoMo returned a 503 error

  4. route.fallbackwaterfall12:31:49.220

    Automatic waterfall fallback to next provider

  5. provider.attempt.succeededOrange Money12:31:50.130

    Payment accepted

  6. payment.succeeded12:31:50.140

    trx_CSUGajfv9xh0XQ5wu2lx, 1 940 ms over 2 attempts

What did you think of this content?