DocumentationPricingMultiPrimeX Store
EnglishenالعربيةSoonDeutschSoonEspañolSoonفارسیSoonFrançaisSoonहिन्दीSoonItalianoSoon日本語Soon한국어SoonPortuguêsSoonРусскийSoonTürkçeSoon简体中文Soon繁體中文Soon

Payments

One failing provider should not be a failed deposit

Providers degrade quietly and recover without telling you. Routing exists so that the client attempting to fund at that moment never finds out.

What the decision is made from
methodCard, bank transfer, local rail, digital asset
currencyWhat the client is paying in
countryWhere the client and the instrument are
amountSome providers are better at some sizes
success_rateMeasured live, not assumed from a contract
costWhere two providers are otherwise equal

See it live

The routing table, not just the promise

Method, currency, country and live success rate all feed one configuration, and every one of those weights is something you can open and read.

PayVault provider routing console showing method and currency rules with provider health status

Retries

The part that turns a good idea into a double charge

The same request, never a second charge

A retry carries the original idempotency key. If the first attempt actually succeeded and only the response was lost, the retry returns that result rather than creating a second payment.

Only retry what is worth retrying

A network timeout is worth another attempt. An explicit decline for insufficient funds is not, and retrying it just annoys the client and the provider.

Fail over, do not just repeat

Where the first provider is the problem, the second attempt goes somewhere else. Repeating the same request to the same failing endpoint is not a retry strategy.

Provider health

Routing reacts to what providers are doing, not what they promised

SignalWindowWhat happens
Success rateRolling

Weight shifts away from a degrading provider automatically

Response latencyRolling

Slow responses are treated as early failure evidence

Decline reasonsRolling

A spike in one reason code is surfaced, not averaged away

Hard outageImmediate

Provider removed from routing until it recovers

FAQ

Provider routing: common questions

6 short answers to what teams ask before a demo.

No. Your existing provider relationships and commercial terms stay yours. Routing sits above them and decides which of your providers gets each attempt, which is a different thing from replacing them.

From the method, currency, country and amount, then weighted by measured success rate and cost. The rules are yours to set and inspect — routing that cannot be explained afterwards is not a feature.

Every attempt carries an idempotency key. If the original request actually succeeded and only the response was lost, the retry returns the original result instead of creating a second payment.

No, and that matters. Timeouts and transport errors are retried, usually against a different provider. An explicit decline is not — repeating it wastes the client's time and damages your standing with the provider.

Weighting shifts continuously as success rates move, and a hard outage removes the provider from routing until it recovers. The point is that the first client to hit the problem is not also the hundredth.

Yes. The chosen provider, the routing reason and any earlier failed attempts are all attached to the payment record, so a support question or a reconciliation query has one place to look.

Still have a question?

A specialist will answer it directly, with your set-up in mind.

Ask a specialist
Routing review

Bring your provider mix

We will map your current providers against method, currency and geography and show you where attempts are going to the wrong one.

Call us+971 52 654 0123WhatsApp+971 52 654 0123Email usinfo@multiprimex.com
Book a demo