§Payment Orchestration · VEYRA Smart Routing
The right provider for every payment, and a reason for every choice.
Smart Routing evaluates each payment against the providers available to you — by country, currency, method, cost and live health — and records the decision with a human-readable explanation. When an outcome is uncertain, it never retries blindly, so a customer is never charged twice.
Working in sandbox with simulated providers.
Payment
€86.40 · card · IT
- Country
- Currency
- Method
- Cost
- Health
- Provider AHealthy · lowest cost
- Provider BHealthy · higher cost
- Provider CDegraded · skipped
Decision
Why Provider A: supports Italian cards in EUR, health 99.2% over the last 15 min, lowest expected cost.
- Decision factors
- Country · currency · method · cost · health
- Explanation
- Stored with every payment
- Ambiguous outcomes
- Never retried blindly
- Status
- Working in sandbox
01How a decision is made
Filter, rank, decide, explain.
- 01
Filter by capability
Providers that cannot handle this country, currency or method are removed.
- 02
Check health
Providers with elevated errors or latency in the last minutes are deprioritised or skipped.
- 03
Rank by cost and your rules
Expected cost and any rule you set — such as a preferred provider for a market — decide the order.
- 04
Record why
The chosen provider, the alternatives and the reason are saved on the payment.
↺No double charges
Which failures are retried, and which are not.
Retrying is only safe when we know the first attempt did not take money. Everything else is resolved by asking the provider, not by trying again.
| Outcome of the first attempt | Retry on another provider? | Why |
|---|---|---|
| Provider unreachable before the request was sent | Yes | No charge could have happened |
| Provider rejected the request as invalid | Yes, if another provider supports it | Definitive — nothing was authorised |
| Card declined by the issuer | No | The customer’s bank said no; another route would not change that |
| Timeout after the request was sent | Never | The charge may have succeeded — the status is checked with the provider first |
| Unknown or malformed response | Never | Treated as ambiguous and reconciled before any further action |
02In depth
Routing you can audit.
- 01
Health that is measured, not assumed
Error rates and latency for each provider are tracked over rolling windows. A degraded provider is taken out of rotation and brought back gradually.
- Rolling health windows
- Automatic degradation
- Gradual recovery
- 02
Your rules on top
Pin a market to a provider, cap the share of traffic a provider receives, or exclude one for a method — rules are versioned and reviewable.
- Market-level preferences
- Traffic caps
- Versioned rule sets
- 03
One integration, many providers
Your code talks to VEYRA. Adding or replacing a provider changes no line of your integration.
- Same API for every provider
- Same webhooks
- Same ledger
?FAQ
Questions, answered
Which providers can I route between?
In the sandbox, Smart Routing works across simulated providers with different capabilities and health. Live providers will be authorised partners announced before launch.
Will a customer ever see two charges?
Smart Routing is designed so that it cannot happen through a retry: ambiguous outcomes are never retried, and every request carries an idempotency key towards the provider.
Can I see why a payment went to a provider?
Yes. Every payment shows the decision, the alternatives considered and the reason in the dashboard and in the API.
See a routing decision explained.
Make a test payment and open the “Why this provider” panel.

