nxgate/sdk
Composer 安装命令:
composer require nxgate/sdk
包简介
SDK oficial da NXGATE para integração com a API PIX
README 文档
README
SDK oficial da NXGATE para integração com a API PIX em PHP.
Requisitos
- PHP 8.1 ou superior
- Extensões:
curl,json,hash
Instalação
composer require nxgate/sdk
Configuração
use NXGate\NXGate; // Sem HMAC $nx = new NXGate( clientId: 'nxgate_xxx', clientSecret: 'seu_secret', ); // Com HMAC (recomendado para produção) $nx = new NXGate( clientId: 'nxgate_xxx', clientSecret: 'seu_secret', hmacSecret: 'seu_hmac_secret', );
O SDK gerencia automaticamente a autenticação OAuth2. O token é obtido na primeira chamada e renovado automaticamente antes de expirar.
Quando o hmacSecret é fornecido, todas as requisições são assinadas automaticamente com HMAC-SHA256.
Uso
Gerar cobrança PIX (Cash-in)
use NXGate\Dto\PixGenerateRequest; use NXGate\Dto\SplitUser; $charge = $nx->pixGenerate(new PixGenerateRequest( valor: 100.00, nomePagador: 'João da Silva', documentoPagador: '12345678901', webhook: 'https://meusite.com/webhook', descricao: 'Pagamento do pedido #123', )); echo $charge->status; // "success" echo $charge->paymentCode; // código PIX copia e cola echo $charge->idTransaction; // ID da transação echo $charge->paymentCodeBase64; // QR Code em base64
Com split de pagamento
$charge = $nx->pixGenerate(new PixGenerateRequest( valor: 100.00, nomePagador: 'João da Silva', documentoPagador: '12345678901', splitUsers: [ new SplitUser(username: 'parceiro1', percentage: 70.0), new SplitUser(username: 'parceiro2', percentage: 30.0), ], ));
Saque PIX (Cash-out)
use NXGate\Dto\PixWithdrawRequest; use NXGate\PixKeyType; $withdrawal = $nx->pixWithdraw(new PixWithdrawRequest( valor: 50.00, chavePix: 'joao@email.com', tipoChave: PixKeyType::EMAIL, webhook: 'https://meusite.com/webhook', )); echo $withdrawal->status; // "success" echo $withdrawal->message; // mensagem da API echo $withdrawal->internalReference; // referência interna
Tipos de chave PIX
use NXGate\PixKeyType; PixKeyType::CPF; // CPF PixKeyType::CNPJ; // CNPJ PixKeyType::PHONE; // Telefone PixKeyType::EMAIL; // E-mail PixKeyType::RANDOM; // Chave aleatória
Consultar saldo
$balance = $nx->getBalance(); echo $balance->balance; // saldo total echo $balance->blocked; // saldo bloqueado echo $balance->available; // saldo disponível
Consultar transação
$transaction = $nx->getTransaction(type: 'cash-in', txId: 'TX_ABC123'); echo $transaction->idTransaction; // ID da transação echo $transaction->status; // status echo $transaction->amount; // valor echo $transaction->paidAt; // data do pagamento echo $transaction->endToEnd; // identificador end-to-end
Receber webhooks
use NXGate\NXGateWebhook; // Receber o payload do webhook (string JSON ou array) $payload = file_get_contents('php://input'); $event = NXGateWebhook::parse($payload); // Verificar o tipo do evento if ($event->isCashIn()) { $cashIn = $event->asCashIn(); echo "Pagamento recebido: R$ {$cashIn->amount}"; echo "Pagador: {$cashIn->debtorName}"; echo "Documento: {$cashIn->debtorDocument}"; echo "TX ID: {$cashIn->txId}"; if ($cashIn->isPaid()) { // Pagamento confirmado } elseif ($cashIn->isRefunded()) { // Pagamento estornado } } if ($event->isCashOut()) { $cashOut = $event->asCashOut(); echo "Saque: R$ {$cashOut->amount}"; if ($cashOut->isSuccess()) { // Saque realizado com sucesso } elseif ($cashOut->isError()) { echo "Erro: {$cashOut->error}"; } elseif ($cashOut->isRefunded()) { // Saque estornado } }
Tipos de eventos
Cash-in:
QR_CODE_COPY_AND_PASTE_PAID- Pagamento via QR Code confirmadoQR_CODE_COPY_AND_PASTE_REFUNDED- Pagamento via QR Code estornado
Cash-out:
PIX_CASHOUT_SUCCESS- Saque realizado com sucessoPIX_CASHOUT_ERROR- Erro no saquePIX_CASHOUT_REFUNDED- Saque estornado
Tratamento de erros
use NXGate\NXGateException; try { $charge = $nx->pixGenerate(new PixGenerateRequest( valor: 100.00, nomePagador: 'João', documentoPagador: '12345678901', )); } catch (NXGateException $e) { echo $e->title; // título do erro echo $e->description; // descrição detalhada echo $e->httpStatus; // código HTTP (0 para erros de rede) echo $e->getCode(); // código do erro da API echo $e->getMessage(); // mensagem formatada completa }
O SDK trata automaticamente os seguintes cenários:
- Autenticação: Token renovado automaticamente antes de expirar
- Retry: Requisições que retornam HTTP 503 são reenviadas automaticamente com backoff exponencial (máximo 2 tentativas)
- HMAC: Assinatura automática quando
hmacSecreté configurado - Erros de rede: Encapsulados em
NXGateExceptioncom detalhes do cURL
Testes
composer install vendor/bin/phpunit
Licença
MIT - consulte o arquivo LICENSE para detalhes.
nxgate/sdk 适用场景与选型建议
nxgate/sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「sdk」 「qrcode」 「Pagamento」 「brasil」 「pix」 「nxgate」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 nxgate/sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 nxgate/sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 nxgate/sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Based in http://phpqrcode.sourceforge.net/
Symfony 4, 5, 6 ,7 Barcode Generator Bundle with Twig function extension
Generates QR Codes
The jquery qrcode for yii2.
Symfony2 Barcode Generator Bundle with Twig function extension
Integração ao cielo
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 36
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-11