logicssoftware / braspag-php-sdk
与Braspag支付API集成的SDK
1.0.1
2021-03-08 20:06 UTC
Requires
- php: ^7.1
- ext-curl: *
- ext-json: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.15
- phpunit/phpunit: ^6.3
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-09-09 04:04:59 UTC
README
与Braspag API集成的SDK。
资源
此SDK支持分割支付(Marketplace
)和直接支付模式。
已测试资源
注意事项
如果需要任何类型的用户重定向,开发者应使用SDK生成支付,并使用Braspag返回的链接提供用户重定向。
一些功能尚未经过测试,因此尚未在资源
中标记。
愿意帮忙吗?进行分支并提交包含测试和构建成功的pull request。
依赖
- PHP >= 7.1
安装SDK
如果您尚未安装Composer,请遵循getcomposer.org中的说明。
如果您已有一个composer.json
文件,只需在您的终端中直接执行即可
composer require "logicssoftware/braspag-php-sdk"
使用示例
卡号令牌化
如果您不想保存卡的敏感数据,并避免实施PCI合规性,您可以为后续交易生成卡令牌。
<?php require 'vendor/autoload.php'; use Braspag\API\Braspag; use Braspag\API\CreditCard; use Braspag\API\Environment; use Braspag\Authenticator; // Cria uma instância do cartão para enviar à Cielo $card = new CreditCard(); $card->setCustomerName('John Rambo'); $card->setCardNumber('0000000000000001'); $card->setHolder('John Rambo'); $card->setExpirationDate('09/2020'); $card->setBrand('Master'); // Configure os tokens de autenticação (adquiridos junto à Braspag) $auth = new Authenticator('CLIENT_SECRET', 'MERCHANT_ID', 'MERCHANT_KEY'); // Solicita a tokenização do card $card = Braspag::shared($auth, Environment::sandbox())->tokenizeCard($card); // Get the card token $cardToken = $card->getCardToken();
支付分割 - (Marketplace)
如果您想执行分割交易支付
<?php require 'vendor/autoload.php'; use Braspag\API\Braspag; use Braspag\API\Cart; use Braspag\API\CreditCard; use Braspag\API\Customer; use Braspag\API\Environment; use Braspag\API\FraudAnalysis; use Braspag\API\Product; use Braspag\API\Sale; use Braspag\API\SplitPayment; use Braspag\Authenticator; use Braspag\API\Payment; $auth = new Authenticator('CLIENT_SECRET', 'MERCHANT_ID', 'MERCHANT_KEY'); $auth->authenticate(Environment::sandbox()); // Crie uma instância de Sale informando o ID do pedido na loja $sale = new Sale('123'); // Crie uma instância de Customer informando os dados do cliente $customer = (new Customer('Teste Accept')) ->setEmail('teste@teste.com.br') ->setIdentity('11111111111') ->setIdentityType('CPF') ; $sale->setCustomer($customer); // Define os Produtos $products[] = (new Product()) ->setName('Produto Teste') ->setSku('123') ->setQuantity(1) ->setUnitPrice(15700) ; $cart = new Cart($products); /** * Informa os dados para análise anti-fraude (obrigatório non caso de Marketplace): * fingerPrintId, valor, Cart e MerchantDefinedFields - esse último precisa ter ao menos o item 1 e 4 da tabela: * @see https://braspag.github.io//manual/antifraude#tabela-31-merchantdefineddata-(cybersource) */ $fraudAnalysis = new FraudAnalysis( "123456654322", 15700, $cart, ['1' => 'Guest', '4' => 'Web'] ); // Defina as regras de split dos subordinados $splitPayments = [ new SplitPayment('SUBORDINATE_MERCHANT_ID', 15700, 3, 10) ]; // Crie uma instância de Payment informando o valor do pagamento sem separador de decimais $payment = $sale->payment(15700, 1, $splitPayments); // Informa os dados de análise de fraude $payment->setFraudAnalysis($fraudAnalysis); // Você pode definir a captura automatica, ou fazê-la depois $payment->setCapture(true); // Crie uma instância de Credit Card utilizando os dados de teste // esses dados estão disponíveis no manual de integração $payment->creditCard("123", CreditCard::VISA) ->setExpirationDate("12/2019") ->setCardNumber("0000000000000001") ->setHolder("Teste Accept") ; // Configure o SDK com seu merchant e o ambiente apropriado para criar a venda $braspag = Braspag::shared($auth, Environment::sandbox()); $sale = $braspag->createSale($sale); // Com a venda criada na Braspag, já temos o ID do pagamento, TID e demais // dados retornados pela Braspag $payment = $sale->getPayment(); // Com o Payment você pode verificar o status if ($payment->getStatus() == Payment::STATUS_AUTHORIZED) { // Usar o Payment ID, TID, etc $paymentId = $payment->getPaymentId(); }
支付查询
如果您想查询销售以获取Braspag中直接支付的支付数据
<?php require 'vendor/autoload.php'; use Braspag\API\Braspag; use Braspag\API\Environment; use Braspag\Authenticator; // Configure os tokens de autenticação (adquiridos junto à Braspag) $auth = new Authenticator('CLIENT_SECRET', 'MERCHANT_ID', 'MERCHANT_KEY'); // Consulta a venda informando o PaymentId $sale = Braspag::shared($auth, Environment::sandbox())->getSale(123304883); $payment = $sale->getPayment();
支付取消
如果您想取消支付的全部
<?php require 'vendor/autoload.php'; use Braspag\API\Braspag; use Braspag\API\Payment; use Braspag\API\Environment; use Braspag\Authenticator; // Configure os tokens de autenticação (adquiridos junto à Braspag) $auth = new Authenticator('CLIENT_SECRET', 'MERCHANT_ID', 'MERCHANT_KEY'); // Solicita o cancelamento do pagamento informando o PaymentId $payment = Braspag::shared($auth, Environment::sandbox())->cancelSale(123304883); // Verifica se tudo ocorreu bem $success = $payment->getStatus() == Payment::STATUS_VOIDED;
支持的产品和标志及其常量
手册
有关Braspag API集成的更多信息,请参阅手册:[分割支付](https://braspag.github.io/manual/split-pagamentos-braspag) | [支付者](https://braspag.github.io/manual/braspag-pagador)
灵感来自Cielo SDK。