ishyevandro/braspag-non-officia

该软件包已废弃且不再维护。未建议替代软件包。

非官方Braspag API PHP SDK

v1.1.4 2017-03-17 17:12 UTC

This package is not auto-updated.

Last update: 2020-01-28 21:19:45 UTC


README

官方仓库: https://github.com/Braspag/BraspagApiPhpSdk

从v2.0版本创建的仓库,以解决一些可能导致Pull Request被拒绝的问题。

主要功能

  • 信用卡支付。
  • 定期支付。
    • 第一次定期支付时授权。
    • 从第一次定期支付开始授权。
  • 借记卡支付。
  • 支票支付。
  • 电子转账支付。
  • 取消授权。
  • 查询支付。

限制

由于涉及应用程序的用户界面,SDK仅作为创建交易的框架。在直接授权的情况下没有限制;但在需要用户认证或任何类型用户重定向的情况下,开发人员应使用SDK生成支付,并使用Cielo返回的链接提供用户重定向。

使用SDK

要使用SDK创建简单的信用卡支付,只需执行以下操作

创建信用卡支付

// ...
// Configure o ambiente
$environment = $environment = Environment::sandbox();

// Configure seu merchant
$merchant = new Merchant('MERCHANT ID', 'MERCHANT KEY');

// Crie uma instância de Sale informando o ID do pagamento
$sale = new Sale('123');

// Crie uma instância de Customer informando o nome do cliente
$customer = $sale->customer('Fulano de Tal');

// Crie uma instância de Payment informando o valor do pagamento
$payment = $sale->payment(15700);

// 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", "Visa")
        ->setExpirationDate("12/2018")
        ->setCardNumber("0000000000000001")
        ->setHolder("Fulano de Tal");

// Crie o pagamento na Braspag
try {
    // Configure o SDK com seu merchant e o ambiente apropriado para criar a venda
    $sale = (new Braspag($merchant, $environment))->createSale($sale);
    
    // Com a venda criada na Braspag, já temos o ID do pagamento, TID e demais
    // dados retornados pela Braspag
    $paymentId = $sale->getPayment()->getPaymentId();
    
    // Com o ID do pagamento, podemos fazer sua captura, se ela não tiver sido capturada ainda
    $sale = (new Braspag($merchant, $environment))->captureSale($paymentId, 15700, 0);
    
    // E também podemos fazer seu cancelamento, se for o caso
    $sale = (new CieloBraspagEcommerce($merchant, $environment))->cancelSale($paymentId, 15700);
} catch (BraspagRequestException $e) {
    // Em caso de erros de integração, podemos tratar o erro aqui.
    // os códigos de erro estão todos disponíveis no manual de integração.
    $error = $e->getBraspagError();
}
// ...