Pacote Composer nuvende/sdk-php, repositório nuvende/conta-php, namespace Nuvende\. Cobre autenticação, cobranças Pix (Cob e Cobv), webhooks, contas e pagamentos Pix (cash-out) da API v2.
KYC, parceiros, terminais e documentos não estão neste pacote — use a Referência API com HTTP direto.
composer require nuvende/sdk-php
Código fonte, issues e releases: github.com/nuvende/conta-php.
A conta da operação vem do Bearer token — não envie header Account-Id.
<?php
require_once 'vendor/autoload.php';
use Nuvende\Client;
use Nuvende\Requests\Autenticacao\AutenticarClienteRequest;
$baseUrl = 'https://api-h.nuvende.com.br'; // homologação; produção: https://api.nuvende.com.br
$client = new Client($baseUrl);
$auth = new AutenticarClienteRequest();
$auth->grantType = 'client_credentials';
$token = $client->autenticacao()->login(
$auth,
clientId: getenv('NUVENDE_CLIENT_ID') ?: 'seu-client-id',
clientSecret: getenv('NUVENDE_CLIENT_SECRET') ?: 'seu-client-secret',
);
$client->definirToken($token->accessToken);
Client| Método | API | Uso |
|---|---|---|
autenticacao() | api/v1/cobranca/auth | login, logout, refresh |
cob() | api/v2/cobranca/cob | Cob imediata: listar, criar, buscar, criarOuSubstituir |
cobv() | api/v2/cobranca/cobv | Cob com vencimento: listar, buscar, criar, atualizar |
webhooks() | api/v2/cobranca/webhooks | buscar, criarOuAtualizar, excluir |
contas() | api/v2/contas | buscar, saldo, extrato, listarChaves |
pagamentos() | api/v2/pix/pagamentos | listar, buscar, criarPorChave, criarPorQrcode, criarManual, confirmar |
Guias de fluxo: Cobranças · Cobv · Pagamentos.
use Nuvende\Requests\Cobrancas\SolicitacaoCobranca;
$request = new SolicitacaoCobranca();
$request->chave = 'e3fe4462-4c8e-42c1-8360-b41b404ae557';
$request->nomeRecebedor = 'Minha Loja';
$request->calendarioExpiracao = 3600;
// Preencha demais campos conforme o contrato em /tecnica/mundo-digital/pix/cobrancas/criar
$cob = $client->cob()->criarOuSubstituir('seu-txid', $request);
echo $cob->txid;
echo $cob->status;
Alternativa sem txid na URL: $client->cob()->criar($request) (POST /api/v2/cobranca/cob).
$cobv = $client->cobv()->criar('seu-txid', $request);
$cobv = $client->cobv()->buscar('seu-txid');
use Nuvende\Requests\Pagamentos\CriarPagamentoChaveRequest;
use Nuvende\Requests\Pagamentos\ConfirmarPagamentoRequest;
$iniciar = new CriarPagamentoChaveRequest();
$iniciar->chave = '[email protected]';
$pagamento = $client->pagamentos()->criarPorChave($iniciar);
$confirmar = new ConfirmarPagamentoRequest();
$confirmar->id = $pagamento->id;
$confirmar->valor = 10.50;
$client->pagamentos()->confirmar($confirmar);
Consultar status: $client->pagamentos()->buscar($pagamento->id).
use Nuvende\Requests\Webhook\ConfigurarWebhookRequest;
$webhook = new ConfigurarWebhookRequest();
$webhook->webhookUrl = 'https://seusite.com/webhook/pix';
$client->webhooks()->criarOuAtualizar('sua-chave-pix', $webhook);
Evento documentado no portal: recebimento.
$conta = $client->contas()->buscar();
$saldo = $client->contas()->saldo();
$extrato = $client->contas()->extrato();
<?php
require_once 'vendor/autoload.php';
use Nuvende\Client;
use Nuvende\Exceptions\AuthenticationException;
use Nuvende\Exceptions\ValidationException;
use Nuvende\Requests\Autenticacao\AutenticarClienteRequest;
use Nuvende\Requests\Cobrancas\SolicitacaoCobranca;
$client = new Client('https://api-h.nuvende.com.br');
$auth = new AutenticarClienteRequest();
$auth->grantType = 'client_credentials';
try {
$token = $client->autenticacao()->login(
$auth,
clientId: $_ENV['NUVENDE_CLIENT_ID'],
clientSecret: $_ENV['NUVENDE_CLIENT_SECRET'],
);
$client->definirToken($token->accessToken);
$request = new SolicitacaoCobranca();
$request->chave = 'e3fe4462-4c8e-42c1-8360-b41b404ae557';
$request->nomeRecebedor = 'Minha Loja';
$request->calendarioExpiracao = 3600;
$cob = $client->cob()->criar($request);
echo "txid: {$cob->txid}\n";
echo "status: {$cob->status}\n";
} catch (AuthenticationException $e) {
echo "Autenticação: {$e->getMessage()}\n";
} catch (ValidationException $e) {
echo "Validação: " . json_encode($e->violacoes, JSON_UNESCAPED_UNICODE) . "\n";
}
Exceções em Nuvende\Exceptions\:
| Classe | HTTP |
|---|---|
AuthenticationException | 401 / 403 |
ValidationException | 422 (violacoes) |
NotFoundException | 404 |
RateLimitException | 429 |
ServerException | 5xx |
NetworkException | falha de conexão |
use Nuvende\Exceptions\RateLimitException;
try {
$client->pagamentos()->listar();
} catch (RateLimitException $e) {
// aguardar e repetir
}