public function processarTransacaoCielo($transcao)
 {
     // Descer dados
     $status = $transcao['payment_status'];
     $id_inscricao = $transcao['order_number'];
     $valorBruto = $transcao['amount'];
     $data = strtotime($transcao['created_date']);
     $codigo = $transcao['checkout_cielo_order_number'];
     $forma_pagamento = $transcao['payment_method_type'];
     //        payment_method_type=1,
     //        payment_method_brand=1,
     //        payment_status=7
     //        amount=1000
     // 1 - identificar inscrição
     /** @var $inscricao Inscricao */
     $inscricao = Inscricoes::getInstance()->getById($id_inscricao);
     if ($inscricao == null) {
         return "Inscrição não encontrada no banco de dados: " . $id_inscricao;
     }
     //1	Pendente (Para todos os meios de pagamento)
     //2	Pago (Para todos os meios de pagamento)
     //3	Negado (Somente para Cartão Crédito)
     //5	Cancelado (Para cartões de crédito)
     //6	Não Finalizado (Todos os meios de pagamento)
     //7	Autorizado (somente para Cartão de Crédito)
     // Pagamento
     // order_number=43,amount=1000,checkout_cielo_order_number=43f39f6b3dff4cbeab39c05b2ea4e68c,"created_date=08/12/2015 14:32:50","customer_name=Tiago Gouvêa",customer_phone=3288735683,customer_identity=06804501659,customer_email=tiago@phormar.com.br,shipping_type=5,shipping_price=0,payment_method_type=1,payment_method_brand=1,payment_maskedcreditcard=406655******7460,payment_installments=1,payment_antifraudresult=1,payment_status=7,tid=1070722607000000002A
     // Mudança de Status
     // checkout_cielo_order_number=43f39f6b3dff4cbeab39c05b2ea4e68c,amount=1000,order_number=43,payment_status=7
     //        "data=2016-01-27 - 18:15:48",checkout_cielo_order_number=cf00b44049464f04a4f1a726ab76be33,amount=43000,order_number=46,payment_status=2
     // Pago?
     if ($status == 2 || $status == 7) {
         // 2 - Pago / 7 - Autorizado - Sim, pago!
         if ($inscricao->confirmado != 1 || $inscricao->forma_pagamento_gateway != $forma_pagamento || $inscricao->valor_pago != $valorBruto || $inscricao->forma_pagamento != 'Gateway' || $inscricao->confirmado == 0 && strtotime($inscricao->data_cancelamento) < $data) {
             $inscricao->_observacao = "Inscrição confirmada";
             $inscricao->confirmarPagamento($status, $data, $valorBruto, null, null, $codigo, null, $forma_pagamento);
         }
         if ($inscricao->status_gateway != $status) {
             $inscricao = $inscricao->registrarStatusGateway(null, $codigo, $status, $forma_pagamento);
         }
     } else {
         if ($status == 3 || $status == 5 || $status == 6) {
             // 3 - Negado / 5 - Cancelada / 6 - Não Finalizado
             if ($inscricao->confirmado == '1' && $inscricao->forma_pagamento != 'Dinheiro' && $inscricao->forma_pagamento != 'Depósito' && strtotime($inscricao->data_confirmacao) < strtotime($data)) {
                 $inscricao->_observacao = "Pagamento cancelado (desfeito)";
                 $inscricao->cancelarFalhaPagamento(true);
             } else {
                 if ($inscricao->confirmado === null) {
                     $inscricao->_observacao = "Pagamento cancelado";
                     $inscricao->cancelarFalhaPagamento();
                 }
             }
         } else {
             if ($status == 600 || $status == 700) {
                 // Ainda não - Registrar o que? A situação né...
                 // Se já estava pago e foi para Cancelada, alterar registro, avisar
                 // Se já estava pago, registrar falha, pois é um estorno ou coisa do tipo
                 // Pensar, porque pode ter sido paga em dinheiro, ai tem que reativar e tal, ignorar o cancelado
                 // Cancelada
                 //            if ($inscricao->confirmado == '1' && $inscricao->forma_pagamento != 'Dinheiro' && $inscricao->forma_pagamento != 'Depósito' && strtotime($inscricao->data_confirmacao)<strtotime($data_pagseguro)) {
                 //                $inscricao->_observacao = "Pagamento cancelado (desfeito)";
                 //                $inscricao->cancelarFalhaPagamento(true);
                 //            } else if ($inscricao->confirmado === null) {
                 //                $inscricao->_observacao = "Pagamento cancelado";
                 //                $inscricao->cancelarFalhaPagamento();
                 //            }
                 // Se foi pago em dinheiro, a inscrição permanece confirmada
             } else {
                 // Registrar status apenas quando não confirmado
                 if ($inscricao->confirmado == null && $inscricao->vencido == null) {
                     $inscricao = $inscricao->registrarStatusGateway(null, $codigo, $status, $forma_pagamento);
                 }
             }
         }
     }
     $inscricao->_status_gateway = $status . " - " . \lib\CieloUtil::getStatusTituloString($status);
     $inscricao->save();
     return $inscricao;
 }