Atenção, essa solução foi movida para uma página definitiva, novas versões poderão ser baixadas diretamente de lá. Clique aqui para prosseguir até lá.
Dica
Antes de implementar esta classe leia os comentários de pessoas que já utilizaram (pelo menos os últimos).
Caso queira ser reportado sobre algum problema ou melhoria na classe, preencha o campo e-mail na hora de comentar.
Nota para quem esta enfrentando o problema abaixo
“Problemas na criptografia ou o campo valor está incorreto.”
Amigos, no momento estou fazendo uma manutenção neste script PHP. Peço desculpas, mas estou tentando coloca-lo em funcionamento novamente o mais breve possível.Caso alguém possa me ajudar, no momento estou precisando da classe Java (Itaucripto.class).
Caso você tenha, pode enviar para o e-mail caio.ariede@gmail.com.
Agradeço a ajuda, e a compreensão.
Update
Ontem (07/05) pela noite, fiz alguns testes com a classe Java (Itaucripto.class), e verifiquei que o mesmo erro “Problemas na criptografia ou o campo valor está incorreto.” acontece, enviei um e-mail para o pessoal do Itau Shopline e estou aguardando a resposta.
Resposta do Itaú
Caio bom dia,
Essa questão tem que ser tratada junto ao SOS BANKLINE e infelizmente o unico contato deles évia tel , sendo assim , não se trata de um problema sistêmico que você possa solucionar e sim um problema de cadastro como a própria cliente disse , peça que ela faça este processo denovo e se o ERRO persistir contatar o 3019-1213 / 0800-121314.
Obrigado.
Conclusão
Quem estiver com o problema, entre em contato com o SOS Bankline para resolver o problema.
E comentem sobre o resultado obtido. ;)
Prosseguindo…
Bom, se você esta lendo este artigo, tenho quase a certeza de que esta passando apuros ou ao menos tendo alguma dor de cabeça relacionada a integração de seu sistema com o Itaú Shopline. Já perdi um tempo achando uma solução para essa integração com um sistema em PHP.Aquela extensão Java para o PHP (http://php.net/java), por ser experimental esta fora de questão, pelo menos pra mim. Estou disponibilizando aqui então uma solução para este problema, desenvolvida por mim em PHP.Não é necessário nenhuma DLL, nem extensão PHP e muito menos ambiente Windows, roda em qualquer ambiente. :)O que fiz foi criar uma classe em PHP que gera os dados necessários, criptografados para serem enviados ao Itaú Shopline.
Abaixo segue um exemplo de utilização, lembrando que no arquivo da classe contém um outro exemplo melhor.
<?php
$cripto = new Itaucripto;
$codEmp = "";
$pedido = "";
$valor = "";
$observacao = "";
$chave = "";
$nomeSacado = "";
$codigoInscricao = "";
$numeroInscricao = "";
$enderecoSacado = "";
$bairroSacado = "";
$cepSacado = "";
$cidadeSacado = "";
$estadoSacado = "";
$dataVencimento = date('dmY');
$urlRetorna = "";
$obsAd1 = "";
$obsAd2 = "";
$obsAd3 = "";
$dados = $cripto->geraDados($codEmp,$pedido,
$valor,$observacao,$chave,
$nomeSacado,$codigoInscricao,
$numeroInscricao,$enderecoSacado,
$bairroSacado,$cepSacado,$cidadeSacado,
$estadoSacado,$dataVencimento,$urlRetorna,
$obsAd1,$obsAd2,$obsAd3);
echo $dados;
?>
A classe pode ser baixada através do link:
- http://caioariede.com/arquivos/itau.shopline2.phps
- http://caioariede.com/arquivos/itau.shopline.phps – classe antiga, indicada no momento
Problemas Conhecidos
Problemas no processamento, tente mais tarde. (Erro 02)
Este problema geralmente ocorre quando você altera a chave “SEGUNDA12345ITAU”, essa chave não deve ser alterada em nenhuma ocasião
Caso o problema persista verifique os dados que estão sendo passados para a classe, limite tamanho, formatação, etc..
Veja também:
Gerando URLs Amigáveis com PHP (Search engine friendly URLs)
Boa tarde, fiz tudo como explicado acima, peguei os dados com minha gerente, viz o teste e dá mensagem de erro:
Loja não cadastrada no Itaú Shopline.
SOS – Itaú Bankline
Oi,
Caio, antes de tudo, parabéns pela iniciativa!
Olhei os códigos e a classe do itaú e com algumas alterações consegui fazer funcionar no https://shopline.itau.com.br/shopline/emissao_teste.asp
(que antes dava o erro de loja não cadastrada sempre).
Na classe antiga (linha 25) onde está:
$this->CHAVE_ITAU = “SEMINOVOS1017231″;
Colocar:
$this->CHAVE_ITAU = “SEGUNDA12345ITAU”;
Na classe nova (linha 239) onde está:
$s19 = $this->Algoritmo($s . $s18, $s4);
Colocar:
$s19 = $this->Algoritmo($s . $s18, $this->CHAVE_ITAU);
No formulário que irá gerar os dados, tem que utilizar a chave de criptografia e o código do site da empresa. A chave da classe deve permanecer a “SEGUNDA12345ITAU”.
Fiz vários testes e funcionou tudo ok. Em alguns momentos retornou o erro “Problemas no processamento, tente mais tarde” (acredito que por ser no ambiente de testes), mas funcionou depois normalmente. Não sei ao certo, mas penso que a geração funciona apenas se a empresa estiver cadastrada no banco, uma vez que o boleto trás as informações da empresa (razão social, cnpj).
[]s.
Eu testei aqui com estas alterações do Eduardo e também sem as alterações. Direcionando o form para o endereço de testes do shopline.
Em todos os testes aparece a mensagem “Problemas no processamento, tente mais tarde”
O código da empresa que eu usei é o mesmo que aparece no script de testes que vem no manual do Itaú. Será que se utilizar uma empresa válida dará certo?
Consegui fazer funcionar depois de dias tentando…. acabei de conseguir, ainda nao testei totalmente, mas pode baixar o arquivo que tenho agora aqui que deu resultado:
http://www.planetaria.com.br/tmp/itau_shopline.phps
q q eu fiz:
1. baixei(a versao antiga):
http://caioariede.com/arquivos/itau.shopline.phps
2. Alterei a a linha 25 de
$this->CHAVE_ITAU = “SEMINOVOS1017231″;
para
$this->CHAVE_ITAU = “SEGUNDA12345ITAU”;
3. Usei o codigo do arquivo mais atual para chamar a classe…usei a chave da empresa REAL.
Valeu Caio, quando tiver um tempinho faz a integracao da versao antiga na nova, de um jeito q funcione … vou tentar aqui assim que puder.
Olá, pessoal
Consegui fazer a instalação do móculo, tudo certinho, mas agora me aparece um erro, que o Itaú alega ser meu:
Contratamos a carteira 187 (boleto, transferência, CC etc)…… E só me aparece unicamente o boleto bancário! Nem aparece a tela do shopline para optar qual será o métido de pagamento….
O que pode ser? No manual não fala como indicar a carteira, eles dizem que está tudo certo lá, e que o erro é única e exclusivamente meu……
Abraços pessoal, e Caio, parabéns pelo desenvolvimento :)
Opa…..
Favor desconsiderar a minha mensagem anterior……. o cabeção aqui estava colocando uma URL de retorno sem o HTTSP….. daí dava erro, e considerava como sendo “reemissão de boleto”…
Deixei em branco, e funcionou que é uma maravilha!
Mais uam vez, parabéns Caio pelo script :D
Olá, Caio. Eu fiz uma versão da sua classe para PHP5, se você quiser dar uma olhada e colocar no site entre em contato!
Saudações!
Boa Tarde Pessoal
Estou tentando implementar a segunda via do boleto Itau no site da empresa em que trabalho o Banco Itau me encaminhou um manual
http://www.aaug.com.br/Manual.pdf
Copiei o exemplo do manual e alterei a chave mas nao consegui colocar no ar
se alguem puder me ajudar eu agradeço
Creio que o problema “Problemas no processamento, tente mais tarde” está relacionado ao número de pedido, se você enviou o mesmo número de pedido antes com algum problema nos dados e tentou enviar ele depois novamente, ele irá acusar esse erro.
Quando der esse erro, tente trocar o número de pedido que você está testando.
Ah, e quem conseguiu fazer funcionar a parte de decriptografar para pegar o tipo de pagamento, me mande um e-mail por favor:
luuuks@gmail.com
Abraços!
Tentei usar a classe mas o itaú diz que a loja não está cadastrada. O que pode ser? pela DLL não presta não…….
@Felipe Sena, tente essa classe:
http://caioariede.com/arquivos/itaushopline.v3.phps
Ainda não foi concluida, mas algumas pessoas estão utilizando-a já.
Testei a classe que está no endereço:
http://caioariede.com/arquivos/itaushopline.v3.phps
Fiz o teste com codEmp e chave que ja estavam nela e com outros ja homologados pelo itau…
Ambos funcionaram perfeitamente… Sem nenhum erro….
Valeu a iniciativa….
como que eu coloco essa classe para funcionar no oscommerce??
[...] Integração Itaú Shopline PHP — caioariede.com weblog (tags: php boleto) [...]
Olá Caio.
Estou implementando o shopline como sistema de pagamento da empresa e tive algumas dificuldades.
Uma delas foi o fato de o itaú disponibilizar a classe apenas em java, no entanto esse problema você solucionou.
Implementei a classe que você criou (a v3) e para enviar os dados funcionou uma beleza, o problema é o retorno do itaú. ele tem um retorno automático com um código criptografado no mesmo esquema. quando uso o metodo decripto no DC que enviei, ele funciona sem problemas mas, quando uso com o DC que recebi do itaú ele não funciona.
Verifiquei o código da empresa, a chave que gerei no itaú, não mexi na chave “SEGUNDA12345ITAU” e está tudo certo. você saberia me dizer onde estou errando?
Muito obrigado e abraços.
Faz um pouco de tempo que não mexo com o Itaú Shopline, verifique se o método decripto da classe sem ser a v3 funciona.
Caso contrário, creio eu que no lugar da chave “SEGUNDA12345ITAU” você tenha que colocar uma chave especifica, disponibilizada pelo próprio Itaú.
Se não for isso, não sei mesmo o que pode ser.
Espero ter ajudado, e boa sorte :)
Olá, gostaria de agradecer todos pela iniciativa!!!! NOTA 1000 para vcs!!!!
Uma dúvida, alguém conseguiu fazer isso no oscommerce?
Obrigado!
Meu, perfeita a solução! Parabéns!
Porém, tenho um problema. Para fazer a página de retorno, preciso obrigatóriamente ter um SSL no servidor?
Outra coisa, este itaucripto, tem o método de geraConsulta também?
Se puderem me ajudar, hehehe.
Mais uma vez, parabéns.
Ai Pessoal,
Muito bom o Post, funcionou tudo certinho… Parabéns mesmo!!!
Se vocês tiverem algo para gerar o geraConsulta, favor postar…
Vlw
Fala Caio, show de bola, pensei em fazer isso mais não tinha idéia qual o padrão da criptografia que o itau aceita, utilizei a sua, e estou com problemas de valor invalido.
Tem idéia do que seja?
Verifique qual o formato para valor que você esta utilizando.
Certifique-se de que segue o padrão: 10,00 ou 1000,00.
Caio eu completo com zeros a esquerda?
por exemplo 00000010,00?
vlw.
Trabalhei nessa classe a muito tempo atrás.
Mas creio eu que seja apenas 10,00.
kra como tu descobriu que esse metodo é da dll do itau?
ela é baseada em alguma cripto?
E continuo tendo problemas, os colegas acima conseguiram mais eu não…putz.!