Webhook

notificações através de webhook.

📘

Webhook

Os Webhook serão responsáveis por avisar de alterações de status em pedidos e pagamentos, será enviado o 'order_id' avisando de uma alteração no pedido e você deve consultar o pedido para obter o novo status.

📘

Cadastro de Url na lista de Webhook

Você deve cadastrar uma url para que ela receba uma notificação de alteração de status no pedido e pagamentos.

<?php

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

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

$urlWebhook  = 'https://xxxxxxxxxxxxx.com.br/webhook'; 
// Url que api enviara o webhook
$description = 'Minha loja'; // uma breve descrição
$events      = [
    "transation.success",
    "transaction.succeeded",
    "transaction.reversed",
    "transaction.failed",
    "transaction.canceled",
    "transaction.disputed",
    "transaction.charged_back",
    "transaction.pre_authorized"
];

try {
	$webhook = new Webhook();
	$webhook->setEvent($events)
			->setUrl($urlWebhook)
			->setDescription($description)
			->setMethod('POST');

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

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

    $seller_doc 	= '0000000000';
    $seller_token 	= 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    $sellerAqpago   = new SellerAqpago($seller_doc, $seller_token);
    
    $aqpago = (new Aqpago($sellerAqpago, $environment))->createWebhook($webhook);

} catch(Exception $e){
    echo $e->getMessage();
    exit();
}

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

🚧

Tipos de eventos

Lembre-se de enviar os tipos de eventos que deseja ser notificado, caso algum evento não esteja cadastrado junto a url a mesma não será notificada quando ocorrer o tipo de evento suprimido no cadastro de url no Webhook.