<?php header('Content-Type: text/html; charset=utf-8'); ?>
<?php date_default_timezone_set('America/Sao_Paulo'); ?>
<?php

require("config.php");
require("includes/debug.php");
require("includes/functions.php");


$r = isset($_GET['r']) ? $_GET['r'] : null;

ob_start();
echo "Post<br/>";
var_dump($_POST);
echo "-------<br/>";
echo "Get<br/>";
var_dump($_GET);
echo "-------<br/>";
echo "url request<br/>";
echo $_SERVER['REQUEST_URI'];
echo "Ip request<br/>";
echo $_SERVER['REMOTE_ADDR'];

$detalhes = ob_get_contents();

ob_end_clean();

if (null === $r) {

    $mensagem_log .= date('d/m/Y H:i:s') . ": Revenda não informada<br/>";
    $mensagem_log .= "<br/>Detalhes: $detalhes</br>";
    $mensagem_log .= "*** FIM ****<br/>";
    error_log($mensagem_log, 3, 'logs/notificacoes_bf.html');    
    exit();
    
}

$mensagem_log .= date('d/m/Y H:i:s') . ": ##### Revenda Informada #########<br/>";
$mensagem_log .= "<br/>Detalhes: $detalhes</br>";
error_log($mensagem_log, 3, 'logs/notificacoes_bf.html');

$log = "*** INICIO ***";

$id_revenda = (int) dpt(base64_url_decode($r), $s);

// recebe dados da notificaçao enviado pelo boleto facil

$id_referencia = json_decode(base64_decode($_POST['chargeReference']), true); ////'tipo' => 'L', 'id' => 1)

$dados_post['paymentToken'] = $_POST['paymentToken'];
$dados_post['responseType'] = 'JSON';
$chargeCode = $_POST['chargeCode'];

$retorno = consulta_bf(null, $dados_post);

ob_start();
echo "<pre>";
var_dump($retorno);
echo "</pre>";

$dump_retorno = ob_get_contents();

ob_end_clean();

error_log(__LINE__. " - ". date("d-m-Y H:i:s") . " - Retorno: " . $dump_retorno, 3, 'logs/notificacoes_bf.html');

if ($retorno->sucesso == true) {

    $id_pagamento = $retorno->dados['data']['payment']['id'];
    $valor_pago = number_format($retorno->dados['data']['payment']['amount'], 2);
    $juros = number_format($retorno->dados['data']['payment']['fee'], 2);
    $data_pagamento = $retorno->dados['data']['payment']['date'];

    $data_cobranca = $retorno->dados['data']['payment']['charge']['dueDate']; // data vencimento boleto

    $time_data_pagamento = strtotime(str_replace("/", "-", $data_pagamento));
    $time_data_cobranca = strtotime(str_replace("/", "-", $data_cobranca));

    //if (($time_data_pagamento >= $time_data_cobranca) && (is_numeric($id_pagamento) && $id_pagamento > 0)) {

    if ($data_pagamento !== "" && $valor_pago > 0 && (is_numeric($id_pagamento) && $id_pagamento > 0)) {
        //para transações logins
        if ($id_referencia['tipo'] == 'L') {

            $log .= "[L] - ";

            $datalhes = "<p><strong>Id Pagamento:</strong> {$id_pagamento}<br/>"
                    . "<strong>Valor Pago:</strong> R$ {$valor_pago}<br/>"
                    . "<strong>Juros:</strong> R$ {$juros}<br/>"
                    . "<strong>Codigo Cobrança:</strong> {$chargeCode}</p>";

            $status = 3;

            $data_atualizacao = date('Y-m-d H:i:s', $time_data_pagamento);

            // atualiza satus da transacao
            $con = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

            $rs = $con->query("UPDATE cmum_transacoes SET "
                    . "detalhes='{$datalhes}',"
                    . "status='{$status}',"
                    . "data_atualizacao='$data_atualizacao'"
                    . " WHERE id={$id_referencia['id']} AND status != 3");

            if ($rs === true) {

                //ativado o login
                if (atualiza_venc_login($id_referencia['id'])) { // atualiza vencimento do login com base na transação salva
                    $log .= date('d/m/Y H:i:s') . ": --- Status transação [aprovada] e vencimento login alterado com sucesso.---<br/>";
                    $log .= "*** FIM ***<br/>";
                    error_log($log, 3, 'logs/notificacoes_bf.html');
                }
            }
        }

        // para transações de revendas
        if ($id_referencia['tipo'] == 'R') {

            $log .= "[R] - ";

            $dados['id_transacao'] = $id_referencia['id'];
            $dados['detalhes'] = "<p><strong>Id Pagamento:</strong> {$id_pagamento}<br/>"
                    . "<strong>Valor Pago:</strong> R$ {$valor_pago}<br/>"
                    . "<strong>Juros:</strong> R$ {$juros}<br/>"
                    . "<strong>Codigo Cobrança:</strong> {$chargeCode}</p>";
            $dados['status'] = 3;
            $dados['data_atualizacao'] = date('Y-m-d H:i:s', $time_data_pagamento);

            if (altera_status_rev($dados)) {

                $log .= date('d/m/Y H:i:s') . ": --- Status transação [aprovada] e valores da cotas foram atualizadas.---<br/>";
                $log .= "*** FIM ***<br/>";
                error_log($log, 3, 'logs/notificacoes_bf.html');
            }
        }
    }
} else {
    $log .= date('d/m/Y H:i:s') . ": ---{$retorno->dados['errorMessage']}---<br/>";
    $log .= "*** FIM ***<br/>";
    error_log($log, 3, 'logs/notificacoes_bf.html');
}











