> ## Documentation Index
> Fetch the complete documentation index at: https://docs.selltrust.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Pagamentos

> Provedores, métodos de pagamento e como as credenciais são protegidas

A configuração de pagamento de uma loja tem dois tipos de registro, ambos identificados pelo campo `gateway`:

| Tipo (`kind`) | `gateway` | O que guarda |
| - | - | - |
| `PROVIDER` | `MISTIC_PAY`, `EFI_PAY`, `PUSHIN_PAY`, `SYNC_PAY`, `NX_GATE`, `PURIN_CASH`, `MERCADO_PAGO` | As credenciais da conta no provedor |
| `METHOD` | `PIX`, `CREDIT_CARD` | Qual provedor atende o método, a taxa repassada ao comprador e o roteamento por valor |

Para a loja vender por PIX, por exemplo, conecte um provedor (`PUT /api/v1/gateway/MISTIC_PAY`) e depois aponte o método para ele (`PUT /api/v1/gateway/PIX` com `provider: "MISTIC_PAY"`).

## Credenciais nunca voltam

Nenhuma resposta da API traz credenciais. Cada provedor devolve `credentials`, um mapa `campo → true/false` que diz só quais campos estão preenchidos, e `info`, com dados que não dão acesso a nada (modo de autenticação, nome do certificado, validade do token).

Ao atualizar um provedor, **campo de credencial não enviado mantém o valor salvo**. Dá para desligar um provedor ou trocar só uma das chaves sem reenviar as outras.

## Credenciais por provedor

| Provedor | Campos em `data` |
| - | - |
| `MISTIC_PAY` | `client_id` (chave pública, começa com `pk_`), `client_secret` (chave secreta, começa com `sk_`) |
| `EFI_PAY` | `client_id`, `client_secret`, `certificate` (arquivo `.p12` em base64), `certificate_name`, `payee_code` (opcional, para cartão) |
| `PUSHIN_PAY` | `token` |
| `SYNC_PAY` | `client_id`, `client_secret` |
| `NX_GATE` | `api_key` |
| `PURIN_CASH` | `api_key` |
| `MERCADO_PAGO` | Conectado por OAuth. Veja [Mercado Pago](https://docs.selltrust.com.br/api-reference/gateways/mercado-pago.md) |

## Roteamento do método

Em um registro `METHOD`, `data.routing` permite trocar de provedor conforme o valor do pedido e definir reservas:

```json theme={null}
{
  "routing": {
    "rules": [
      {
        "min_amount": 500,
        "provider": "EFI_PAY"
      }
    ],
    "fallbacks": [
      "EFI_PAY"
    ]
  },
  "max_installments": 12
}
```

* `rules`: a partir de `min_amount` (em reais), o pedido vai para `provider`.
* `fallbacks`: provedores tentados, em ordem, se o principal falhar ao gerar a cobrança.
* `max_installments`: de 1 a 12, só para `CREDIT_CARD`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.