Gerencie seus recursos do Dodo Payments, crie sessões de checkout e teste webhooks diretamente no terminal. Criado para desenvolvedores que preferem a linha de comando.
Instalação
npm install -g dodopayments-cli
Instalação Manual
- Baixe a versão mais recente em GitHub Releases para o seu sistema
- Extraia e renomeie o binário para
dodo
- Mova para um diretório no seu PATH:
sudo mv ./dodo /usr/local/bin/
Autenticação
Antes de usar a CLI, autentique-se com sua chave de API:
Isso irá:
- Abrir o navegador na página de Chaves de API do Dodo Payments
- Solicitar que você insira sua chave de API
- Pedir que você selecione o ambiente (Modo de Teste ou Modo ao Vivo)
- Armazenar suas credenciais localmente em
~/.dodopayments/api-key
A CLI suporta armazenar uma chave de API por ambiente. Se as chaves dos modos de teste e ao vivo estiverem configuradas, você será solicitado a escolher qual ambiente usar na sessão atual.
Uso
A sintaxe geral é:
dodo ‹category› ‹sub-command›
Executar dodo sem argumentos exibe todas as categorias disponíveis. Executar dodo <category> sem subcomando mostra os subcomandos disponíveis para essa categoria.
Produtos
Gerencie seu catálogo de produtos.
| Command | Description |
|---|
dodo products list | Listar todos os produtos (paginados) |
dodo products create | Abrir o painel para criar um produto |
dodo products info | Ver detalhes de um produto específico |
Pagamentos
Visualize as transações de pagamento.
| Command | Description |
|---|
dodo payments list | Listar todos os pagamentos (paginados) |
dodo payments info | Obter informações sobre um pagamento específico |
Clientes
Gerencie sua base de clientes.
| Command | Description |
|---|
dodo customers list | Listar todos os clientes (paginados) |
dodo customers create | Criar um novo perfil de cliente |
dodo customers update | Atualizar os dados de um cliente existente |
Descontos
Gerencie cupons e descontos.
| Command | Description |
|---|
dodo discounts list | Listar todos os descontos (paginados) |
dodo discounts create | Criar um novo desconto baseado em porcentagem |
dodo discounts delete | Remover um desconto por ID |
Licenças
Gerencie licenças de software.
| Command | Description |
|---|
dodo licences list | Listar todas as chaves de licença (paginadas) |
Complementos
Gerencie complementos de produtos.
| Command | Description |
|---|
dodo addons list | Listar todos os complementos (paginados) |
dodo addons create | Abrir o painel para criar um complemento |
dodo addons info | Ver detalhes de um complemento específico |
Reembolsos
Visualize informações de reembolso.
| Command | Description |
|---|
dodo refund list | Listar todos os reembolsos (paginados) |
dodo refund info | Ver detalhes de um reembolso específico |
Checkout
Crie sessões de checkout.
| Command | Description |
|---|
dodo checkout new | Criar uma nova sessão de checkout e obter a URL do checkout |
O comando checkout suporta opções avançadas, incluindo coleta mínima de endereço, URL de retorno, aplicação de 3D Secure, códigos de desconto e metadados.
Teste de Webhooks
A CLI inclui duas ferramentas poderosas para testar webhooks durante o desenvolvimento: um listener que encaminha webhooks de teste ao vivo para seu servidor local e um trigger que envia cargas úteis simuladas para qualquer endpoint.
Ouvir Webhooks
Encaminhe webhooks da Dodo Payments diretamente para seu servidor de desenvolvimento local em tempo real.
Enter your local endpoint URL
Forneça a URL local onde deseja receber webhooks (por exemplo, http://localhost:3000/webhook).
Automatic setup
A CLI cria automaticamente um endpoint de webhook na sua conta do Dodo Payments se ainda não existir, e então abre uma conexão WebSocket para receber eventos em tempo real.
Receive and forward
Quando um evento de webhook é disparado (a partir de um pagamento de teste, alteração de assinatura, etc.), a CLI o recebe, registra o tipo de evento e encaminha a solicitação completa com cabeçalhos e corpo para seu endpoint local. A resposta do seu endpoint é registrada e enviada de volta.
O listener de webhook funciona apenas com uma chave de API de modo de teste. Certifique-se de estar logado com uma chave de modo de teste antes de usar dodo wh listen.
O listener preserva os cabeçalhos originais do webhook (webhook-id, webhook-signature, webhook-timestamp) ao encaminhar para seu endpoint local, para que você possa testar sua lógica de verificação de assinatura.
Acionar Webhooks de Teste
Envie cargas úteis simuladas para qualquer endpoint para testes rápidos sem precisar criar transações reais.
Isso orienta você por:
- Definir a URL de endpoint de destino
- Opcionalmente configurar ID do Negócio, ID do Produto e Metadados
- Selecionar um evento específico para acionar em um menu interativo
- Enviar a carga útil simulada e visualizar a resposta
Após cada evento, você pode selecionar outro evento para acionar ou sair — tornando fácil testar múltiplos manipuladores de evento em uma única sessão.
O trigger envia cargas simuladas sem assinaturas de webhook. Desative a verificação de assinatura durante os testes usando unsafe_unwrap() em vez de unwrap() no seu manipulador de webhook.
Eventos de Webhook Suportados
| Category | Events |
|---|
| Subscription | subscription.active, subscription.updated, subscription.on_hold, subscription.renewed, subscription.plan_changed, subscription.cancelled, subscription.failed, subscription.expired |
| Payment | payment.success, payment.failed, payment.processing, payment.cancelled |
| Refund | refund.success, refund.failed |
| Dispute | dispute.opened, dispute.expired, dispute.accepted, dispute.cancelled, dispute.challenged, dispute.won, dispute.lost |
| License | licence.created |
Variáveis de Ambiente
| Variable | Description |
|---|
DODO_WH_TEST_SERVER_URL | Substituir a URL padrão do servidor de retransmissão de webhook usada pelo dodo wh listen |
Recursos
Suporte