filipecacique/webpag-php
Composer 安装命令:
composer require filipecacique/webpag-php
包简介
SDK PHP/Laravel para integração com a API WebPag
README 文档
README
SDK PHP para integração com a API WebPag. Compatível com PHP puro (7.2+) e Laravel (5.8+) — o Laravel é opcional.
Instalação
composer require webpag/webpag-php
A dependência principal é apenas o Guzzle. O suporte a Laravel (Service Provider e Facade) é carregado automaticamente só quando o pacote é instalado em um projeto Laravel — em PHP puro, nada disso é necessário.
Configuração
Obtenha sua chave API (auth-token) com o suporte WebPag.
Configuração via variáveis de ambiente (recomendado)
Defina as variáveis no seu ambiente ou arquivo .env:
WEBPAG_API_TOKEN=seu-token-aqui WEBPAG_BASE_URL=https://api.webpag.com.br WEBPAG_TIMEOUT=30
Depois é só usar:
use WebPag\WebPag; $webpag = WebPag::env();
Configuração via Environment (PHP puro)
use WebPag\WebPag; use WebPag\Environment; // A partir de um array $webpag = WebPag::fromEnvironment( Environment::fromArray([ 'api_token' => 'seu-token-aqui', 'base_url' => 'https://api.webpag.com.br', 'timeout' => 30, ]) ); // Ou programaticamente $env = new Environment(); $env->setApiToken('seu-token-aqui') ->setBaseUrl('https://api.webpag.com.br') ->setTimeout(30); $webpag = WebPag::fromEnvironment($env);
Configuração direta
use WebPag\WebPag; $webpag = WebPag::create('seu-token-aqui'); // ou com URL personalizada $webpag = WebPag::create('seu-token-aqui', 'https://api.webpag.com.br');
Uso em Laravel
- Publique a configuração:
php artisan vendor:publish --tag=webpag-config
- Configure no
.env:
WEBPAG_API_TOKEN=sua-chave-api WEBPAG_BASE_URL=https://api.webpag.com.br
- Use via Facade ou injeção de dependência:
use WebPag\Laravel\Facades\WebPag; Route::get('/pagadores', function () { return WebPag::payers->list()->getData(); });
use WebPag\WebPag; class PaymentController extends Controller { /** @var WebPag */ private $webpag; public function __construct(WebPag $webpag) { $this->webpag = $webpag; } }
Recursos disponíveis
| Recurso | Propriedade | Endpoints |
|---|---|---|
| Crediário | $webpag->installments |
list, create, find, cancel |
| Empresa | $webpag->business |
authenticate, me, cardTokenPublicKey, createFranchise |
| Links de pagamento | $webpag->paymentLinks |
list, create |
| Pagadores | $webpag->payers |
list, find, create, update, inactivate, saveCreditCard, removeCreditCard |
| Pagamentos | $webpag->payments |
list, process, find, cancel, refund, findRefund, markAsPaidDev |
| Recorrência | $webpag->recurrency |
create, list, update, cancel |
| Transferências | $webpag->transfers |
list, create, find, cancel, changeStatusDev |
| Webhooks | $webpag->webhooks |
parse |
Exemplos de uso
Processar pagamento via PIX
use WebPag\WebPag; use WebPag\Enums\PaymentMethod; $webpag = WebPag::env(); $response = $webpag->payments->process([ 'payer_id' => 15, 'name' => 'Pedido #1234', 'amount' => 1500, // R$ 15,00 em centavos 'method' => PaymentMethod::PIX, ]); $payment = $response->getData();
Usando DTOs tipados
use WebPag\Requests\Payments\ProcessPaymentRequest; use WebPag\Enums\PaymentMethod; $request = new ProcessPaymentRequest(); $request->payerId = 15; $request->name = 'Pedido #1234'; $request->amount = 1500; $request->method = PaymentMethod::PIX; $response = $webpag->payments->process($request);
DTOs de requisição
Classes tipadas em WebPag\Requests\* implementam RequestPayload e possuem método toArray():
WebPag\Requests\Installments\CreateInstallmentRequestWebPag\Requests\Business\AuthenticateRequestWebPag\Requests\Business\CreateFranchiseRequestWebPag\Requests\PaymentLinks\CreatePaymentLinkRequestWebPag\Requests\Payers\CreatePayerRequestWebPag\Requests\Payers\UpdatePayerRequestWebPag\Requests\Payers\SaveCreditCardRequestWebPag\Requests\Payers\AddressWebPag\Requests\Payments\ProcessPaymentRequestWebPag\Requests\Payments\RefundPaymentRequestWebPag\Requests\Payments\ListPaymentsRequestWebPag\Requests\Recurrency\CreateRecurrencyRequestWebPag\Requests\Transfers\CreateTransferRequest- e outros...
Constantes
Enums disponíveis em WebPag\Enums\:
PaymentMethod—credit_card,pix,bank_slipRecurrencyFrequency—monthly,bimonthly,quarterly,semiannual,yearlyPaymentStatus— status numéricos de pagamento (10 a 90)TransferDestinationType,TransferType,PixKeyType, etc.
Webhooks
Para processar notificações recebidas da WebPag:
$event = $webpag->webhooks->parse($request->getContent()); if ($event->isPayment() && $event->getStatus() === 40) { // Pagamento confirmado $paymentId = $event->get('id'); } // Valide o business.id para garantir autenticidade $businessId = $event->getBusinessId();
Tratamento de erros
use WebPag\Exceptions\ApiException; try { $webpag->payments->find(99999); } catch (ApiException $e) { echo $e->getStatusCode(); // 404 echo $e->getErrorMessage(); // Mensagem da API print_r($e->getResponseBody()); // Corpo completo }
Resposta da API
Todas as chamadas retornam WebPag\Http\ApiResponse:
$response = $webpag->payments->find(123); $response->getStatusCode(); // HTTP status $response->getData(); // Conteúdo de "data" ou corpo completo $response->toArray(); // Corpo JSON decodificado $response['message']; // ArrayAccess
Licença
MIT
Outras Informações
"Este é um SDK independente. Para suporte customizado ou implementações complexas, entre em contato comigo."
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-19