IPN Notification do Mercado Pago não está me notificando

Eu consegui integrar para fazer o pagamento e tudo, mas para receber a notificação e alterar o meu status de “não pago” para “pago” não funciona. Após receber o pagamento, o MP envia um POST neste estilo www.seusite.com.br?topic=payment&id=seuiddepagamento.

Como eu criei um arquivo response.php apenas para isso ficou assim :

    $merchant_order = null;

    if(isset($_GET["topic"])){
    switch($_GET["topic"]) {
        case "payment":
            $payment = \MercadoPago\Payment::find_by_id($_GET["id"]);

            $merchant_order = \MercadoPago\MerchantOrder::find_by_id($_GET["id"]);
        break;

        case "plan":
            $plan = \MercadoPago\Plan.find_by_id($_GET["id"]);
        break;

        case "subscription":
            $plan = \MercadoPago\Subscription.find_by_id($_GET["id"]);
        break;

        case "invoice":
            $plan = \MercadoPago\Invoice.find_by_id($_GET["id"]);
        break;

        case "merchant_order":
            $merchant_order = \MercadoPago\MerchantOrder::find_by_id($_GET["id"]);
        break;
    }

    }

      if(isset($_POST["topic"])){
    switch($_POST["topic"]) {
        case "payment":
            $payment = \MercadoPago\Payment::find_by_id($_POST["id"]);

            $merchant_order = \MercadoPago\MerchantOrder::find_by_id($_POST["id"]);
        break;

        case "plan":
            $plan = \MercadoPago\Plan.find_by_id($_POST["id"]);
        break;

        case "subscription":
            $plan = \MercadoPago\Subscription.find_by_id($_POST["id"]);
        break;

        case "invoice":
            $plan = \MercadoPago\Invoice.find_by_id($_POST["id"]);
        break;

        case "merchant_order":
            $merchant_order = \MercadoPago\MerchantOrder::find_by_id($_POST["id"]);
        break;
    }

    }


    $external_ref = $payment->external_reference;

    $paid_amount = 0;
    if ($payment->status == 'approved'){
        $paid_amount += $payment->transaction_amount;
    }

    if($paid_amount >= $payment->transaction_amount){

            $order = new Order();

            $order->verifyPayment($external_ref);

            http_response_code(200);

    } else {
            print_r("Not paid yet. Do not release your item.");
    }
?>
```

Como podem ver, se der certo, ele chama o metodo verifyPayment e envia o codigo de referencia, e lá eu aplico uma lógica para atualizar de 0(não pago) para 1(pago)

O problema é que ele simplesmente nao ta me notificando nada, e se me notifica eu não sei como é. Porque na documentação eles falam que simplesmente após o pagamento enviam um POST neste formato, mas meu banco nunca atualiza. Obs : Eu ja inseri a URL manualmente e funciona , porém quando faço um pagamento no MP ele simplesmente não atualiza. Como resolvo isso?

Estou com um problema parecido. Você conseguiu resolver?