Skip to main content
Este guia leva você do nada até um link de checkout funcional que pode ser enviado a um cliente real. Tudo em uma sessão de terminal, com dados mínimos.

Antes de começar

1

Tenha uma conta Simplo

Cadastre-se em besimplo.com se ainda não tem conta.
2

Pegue uma chave de sandbox

No painel, vá em Configurações → Chaves de API e copie a chave de sandbox (começa com test_).
Nunca use chaves de produção em ambiente de teste. Sandbox simula tudo sem cobrar de verdade.
3

Exporte a chave no terminal

Passo 1 — Criar um cliente

Toda cobrança no Simplo é feita contra um cliente. O único campo obrigatório é name. Aqui também enviamos um CPF válido para emissão fiscal:
O identifier (CPF/CNPJ) é validado por checksum. Padrões sequenciais como 123.456.789-09, mesmo que matematicamente válidos, são rejeitados. Use um CPF/CNPJ real ou gerado por um validador.
A resposta traz o id do cliente. Guarde-o:

Localizar um cliente existente

Se você ainda não salvou o id do Simplo, use os filtros do GET /api/v1/customers. Você pode localizar o cliente por identifier (CPF/CNPJ) ou pelo external_code definido pela sua integração. Os dois valores são únicos dentro da sua conta. O documento pode ser enviado com ou sem pontuação.
Para buscar pelo seu próprio identificador, use external_code:
As duas buscas retornam a lista paginada de clientes, com no máximo um resultado para cada filtro. Guarde o data[0].id retornado para as próximas chamadas.

Passo 2 — Criar um produto

Produtos representam o que você vende. Não têm preço — preço é separado, para você poder ter o mesmo produto em planos mensais e anuais.

Passo 3 — Criar um preço

Aqui você define quanto e com que frequência cobrar. Valores em centavos. Para cobrança recorrente, envie o objeto recurring:
9990 significa R$ 99,90/mês. A moeda é sempre brl.

Passo 4 — Criar a sessão de checkout

Em vez de criar a assinatura manualmente, deixe o Simplo cuidar disso através de uma sessão de checkout. Ela cria a assinatura, gera a fatura e devolve uma URL hospedada — pronta para enviar ao cliente:
A resposta traz a url do checkout, o id da própria sessão, e os IDs do cliente, da fatura e da assinatura recém-criada:
Guarde o id: GET /api/v1/checkout/sessions/{id} devolve a sessão a qualquer momento. Mande seu cliente para a url. Quando ele pagar, você recebe um webhook invoice.paid.

E agora?

Receba notificação quando pagar

Configure um webhook para o evento invoice.paid e atualize seu sistema na hora.

Entenda os erros

Como lidar com 422 (validação), 401 (auth) e 429 (rate limit).

Paginação

Como percorrer listas grandes sem perder dados.

Referência completa

Todos os endpoints, parâmetros e respostas.
Em produção, automatize esses passos via SDK. Estamos preparando uma SDK Ruby oficial — em breve.