Atualizar pedido

Enviar outro pagamento após falha.

📘

Atualização de pedido.

Ao realizar um pagamento, se o mesmo não for finalizado por falta de saldo e etc... um ID da ordem será gerado, você pode enviar outros dados de pagamentos neste mesmo pedido para que não precise ficar gerando novos pedidos em seu sistema.

🚧

Importante

Por questões de segurança um pedido só pode ser atualizado em no máximo 3 tentativas, pedidos que estejam em análise, processados ou cancelados não serão permitido a atualização, pedidos do tipo cartão mais boleto também não podem ser atualizados depois que o cartão for processado.

<?php
require '../vendor/autoload.php';

use Aqbank\Apiv2\SellerAqpago;
use Aqbank\Apiv2\Aqpago\Request\AqpagoEnvironment;
use Aqbank\Apiv2\Aqpago\Aqpago;
use Aqbank\Apiv2\Aqpago\Order;

$seller_doc 	= '0000000000';
$seller_token 	= 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$sellerAqpago   = new SellerAqpago($seller_doc, $seller_token);

// Ambiente de homologação
$environment = AqpagoEnvironment::sandbox();

// Ambiente de produção
$environment = AqpagoEnvironment::production();

$order = new UpdateOrder('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX');

try {
				
  $order->getOrder()
    ->setType('credit') // novo tipo de pagamento
    ->creditCard($amount, $installments, $referenceId)
    ->setCardNumber($card_number)
    ->setHolderName($holder_name)
    ->setExpirationMonth($expiration_month)
    ->setExpirationYear($expiration_year)
    ->setSecurityCode($security_code)
    ->setCpf($cpf);
  
	$aqpago = (new \Aqbank\Apiv2\Aqpago\Aqpago($sellerAqpago, $environment))->updateOrder($order);
  
} catch(Exception $e){
    echo $e->getMessage();
    exit();
}

echo "<h2>Request: </h2>";
echo "<pre>";
echo json_encode(array_filter($order->jsonSerialize()), JSON_PRETTY_PRINT);
echo "</pre>";

echo "<br>";
echo "<h2>Response: </h2>";
echo "<pre>";
echo json_encode(array_filter($aqpago->jsonSerialize()), JSON_PRETTY_PRINT);
echo "</pre>";