1. Go to this page and download the library: Download vitorccs/maxipago-php-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
vitorccs / maxipago-php-sdk example snippets
use Vitorccs\Maxipago\Entities\Parameters;
use Vitorccs\Maxipago\Http\SaleService;
$parameters = new Parameters(
'myMerchantId',
'myMerchantKey',
true, // modo sandbox
60 // timeout
);
$saleService = new SaleService($parameters);
# inicia os serviços de transação e consulta
use Vitorccs\Maxipago\Http\CustomerService;
use Vitorccs\Maxipago\Http\QueryService;
use Vitorccs\Maxipago\Http\SaleService;
$customerService = new CustomerService();
$saleService = new SaleService();
$queryService = new QueryService();
// Nota: utilize CustomerBuilder (descrito mais abaixo na documentação)
// para gerar facilmente o objeto $customer
$response = $customerService->create($customer);
// Nota: utilize os Builders (descrito mais abaixo na documentação)
// para gerar facilmente o objeto $sale
// para Pix
$response = $saleService->createPixSale($sale);
// para Boleto
$response = $saleService->createBoletoSale($sale);
// para Cartão de Crédito
$response = $saleService->createCreditCardSale($sale);
// retorna todas as transações do pedido (array)
$response = $queryService->getByOrderId('0A0104AB:018FAAE5F66A:FE79:5318D453');
// retorna apenas a transação mais atual (object)
$response = $queryService->getLastByOrderId('0A0104AB:018FAAE5F66A:FE79:5318D453');
// retorna todas as transações com este reference number (array)
$response = $queryService->getByReferenceNumber(221342);
// retorna a transação com este ID (objeto)
$response = $queryService->getByTransactionId(18390209);
// Nota: somente disponível para pedidos em aberto e para algumas
// formas de pagamento (ex: Boleto e PIX)
$response = $saleService->cancelSale($transactionId);
// Nota: todos os campos são obrigatórios.
$chargeTotal = 100.00;
$response = $saleService->refundSale($orderId, $referenceNumber, $chargeTotal);
// Cadastra um cartão de crédito para um cliente
// utilize preferencialmente CreditCardBuilder para gerar $creditCard
$cardToken = $customerService->saveCard($creditCard);
// você poderá remover o cartão chamando esse serviço
// Obs: em caso de qualquer erro, é lançado exceção
$customerService->deleteCard($customerId, $cardToken);
use Vitorccs\Maxipago\Builders\CustomerBuilder;
use Vitorccs\Maxipago\Builders\CreditCardTokenSaleBuilder;
use Vitorccs\Maxipago\Enums\Processor;
// primeiro você deve cadastrar o cliente (guarde o ID do cliente)
$customer = CustomerBuilder::create('409.289.289-11', 'João', 'Silva')
->setPhone('11 91234-5678')
->setEmail('[email protected]')
->get();
$customerId = $customerService->create($customer);
// depois, você deve cadastrar o cartão de crédito dele (guarde o token)
$cardNumber = '5555 5555 5555 5557';
$expMonth = 5;
$expYear = 2033;
$creditCard = CreditCardBuilder::create($customerId, $cardNumber, $expMonth, $expYear)
->setBillingEmail('[email protected]')
->get();
$cardToken = $customerService->saveCard($creditCard);
// agora você cria a venda em cartão de crédito
$creditCardSale = CreditCardTokenSaleBuilder::create($customerId, $cardToken, 'COD1003', 100.00)
->setProcessorId(Processor::REDE)
->setFraudCheck(Answer::N)
->createBilling(
name: 'João Silva',
cpfCnpj: '227.732.755-78'
)
->get();
// você também pode fazer a venda sem tokenizar o cartão
$cardNumber = '5555 5555 5555 5557';
$expMonth = 5;
$expYear = 2033;
$cvvNumber = '444';
$creditCardSale = CreditCardSaleBuilder::create($cardNumber, $expMonth, $expYear, $cvvNumber, 'COD1003', 100.00)
->setProcessorId(Processor::REDE)
->setFraudCheck(Answer::N)
->createBilling(
name: 'João Silva',
cpfCnpj: '227.732.755-78'
)
->get();
use Vitorccs\Maxipago\Enums\Processor;
use Vitorccs\Maxipago\Builders\PixSaleBuilder;
// Demonstrando os campos mais essenciais
$pixExpiration = 82400; // em segundos
$pixSale = PixSaleBuilder::create(30.00, 'COD1001', $pixExpiration)
->setPixPaymentInfo('Mensagem de agradecimento') // opcional
->createBilling(
name: 'João Silva',
cpfCnpj: '373.067.250-92'
)
->get();
error_reporting(E_ALL);
ini_set('display_errors', 1);
MAXIPAGO_MERCHANT_KEY=myMerchantKey');
putenv('MAXIPAGO_SANDBOX=true');
use Vitorccs\Maxipago\Builders\BillingDataBuilder;
use Vitorccs\Maxipago\Builders\PixSaleBuilder;
use Vitorccs\Maxipago\Enums\Processor;
use Vitorccs\Maxipago\Exceptions\MaxipagoProcessorException;
use Vitorccs\Maxipago\Exceptions\MaxipagoRequestException;
use Vitorccs\Maxipago\Exceptions\MaxipagoValidationException;
use Vitorccs\Maxipago\Http\QueryService;
use Vitorccs\Maxipago\Http\SaleService;
try {
$queryService = new QueryService();
$saleService = new SaleService();
// CRIANDO TRANSAÇÃO
$pixSale = PixSaleBuilder::create(200.00, 'COD_10001', 82400)
->setIpAddress('200.201.202.203')
->createBilling(
name: 'João Silva',
cpfCnpj: '409.289.289-11',
rg: '4.533.890-0',
companyName: 'Company Name'
)
->get();
$checkSuccess = true; // Habilitar MaxipagoProcessorException
$response = $saleService->createPixSale($pixSale, $checkSuccess);
print_r($response);
// CONSULTANDO UMA TRANSAÇÃO
$checkSuccess = true; // Habilitar MaxipagoNotFoundException
$response = $queryService->getLastByOrderId($response->orderID, $checkSuccess);
print_r($response);
// CANCELANDO UMA TRANSAÇÃO (EM ABERTO)
$response = $saleService->cancelSale($response->transactionId);
print_r($response);
} catch (MaxipagoValidationException $e) { // erros de Validação da API
echo sprintf('ValidationException: %s (ErrorCode: %s, ResponseCode: %s)', $e->getMessage(), $e->getErrorCode(), $e->getResponseCode());
} catch (MaxipagoProcessorException $e) { // erros de Processor da API
echo sprintf('ProcessorException: %s (ProcessorCode: %s)', $e->getMessage(), $e->getProcessorCode());
} catch (MaxipagoRequestException $e) { // erros não tratados (servidor e conexão)
echo sprintf('RequestException: %s (HTTP Status: %s)', $e->getMessage(), $e->getHttpCode());
} catch (\Exception $e) { // demais erros (runtime, etc)
echo $e->getMessage();
}
use Vitorccs\Maxipago\Converters\SymfonyXmlConverter;
// recebe os dados em post
$xmlString = file_get_contents('php://input');
// prepara serviço de conversão de XML
$converter = new SymfonyXmlConverter();
// converte o XML recebido em array PHP
$phpArray = $converter->decodeArray($xmlString);
echo $phpArray['transaction-event']['orderID'];
// converte o XML recebido em array PHP
$phpObject = $converter->decodeObject($xmlString);
echo $phpArray->{'transaction-event'}->orderID;
bash
composer
xml
<root>
<header>
<errorCode>1</errorCode>
<errorMsg><![CDATA[Descrição do erro]]></errorMsg>
</header>
</root>
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.