Documentação oficial

A infraestrutura
por trás das vendas.

Referência técnica para implementação, configuração e operação do sistema de checkout e marketplace.

Arquitetura de componentes

Estrutura baseada em Ports & Adapters para desacoplamento de infraestrutura.

graph TD subgraph "Core (Services)" CS[Checkout Service] RS[Recipient Service] SS[Settings Service] end subgraph "Adapters (Infrastructure)" PA[Pagar.me API] DB[PostgreSQL / sqlc] TW[Temporal Worker] end H[Handlers / API] --> CS H --> RS CS -.-> PA CS -.-> DB CS -.-> TW

API Handlers

Valida tokens JWT e coordena as chamadas aos serviços.

Core Services

Lógica de checkout, splits e gestão de recebedores.

Temporal Worker

Workflows resilientes para processamento assíncrono.

Ciclo de vida de uma ordem

Sincronização entre a intenção de compra, o gateway e o banco de dados.

sequenceDiagram autonumber participant App as Backend participant API as CheckoutPP participant PG as Pagar.me App->>API: POST /checkout (JWT) API->>API: Valida Assinatura API->>PG: Create Order PG-->>API: Response (paid) API->>API: Efetiva Splits & DB API-->>App: OK (200)

Configuração (ENVs)

Variáveis necessárias para o funcionamento do servidor.

Variável Descrição Exemplo
DATABASE_URL URL de conexão PostgreSQL. postgres://...
SETTINGS_ENCRYPTION_KEY Chave AES-256 para o banco. Gerada via keygen

CLI Reference

Gestão total através do binário server.

Comandos essenciais

./bin/server keygen

Gera uma nova chave mestra de encriptação.

./bin/server store create "id"

Cria uma nova store no banco com segredos automáticos.

Segurança & JWT

Assinatura via HS256 utilizando o segredo da store.

{
  "iss": "ID_DA_STORE",
  "external_id": "ORD_123",
  "amount": 15000,
  "customer": { "email": "[email protected]", "name": "John" },
  "order": {
    "amount": 15000,
    "items": [...]
  }
}