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

Só cURL e JSON

As extensões que já vêm na maioria das hospedagens. A conexão é reaproveitada entre os pedidos.

Campos no editor

O formato de cada pedido e resposta vem nos comentários: o PhpStorm e o PHPStan completam e avisam.

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 JavaScript do site, 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 vão num array, com os mesmos nomes da API (subaccountId, feePaidBy, cryptoCurrency…), então os exemplos da Referência da API valem direto. As respostas voltam como arrays.
  • Os códigos vão antes dos campos: $wyzecash->subaccounts->fund('vendedor-42', ['amount' => 1000]).
  • O último parâmetro de cada método são as opções: idempotencyKey, timeout e maxRetries.
  • Campo com null vai como null, que em alguns campos limpa o valor: 'limits' => ['perWithdrawal' => null] tira o limite próprio da subconta.

Configurar o cliente

Recursos

Os métodos seguem as rotas da API. Cada um precisa da permissão daquela rota na chave.

Exemplos

O Pix vale 30 minutos (expiresAt).

Listas

A lista traz a primeira página. O foreach passa por todas, buscando a próxima só quando precisa.
$pagina->nextPage() 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 WyzeCashException:
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 do json_decode:
webhook.php
Responda 2xx em até 10 segundos. O segredo whsec_… fica em Integrações e API › Webhooks. Veja Validando a assinatura e a lista de eventos.

Laravel

O provider entra sozinho (package discovery). No .env:
.env
Receba o cliente por injeção, em qualquer controller, job ou comando:
Para mudar o tempo dos pedidos ou as novas tentativas, publique a configuração: php artisan vendor:publish --tag=wyzecash-config (cria o config/wyzecash.php).

Tempo real

Em PHP, receba os eventos pelos webhooks: o PHP roda melhor respondendo pedidos. Se precisar de um processo que fica ligado (um bot, por exemplo), o protocolo está em WebSocket e funciona com qualquer biblioteca de WebSocket.

Onde roda

O código do SDK é aberto: github.com/wamberg236-cmd/wyzecash-php.

Próximos passos