vitorccs/braspag-pagador-php-sdk
Composer 安装命令:
composer require vitorccs/braspag-pagador-php-sdk
包简介
SDK em PHP para API Braspag Pagador
README 文档
README
SDK em PHP para API Braspag Pagador e API Cartão Protegido
Requisitos
- PHP >= 8.0
Descrição
SDK em PHP para a API Braspag Pagador.
Instalação
Via Composer
composer require vitorccs/braspag-pagador-php-sdk
Parâmetros
| Parâmetro | Obrigatório | Padrão | Comentário |
|---|---|---|---|
| BRASPAG_MERCHANT_ID | Sim | null | Merchant ID para autenticação |
| BRASPAG_MERCHANT_KEY | Sim | null | Merchant Key para autenticação |
| BRASPAG_CLIENT_ID | *Sim | null | Client ID para API Cartão Protegido |
| BRASPAG_CLIENT_SECRET | *Sim | null | Client Secret para API Cartão Protegido |
| BRASPAG_SANDBOX | Não | false | Habilita o modo Sandbox |
| BRASPAG_TIMEOUT | Não | 30 | Timeout em segundos para estabelecer conexão com a API |
* Obrigatório apenas se for utilizar a API Cartão Protegido
Podem ser definidos por variáveis de ambiente:
# Em um arquivo .env do seu projeto: BRASPAG_MERCHANT_ID=myMerchantId BRASPAG_MERCHANT_KEY=myMerchantKey BRASPAG_CLIENT_ID=myClientId BRASPAG_CLIENT_SECRET=myClientSecret BRASPAG_SANDBOX=true # Os serviços captarão automaticamente $saleService = new \Braspag\SaleService(); $cardService = new \Braspag\CardService();
Ou passados como argumentos do serviço:
# Para serviços da API Pagador $parameters = new \Braspag\Entities\Pagador\Parameters( 'myMerchantId', 'myMerchantKey', true // modo sandbox ); $saleService = new \Braspag\SaleService($parameters); # Para serviços da API Cartão Protegido $parameters = new \Braspag\Entities\CartaoProtegido\Parameters( 'myMerchantId', 'myClientId' 'myClientSecret', true // modo sandbox ); $cardService = new \Braspag\CardService($parameters);
Serviços implementados
API Pagador - Transação
$saleService = new \Braspag\SaleService();
Criar Transação (para qualquer Meio de Pagamento)
// Nota: utilize preferencialmente os Sales Builder (descrito mais // abaixo na documentação) para gerar o parâmetro $sale $response = $saleService->create($sale);
Estornar Transação (para qualquer Meio de Pagamento)
// importante: amount deve ser em centavos e tipo inteiro $response = $saleService->refund($paymentId, $amount);
API Pagador - Consultas
$queryService = new \Braspag\QueryService();
Obter Transação por Payment ID (ID de Pagamento)
$response = $queryService->getByPaymentId($paymentId);
Obter Transação por Merchant Order Id (Identificador da Loja)
$response = $queryService->getByMerchantOrderId($merchantOrderId);
Obter Transação por Recurrent Payment ID (ID de Pagamento Recorrente)
$response = $queryService->getByRecurrentPaymentId($recurrentPaymentId);
API Cartão Protegido
$cardService = new \Braspag\CardService($parameters);
Gerar um Token para um Cartão de Crédito
// Nota: utilize preferencialmente o CardBuilder (descrito mais // abaixo na documentação) para gerar o parâmetro $card $response = $cardService->createToken($card);
Obter o Token que está associado ao Alias
$response = $cardService->getTokenByAlias($alias);
Obter os dados do Cartão pelo seu Token
$response = $cardService->getCardByToken($token);
Suspender o Token
$response = $cardService->suspendToken($token);
Reativar o Token
$response = $cardService->unsuspendToken($token);
Remover o Token
$response = $cardService->removeToken($token);
Construtores (Builders)
Para auxiliar a criar uma Transação, foram disponibilizados alguns construtores:
API Pagador - Criando Endereço
use Braspag\Builders\Pagador\AddressBuilder; $address = AddressBuilder::create() ->setZipCode('06455-030') ->setStreet('Alameda Xingu') ->setNumber(512) ->setComplement('21o andar') ->setDistrict('Barueri') ->setState('SP') ->setCity('São Paulo') ->get();
API Pagador - Criando Cliente
use Braspag\Builders\Pagador\CustomerBuilder; // Somente Nome é obrigatório para todos os Meios de Pagamento $customer = CustomerBuilder::create('Nome Cliente') ->setIdentity('01.027.058/0001-91') ->setEmail('email@email.com') ->setBirthdate('2000-01-01') ->setAddress($address) ->setIpAddress('64.111.123.211') ->get();
API Pagador - Criando Pagamento PIX
use Braspag\Builders\Pagador\Sales\PixSaleBuilder; $amount = 1000; // 10.00 $pixSale = PixSaleBuilder::create(Providers::CIELO30, $amount) ->withCustomer($customer) ->withMerchantOrderId('000000006') ->setQrCodeExpiration(8200) ->get();
API Pagador - Criando Pagamento Boleto Bancário
use Braspag\Builders\Pagador\Sales\BoletoSaleBuilder; $amount = 1000; // 10.00 $boletoSale = BoletoSaleBuilder::create(Providers::BRADESCO2, $amount) ->withCustomer($customer) ->withMerchantOrderId('000000006') ->setAssignor('Nome do Cedente') ->setExpirationDate('2022-11-20') ->get();
API Pagador - Criando Pagamento Cartão de Crédito
use Braspag\Builders\Pagador\Cards\CreditCardBuilder; use Braspag\Builders\Pagador\Sales\CreditCardSaleBuilder; // primeiro, criamos o cartão $creditCard = CreditCardBuilder::create() ->setCardNumber('4324017527053834') ->setBrand('Visa') ->setHolder($customer->Name) ->setExpirationDate('09/2030') ->setSecurityCode(333) ->setSaveCard(true) ->get(); // depois criamos a venda $amount = 1000; // 10.00 $creditCardSale = CreditCardSaleBuilder::create(Providers::SIMULADO, $amount) ->withCustomer($customer) ->withMerchantOrderId('000000007') ->withCreditCard($creditCard) ->withCustomerAddress($address) ->withCustomerDeliveryAddress($address) ->get();
API Pagador - Criando Pagamento Cartão de Débito
use Braspag\Builders\Pagador\Cards\DebitCardBuilder; use Braspag\Builders\Pagador\Sales\DebitCardSaleBuilder; $debitCard = DebitCardBuilder::create() ->setCardNumber('4324017527053834') ->setBrand('Visa') ->setHolder($customer->Name) ->setExpirationDate('09/2030') ->setSecurityCode(333) ->setSaveCard(true) ->get(); $amount = 1000; // 10.00 $debitCardSale = DebitCardSaleBuilder::create(Providers::SIMULADO, $amount) ->withCustomer($customer) ->withMerchantOrderId($merchantOrderId) ->withDebitCard($debitCard) ->setReturnUrl('https://www.myreturnurl.com/path') ->get();
API Cartão Protegido - Criando Cartão de Crédito
use Braspag\Builders\CartaoProtegido\CardBuilder; $card = CardBuilder::create() ->setCardNumber('4551870000000183') ->setHolder('Joao da Silva') ->setAlias('meu_alias') ->setExpirationDate('12/2025') ->setSecurityCode('123') ->get();
Tratamento de erros
Esta biblioteca lança as exceções abaixo:
Principais:
BraspagValidationExceptionpara requisições que falharam (HTTP 4xx ou 5xx) e possuem mensagem de erro retornado pela API Braspag.BraspagRequestExceptionpara requisições que falharam (HTTP 4xx ou 5xx) sem tratamento de erro ou problemas de conexão diversos (sem resposta HTTP).
No serviço de Criar Transação:
BraspagProviderExceptionpara requisições que embora tenham retornado como sucesso (HTTP 2xx), o corpo da resposta indica um erro retornado pelo Provider Status = 0.
No serviço de Consultar Transação:
BraspagNotFoundExceptionao tentar localizar uma Transação que não existe (ex: localizar por PaymentId ou MerchantOrderId).
Exemplo de corpo da resposta onde será lançado uma exceção BraspagProviderException
{
...
"Payment": {
...
"Status": 0,
"ProviderReturnMessage": "ERRO AO REALIZAR OPERACAO",
...
}
}
Exemplo de corpo da resposta onde será lançado uma exceção BraspagValidationException
[
{
"Code": 133,
"Message": "Provider is not supported for this Payment Type"
}
]
Exemplo de implementação
error_reporting(E_ALL); ini_set('display_errors', 1); require __DIR__.'/vendor/autoload.php'; putenv('BRASPAG_MERCHANT_ID=myMerchantId'); putenv('BRASPAG_MERCHANT_KEY=myMerchantKey'); putenv('BRASPAG_SANDBOX=true'); use Braspag\Builders\Pagador\CustomerBuilder; use Braspag\Builders\Pagador\Sales\PixSaleBuilder; use Braspag\Enum\Providers; use Braspag\Exceptions\BraspagProviderException; use Braspag\Exceptions\BraspagRequestException; use Braspag\Exceptions\BraspagValidationException; use Braspag\SaleService; use Braspag\QueryService; try { $saleService = new SaleService(); $queryService = new QueryService(); // CRIANDO TRANSAÇÃO $customer = CustomerBuilder::create('Nome Cliente') ->setIdentity('01.027.058/0001-91') ->get(); $pixSale = PixSaleBuilder::create(Providers::BRADESCO2, 20) ->withCustomer($customer) ->withMerchantOrderId('000000006') ->get(); $checkSuccess = true; // Habilitar BraspagProviderException $response = $saleService->create($pixSale, $checkSuccess); print_r($response); // CONSULTANDO UMA TRANSAÇÃO $response = $queryService->getByPaymentId('47f59f6c-d649-4d10-a8a5-104eca634ff2'); print_r($response); } catch (BraspagProviderException $e) { // erros de Provider echo sprintf('Provider: %s (Payment Status: %s)', $e->getMessage(), $e->getErrorCode()); // NOTA: em erros de Provider, a Braspag irá criar a Transação normalmente // Caso queira capturar o corpo da reposta, utilize o método abaixo: $response = $e->getResponseData(); } catch (BraspagValidationException $e) { // erros de Validação da API echo sprintf('Validation: %s (Code: %s)', $e->getMessage(), $e->getErrorCode()); } catch (BraspagRequestException $e) { // demais erros não tratados (HTTP 4xx e 5xx) echo sprintf('Request: %s (HTTP Status: %s)', $e->getMessage(), $e->getErrorCode()); } catch (\Exception $e) { // demais erros echo $e->getMessage(); }
Testes
Caso queira contribuir, por favor, implementar testes de unidade em PHPUnit.
Para executar:
composer test
vitorccs/braspag-pagador-php-sdk 适用场景与选型建议
vitorccs/braspag-pagador-php-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.2k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 10 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「braspag」 「pagador」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 vitorccs/braspag-pagador-php-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 vitorccs/braspag-pagador-php-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 vitorccs/braspag-pagador-php-sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Braspag API PHP SDK
Este SDK tem o objetivo de facilitar a integração de aplicações PHP com a solução de pagamento Split da Braspag.
Integração ao braspag
Integração ao braspag
SDK de integração com a API de pagamentos da Braspag
Integração ao braspag
统计信息
- 总下载量: 1.2k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0
- 更新时间: 2021-10-27