Rafaelfpviana.com - Lockerz, Heroes, Lost, Fotos, biografia, blog, programação, PHP, seriados, humor, JavaScript, Filmes

[Programação] CodVer do Redecard em PHP


Alguns meses atrás eu estava desenvolvendo uma plataforma de pagamento com cartão de crédito da Redecard com PHP e em um certo momento fique de mãos atadas.

A Redecard fornece uma classe java para criar um código único válido para a transação a ser realizada, obtendo informações de hora e do IP do visitante. Pois é, parece fácil mas quem utiliza PHP sabe que para executar um aplicativo em Java por PHP não é tão fácil assim.

Lembro que eu havia tentado de tudo, cheguei conseguir executar o aplicativo via linha de comando através do shell do linux mas em algo que é muito comum em servidores compatilhados é o fato da execução de comandos via PHP não serem permitidos, resumindo, eu fiquei em um beco sem saída.

Neste momento eu busquei ajuda ao São Google, achei um blog interessante onde um rapaz havia feito uma engenharia inversa nesse aplicativo que a Redecard fornecia e através disso ele bolou uma versão do  que o aplicativo fazia porém em PHP, e o melhor disso foi que ele disponbilizou pra gente :D, muito legal esse cara.

Esses dias eu recebi um e-mail onde alguém leu nos comentários do blog desse rapaz que tinha dado uma limpada no código original dele e neste e-mail ele estava solicitando este meu código.

Resolvi não só atender ao pedido no e-mail mas também disponibilizar aqui para todos, sei que é complicado ficar sem solução e portanto acredito que colocando o código aqui todos poderão obter uma ajuda.

Aqui vai:


<?
        function _RedeCard_CodVer($n_filiacao,$total,$ip) {
                /**
                * By Renato Elias 2006 - renato.elias@gmail.com - blog.s2n.com.br
                **/

                $data = getdate();
                $segundosAgora = $data['seconds'];
                /*
                esta é uma tabelinha de codificação da própria redecard, onde eles
                embaralham os segundos.
                NÃO ALTERAR!
                */

                $_secCodificado = array(11,17,21,31,56,34,42,3,18,13,
                12,18,22,32,57,35,43,4,19,14,9,20,23,33,58,36,44,5,24,
                15,62,25,34,59,37,45,6,25,16,27,63,26,35,60,38,46,7,26,
                17,28,14,36,2,39,47,8,29,22,55,33);
               
                $segundosAgora = $_secCodificado[ $segundosAgora ];

                $pad = '';
                if ($segundosAgora < 10) {
                        $pad = "0";
                } else {
                        $pad = "";
                }
                $tamIP = strlen($ip);
                $total = intval($total);
                $numfil = intval($n_filiacao);
                $i5 = $total + $segundosAgora;
                $i6 = $segundosAgora + $tamIP;
                $i7 = $segundosAgora * $numfil;
                $i8 = strlen($i7);
                return "$i7$i5$i6-$i8$pad$segundosAgora";
        }
?>
 

Comentários

Isso ai é muito simples de resolver. Muda pra Cielo. A redecard ficou parada no tempo.
Tenha o seu gravatar Mendes Enviado em: 06/02/2013 17:22:31
mt doido, parabens
Tenha o seu gravatar valenttyne Enviado em: 13/09/2012 14:41:01
Bem legal, parabens!
Tenha o seu gravatar Muller Enviado em: 22/05/2012 23:03:55
Xará, sabe dizer onde posso baixar a versão java ?. Não consigo achar aquilo pra baixar no site da redecard.

Queria a versão deles pra testar e ver se os códigos batem.

abraço
Tenha o seu gravatar Rafael Rend Enviado em: 20/03/2011 16:18:01
Meu foi dificil achar o script, mas valeu a pena vai ajudar pacas!!!!!
Tenha o seu gravatar Arthur Vieira de Camargo Enviado em: 03/03/2011 16:00:11
Ola, Renato.

Em pleno 2010 e nada da redecard alterar o sua maneira de trabalhar, rsrs nada contra, mas ai nós nos quebramos as vezes para integrar nossos projetos.

Obrigado pela ajuda, foi de grande valia.

Já implementei em .Net e fiz uns testes usando o proprio gerador da redecard e bateu certinho.

Show de bola.

Abs.
Tenha o seu gravatar Fabio Oliveira Enviado em: 19/10/2010 14:22:01
Valeu amigo. Sabia que ia encontrar uma boa alma que ja teria feito isso em PHP
Tenha o seu gravatar sergio anachoreta Enviado em: 01/08/2010 17:47:37
Renato, é seu sim, e por esse motivo os devidos créditos foram mantidos.

Bom trabalho nessa parada da redecard, muita gente com certeza está lhe agradecendo neste exato momento.
Tenha o seu gravatar Rafael F P Viana Enviado em: 28/10/2007 21:19:31
Ei isso é meu.
Tenha o seu gravatar Renato Elias Enviado em: 26/10/2007 19:45:28
Rafael, muito obrigado, alem de colaborar com meu desenvolvimento em php sauvou meu emprego hehi.
Tenha o seu gravatar Marlon Souza Enviado em: 17/10/2007 13:22:35

Deixe um comentário

Todos os campos são obrigatórios

Seu email nunca será publicado. Insira seu Gravatar
quero receber comentários deste post por e-mail.

© 2008 E-Registros
Chuck Norris pode te enforcar com um telefone sem fio