Skip to main content
O wyzecash é o SDK oficial da WyzeCash para Python 3.10+. Ele fala com a mesma API da documentação, só que com tipos, listas que passam de página sozinhas, novas tentativas seguras e a conferência dos webhooks prontas.

Sem dependências

Usa só a biblioteca padrão do Python. Nada de requests para instalar.

Tipos em português

Cada método tem os campos da API, e as respostas têm tipo. O editor completa e mostra a descrição.

Seguro com dinheiro

O que tira dinheiro nunca é repetido sozinho.
Use o SDK só no servidor. A chave de API vai em todo pedido: nunca a coloque em front-end, app ou repositório.

Instalar

Começar

1

Crie a chave de API

No painel, em Integrações e API › Chaves de API, crie uma chave bk_live_… só com as permissões que o seu sistema usa (ex.: /payments/create e /payments/get).
2

Guarde a chave no ambiente

.env
Sem passar a chave no código, o SDK lê a variável WYZECASH_API_KEY.
3

Crie a primeira cobrança

4

Receba o aviso de pago

Pelo webhook. Libere o pedido só no payment.paid.
Não existe ambiente de testes: todo pedido é de verdade. Para testar, faça uma cobrança pequena e pague com o seu banco.

Campos e respostas

Os campos têm os mesmos nomes da API (subaccountId, feePaidBy, cryptoCurrency…), então os exemplos da Referência da API valem direto. Só from vira from_, porque é palavra do Python.
  • As respostas são dicionários com tipo (TypedDict): cobranca["copyPaste"], com o editor completando o nome.
  • Campo que você não passa não vai no pedido.
  • None vai como null, que em alguns campos limpa o valor: limits={"perWithdrawal": None} tira o limite próprio da subconta.

Configurar o cliente

Cada método também aceita timeout e max_retries, e os que pedem a Idempotency-Key, o idempotency_key.

Recursos

Os métodos seguem as rotas da API. Cada um precisa da permissão daquela rota na chave. Os códigos vão antes dos campos: wyzecash.subaccounts.fund("vendedor-42", amount=1000, idempotency_key="envio-81").

Exemplos

O Pix vale 30 minutos (expiresAt).

Listas

A lista traz a primeira página. O for passa por todas, buscando a próxima só quando precisa.
pagina.next_page() busca só a próxima, e pagina["totals"] lê os outros campos da resposta (como os totais do extrato).

Idempotency-Key

Criar cobrança, saque, estorno e os envios das subcontas pedem a Idempotency-Key. Passe o código do pedido no seu sistema: repetir a mesma chave devolve o mesmo resultado, sem fazer de novo.
Sem a chave, o SDK cria uma por chamada: protege a nova tentativa automática, mas não protege você de chamar duas vezes. Em dinheiro saindo, passe sempre a sua.

Erros e novas tentativas

Todo erro da API vira um WyzeCashError:
O SDK tenta de novo sozinho só quando é seguro:

Webhooks

Cada aviso chega com o cabeçalho X-Bukio-Signature. Confira com o corpo cru, do jeito que chegou, antes de qualquer json.loads:
Responda 2xx em até 10 segundos e faça o trabalho pesado depois. O segredo whsec_… fica em Integrações e API › Webhooks. Veja Validando a assinatura e a lista de eventos.

Tempo real

Sem endereço HTTPS para webhooks (bot, worker, script)? Receba os mesmos eventos pelo WebSocket: a página tem um exemplo completo em Python com o pacote websockets.

Onde roda

Próximos passos