Advertisement
Guest User

Untitled

a guest
Mar 17th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.85 KB | None | 0 0
  1. public function ValidaTransacaoMibank($id_fatura, $id_transacao, $tipo = 1){
  2.        
  3.         $conta_recebimento = '309144-09';
  4.        
  5.         $id_transacao = str_replace(' ', '', $id_transacao);
  6.         $id_transacao = (int)trim(addslashes($id_transacao));
  7.        
  8. /* Verifica se o código já foi usado */
  9.  
  10.         $this->db->where('transacao', $id_transacao);
  11.         $queryTransacoes = $this->db->get('mibank_transacoes');
  12.        
  13.         if($queryTransacoes->num_rows() > 0){
  14.            
  15.             return json_encode(array('status'=>5));
  16.             exit;
  17.         }
  18.        
  19. /* Pega dados da fatura */
  20.  
  21.         if($tipo == 1){
  22.             $this->db->select('p.valor, f.id_usuario');
  23.             $this->db->from('faturas AS f');
  24.             $this->db->join('planos AS p', 'p.id = f.id_plano', 'inner');
  25.             $this->db->where('f.id', $id_fatura);
  26.             $query = $this->db->get();
  27.         }else{
  28.             $this->db->select('valor, id_usuario');
  29.             $this->db->from('faturas_creditos');
  30.             $this->db->where('id', $id_fatura);
  31.             $query = $this->db->get();
  32.         }
  33.        
  34.         if($query->num_rows() > 0){
  35.            
  36.             $row = $query->row();
  37.            
  38. /* Traz os dados transacao */
  39.  
  40.             $transacao = ConsultarTransacao($id_transacao);
  41.            
  42.             if($transacao === false){
  43.                
  44.                 return json_encode(array('status'=>3));
  45.                 exit;
  46.             }
  47.            
  48.             if(!isset($transacao->destino)){
  49.                
  50.                 return json_encode(array('status'=>4));
  51.                 exit;
  52.             }
  53.            
  54.             if($transacao->destino != $conta_recebimento){
  55.                
  56.                 return json_encode(array('status'=>2));
  57.                 exit;
  58.             }
  59.            
  60.             $pagamento = false;
  61.            
  62.             for($i = 0; $i <= 10; $i++){
  63.                
  64.                 if($i <= 9){
  65.                     $value = '0.0'.$i;
  66.                 }else{
  67.                     $value = '0.'.$i;
  68.                 }
  69.                
  70.                
  71.                 $valor_centavos = $row->valor + $value;
  72.                 $valor_centavos = number_format($valor_centavos, 2, ".", ".");
  73.                
  74.                 if(number_format($transacao->valor, 2, ".", ".") == $valor_centavos){
  75.                    
  76.                     $pagamento = true;
  77.                 }
  78.             }
  79.            
  80.             if(!$pagamento){
  81.                 return json_encode(array('status'=>7));
  82.             }
  83.            
  84.             $explode_space = explode(' ', $transacao->data);
  85.             $explode_data  = explode('/', $explode_space[0]);
  86.            
  87.             $date_transaction = $explode_data[2].'-'.$explode_data[1].'-'.$explode_data[0].' '.$explode_space[1];
  88.            
  89. /* Verifica se a transacao foi feita nas ultimas 24h */
  90.  
  91.             if((strtotime($date_transaction)+(60*60*24)) < strtotime(date('Y-m-d H:i'))){
  92.                 return json_encode(array('status'=>4));
  93.                 exit;
  94.             }
  95.            
  96.             /* CUMPRIU TODOS OS REQUESITOS */
  97.      
  98.            
  99.             $id_usuario_fatura = $row->id_usuario;
  100.            
  101.             $this->db->insert('mibank_transacoes', array('id_fatura'=>$id_fatura, 'id_usuario'=>$id_usuario_fatura, 'transacao'=>$id_transacao, 'data_pagamento'=>$date_transaction, 'data_liberacao'=>date('Y-m-d H:i:s')));
  102.            
  103.             if($tipo == 1){
  104.                 $AtivaFatura = $this->LiberarFatura($id_fatura);
  105.             }else{
  106.                 $AtivaFatura = $this->LiberaFaturaCreditos($id_fatura);
  107.             }
  108.                
  109.            
  110.             return json_encode(array('status'=>1));
  111.            
  112.            
  113.         }
  114.        
  115.         return json_encode(array('status'=>6));
  116.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement