<!-- Source: https://docs.infraio.xyz/pt-BR/get-started/introduction -->
<!-- Last updated: 2026-10-04 -->

# Introdução

## O formato de um pagamento

Um lojista que integra a InfraIO Pay lida com quatro peças em movimento:

### Sessão de checkout

Você cria uma sessão no servidor com os itens da venda e os totais. A
resposta traz um `session_key` (`cst_…`) e uma `checkout_url`. As sessões
têm tempo limitado (padrão de 30 minutos) e são de uso único.

### Página de checkout hospedada

Você carrega o nosso SDK no navegador e abre a sessão — popup, redirect
ou iframe embutido. O comprador escolhe uma combinação rede × ativo (USDT
na Polygon, ETH na Base, …), vê um endereço de depósito por pedido (CREATE2) gerado + QR e
envia os fundos pela carteira dele.

### Confirmação do pagamento

A InfraIO Pay observa a rede em questão buscando transferências de
entrada que combinem com o endereço de depósito da sessão. Quando o
pagamento atinge a quantidade configurada de confirmações (por exemplo,
12 na Ethereum mainnet, 5 na Polygon — veja [Redes e ativos](https://docs.infraio.xyz/pt-BR/concepts/chains)),
o PaymentIntent associado vai para `SETTLED` e o Order pai vai para `PAID`.

Em TRON, Solana e TON não há endereço de depósito. A carteira do comprador paga diretamente a sua carteira de Tesouraria (TronLink, um QR do Solana Pay ou TON Connect) e a InfraIO Pay reconhece esse pagamento. Veja [Redes e ativos](https://docs.infraio.xyz/pt-BR/concepts/chains).

> Os pagamentos vão direto para suas carteiras de Tesouraria — a InfraIO Pay nunca retém seus fundos.

### Webhook

A gente envia um POST assinado com o evento `payment.settled` para a URL
de webhook que você registrou. O seu servidor verifica a assinatura,
busca o pedido e cumpre a entrega.

## O modelo de dados em um diagrama

```
CheckoutSession  ←  1:1  →  Order  ←  1:N  →  PaymentIntent
   (tempo limitado)        (permanente)        (um por tentativa de pagamento)
```

Você pensa em **Orders** para a entrega, cria **Sessions** para receber
o pagamento e o sistema gerencia os **PaymentIntents** nos bastidores
para retentativas e seleção de rede.

## O que a gente cuida vs. o que você cuida

| A InfraIO Pay cuida | Você cuida |
| --- | --- |
| UI hospedada do checkout (endereço de depósito, QR, seletor de ativo) | Catálogo + criação do Order no seu banco |
| Monitoramento da rede + lógica de confirmações em 8 redes EVM mais TRON, Solana e TON (em breve) | Receiver de webhook + verificação de assinatura |
| Checkout multi-ativo de stablecoins (USDT, USDC por rede) | Mapear o nosso `order_id` ↔ o ID do seu pedido via `external_ref` |
| Contabilidade de reembolsos (máquina de estados, dashboard, API) | Assinar + transmitir a tx de reembolso on-chain |
| Chaves de modo de teste + webhooks de teste isolados | Abastecer carteiras de testnet a partir de torneiras (faucets) |

> **Note:**
>
> A gente não retém custódia dos fundos do lojista. As transferências do
> comprador para o lojista acontecem **diretamente** on-chain; a gente é a
> camada de indexação + reconciliação que avisa quando a transferência
> foi confirmada.

## Modo de teste vs. modo live

Toda conta começa em **modo de teste**. As chaves de teste têm o prefixo
`pk_test_` / `sk_test_`. As chaves live (`pk_live_` / `sk_live_`) ficam
disponíveis depois que você conclui a verificação da conta e adiciona
uma carteira de Tesouraria para cada rede em que quer receber (você
assina uma mensagem para provar que a controla).

A mesma URL base da API atende aos dois — o ambiente é determinado pelo
prefixo da chave, não pela URL. O modo de teste roda contra **testnets
reais** (Sepolia, Base Sepolia, BSC Testnet, etc.) — não existe rede
fictícia. Para acionar um pagamento de teste você precisa de fundos
reais de testnet, vindos de uma torneira.

## Contato / suporte

Dúvidas ou precisa de ajuda? Escreva para [contact@lartech.xyz](mailto:contact@lartech.xyz).

## O que a InfraIO Pay não é

- **Não é um custodiante.** Os fundos vão do comprador para a sua carteira
  de Tesouraria on-chain, direto. A gente nunca retém o seu saldo.
- **Não exige uma carteira.** Os clientes pagam da própria carteira (o checkout hospedado
  tem uma opção embutida de WalletConnect). A [InfraIO Wallet](https://docs.infraio.xyz/pt-BR/wallet/overview)
  é uma carteira passkey separada e non-custodial, e não é obrigatória.
- **Não é uma rampa fiat.** Os compradores pagam no ativo cripto que
  têm; a gente não converte.
- **Não é um gateway de Bitcoin.** Stablecoins em 8 redes EVM mais TRON, Solana e TON (em breve); sem Bitcoin nem Lightning. Veja [Redes e ativos](https://docs.infraio.xyz/pt-BR/concepts/chains) para a matriz atual.

## Próximos passos

- [Início rápido](https://docs.infraio.xyz/pt-BR/get-started/quickstart) — copie e cole a sua
  primeira integração em ~10 minutos.
- [Conceitos → Sessões](https://docs.infraio.xyz/pt-BR/concepts/sessions) — o modelo de dados
  em profundidade.
- [SDK → JavaScript](https://docs.infraio.xyz/pt-BR/sdks/javascript) — o único SDK publicado
  hoje.
- [Preços e taxas](https://docs.infraio.xyz/pt-BR/concepts/pricing) — faixas de volume e descontos.
- [App do lojista](https://docs.infraio.xyz/pt-BR/get-started/merchant-app) — gerencie o seu negócio pelo celular.
