<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Rotinas extends CI_Controller {

    public function verificacao_pagamento_pendentes() {
        $consulta = $this->db->query("SELECT * FROM `transacao` where situacao<>5 and situacao<>1 and situacao<>0 and data_transacao like '%2021%'")->result();
        //print_r($consulta);
        foreach ($consulta as $i) {
            
            print_r($i);
            verificar_pagamento_ovumpay($i->id_transacao);
            echo $i->id_transacao . "<br><hr><br>";
            flush();
            ob_flush();
            //echo "<pre>";
            
          
        }
    }

    public function verificar_pagamentos_usuario($id_usuario) {
        die;
        if (empty($id_usuario))
            die("id_usuario");
        $consulta = $this->db->select("id_transacao, data_transacao")
                        ->where("id_aluno", $id_usuario)
                        ->get("transacao")->result_array();
        echo "<pre>";
        foreach ($consulta as $i) {
            $r = verificar_pagamento_ovumpay($i["id_transacao"]);
            $r->data_transacao = $i["data_transacao"];
            echo '<br><hr><br>';
            print_r($r);
            flush();
            ob_flush();
        }
    }

    public function verificar_transacao($codigo_transacao) {
        die;
        if (empty($codigo_transacao) || !is_string($codigo_transacao))
            die("cod_transacao");

        $consulta = $this->db->select("*")
                        ->where("id_transacao", $codigo_transacao)
                        ->get("transacao")->row_array();

        if (empty($consulta))
            die("Não encontrado");

        echo "<pre><br>CONSULTA:<BR>";
        print_r($consulta);
        echo '<br><br><hr>OVUMPAY:<br>';
        print_r(verificar_pagamento_ovumpay($codigo_transacao));
    }

}

function verificar_pagamento_ovumpay($codigo_transacao) {
    if (empty($codigo_transacao) || !is_string($codigo_transacao))
        return false;
    try {
        //Parâmetros enviados via POST
        $post["autenticacao"]["chave"] = OPAYT_CHAVE;
        $post["autenticacao"]["token"] = OPAYT_TOKEN;
        $post["consulta"]["pedido"] = $codigo_transacao;
        $post = json_encode($post);
        $ch = curl_init("https://www.ovumpay.com.br/api/consulta");
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $resposta = json_decode(curl_exec($ch));
        $headers = curl_getinfo($ch);
        curl_close($ch);
        
       // echo $retorno->status;
      

        //Envio do retorno para a URL e resposta
        if (empty($resposta->dados))
            return $resposta;
        $retorno = end($resposta->dados);
        $retorno->cod_status = $retorno->status;
        echo 'Status '.$retorno->status;
        $ch = curl_init($retorno->url_retorno);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
        curl_setopt($ch, CURLOPT_POSTFIELDS, array("resposta" => json_encode($retorno)));
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_exec($ch);

        return $retorno;
    } catch (Exception $ex) {
        return $ex;
    }
}
