> ## Documentation Index
> Fetch the complete documentation index at: https://yn-c9bb3266.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Providers

> Payment providers behind Yuno's orchestration: how the abstraction works, how routing picks one per transaction, and how failover cascades.

## What a provider is

A provider in Yuno is a payment processor, acquirer, or gateway that executes transactions. Yuno abstracts each provider's API behind one unified interface, so you integrate once and can route to any connected provider.

Examples include Stripe, Adyen, Mercado Pago, dLocal, PagSeguro, and hundreds of regional acquirers across Latin America, North America, Europe, and Asia.

## Multi provider architecture

Connect multiple providers for the same payment method and country. Yuno picks the optimal provider for each transaction based on your routing rules.

## Smart routing

Smart routing decides which provider processes each transaction. Configure rules in **Dashboard > Routing**.

| Strategy              | Description                                        | Best for                                     |
| --------------------- | -------------------------------------------------- | -------------------------------------------- |
| **Priority based**    | Route to providers in a fixed order                | Simple setups, single provider preference    |
| **Cost optimization** | Route to the provider with the lowest fees         | Reducing processing costs                    |
| **Approval rate**     | Route based on historical success rates            | Maximizing conversion                        |
| **Geographic**        | Route to local acquirers for domestic transactions | Improving approval rates in specific regions |
| **Custom rules**      | Route based on BIN, amount, method, or metadata    | Advanced orchestration                       |

<Note>
  Routing decisions happen per transaction, not per payment. When a payment cascades, the routing engine re evaluates the best option for each retry independently.
</Note>

See [multi provider orchestration](/guides/multi-provider-orchestration) and [BIN routing strategy](/guides/bin-routing-strategy) for concrete configuration patterns.

## Failover and cascading

When a provider declines or fails to respond, Yuno can retry automatically with the next provider in your configuration.

```mermaid theme={"theme":{"light":"github-dark","dark":"github-dark"}}
graph LR
    P([Payment]):::payment
    T1[Transaction 1<br/>Provider A<br/>DECLINED]:::declined
    T2[Transaction 2<br/>Provider B<br/>SUCCEEDED]:::succeeded
    P --> T1
    T1 -.->|cascade| T2

    classDef payment fill:#f4f4f5,stroke:#71717a,color:#09090b
    classDef declined fill:#fff,stroke:#e4e4e7,color:#52525b
    classDef succeeded fill:#eef0fe,stroke:#3e4fe0,color:#09090b
```

Configure cascading:

| Setting         | Description                                                                                 | Example                                             |
| --------------- | ------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| **Max retries** | Maximum number of providers to try before giving up.                                        | `3`                                                 |
| **Retry on**    | Decline codes that trigger a cascade to the next provider.                                  | `timeout`, `do_not_honor`, `issuer_unavailable`     |
| **Exclude on**  | Decline codes that must **not** cascade. A retry wastes budget and risks scheme violations. | `stolen_card`, `fraud_suspected`, `restricted_card` |

<Warning>
  Not every decline should cascade. Hard declines (stolen card, fraud) should not retry on another provider. Configure your exclude rules to avoid wasted retries and to stay compliant with scheme rules.
</Warning>

See [transaction retries](/features/transaction-retries) for retry configuration and the [Dashboard routing builder](/platform/dashboard/routing).

## Provider configuration

Set providers up in **Dashboard > Providers**.

<Steps>
  <Step title="Add a provider">
    Navigate to **Dashboard > Providers > Add Provider** and pick from the available integrations.
  </Step>

  <Step title="Enter credentials">
    Provide the provider's API keys, merchant IDs, and any required configuration. Each provider has different credential requirements.
  </Step>

  <Step title="Enable payment methods">
    Select which methods this provider should handle (cards, SEPA, UPI, Pix, Alipay, and so on).
  </Step>

  <Step title="Configure routing">
    Go to **Dashboard > Routing** to set priority, failover rules, and any conditional routing logic.
  </Step>
</Steps>

See [Dashboard connections](/platform/dashboard/connections) for the step by step setup.

## Normalized responses

Yuno normalizes every provider response into a standard status. The raw provider response is preserved in the [transaction](/core-concepts/transactions) for debugging.

| Yuno status | Typical provider meaning                          |
| ----------- | ------------------------------------------------- |
| `SUCCEEDED` | Approved, authorized                              |
| `DECLINED`  | Insufficient funds, do not honor, restricted card |
| `REJECTED`  | Invalid data, fraud suspicion                     |
| `FAILED`    | Timeout, network error, provider outage           |

## What next

<div className="mdx-card-tiles">
  <CardGroup cols={2}>
    <Card title="Multi provider orchestration" icon="shuffle" href="/guides/multi-provider-orchestration">
      How to set up routing across multiple providers.
    </Card>

    <Card title="BIN routing strategy" icon="route" href="/guides/bin-routing-strategy">
      Send cards to the acquirer most likely to approve them.
    </Card>

    <Card title="Transactions" icon="arrow-right-arrow-left" href="/core-concepts/transactions">
      What each provider attempt looks like under the hood.
    </Card>

    <Card title="Dashboard routing" icon="sliders" href="/platform/dashboard/routing">
      Configure providers and routing without code.
    </Card>
  </CardGroup>
</div>
