Ir para conteúdo
  • Cadastre-se

Boletos Bancários Com Retorno Automático Whmcs - Padrão Cnab 240 E Cnab 400


danielvisnet

Posts Recomendados

Oi diego123, tudo bem?

 

Eu estou fazendo pra minha necessidade:

 

1- Usuário envia o RET manualmente através de um formulário

2- Os dados do RET são exibidos e o usuário confirma se devem ser aplicados no whmcs

3- Clicando em "aplicar", os dados são aplicados na API. 

 

Vou disponibilizar o resultado e quem quiser modificar, vai poder fazer a seu gosto. 

 

Mas é fácil fazê-lo ler o arquivo no servidor. Eu ajudo indicando o caminho disso sem problemas...  O difícil vai ser puxar ele do banco e colocar na pasta, além de fazer o script identificar qual RET deve executar... No bradesco, por exemplo, cada RET tem um nome diferente, que me parece ser a data, mas sem o ano...

 

Ah, e ainda no bradesco, o acesso pra pegar o RET é difícil e envolve diversas senhas pelo NET Empresa. Não sei exatamente se eles disponibilizam uma forma mais fácil pra fazer isso... 

 

mas a minha idéia inicial é tornar pelo menos SEMI AUTOMATICO. E é isso que eu vou disponibilizar primeiro, ok?

 

Estou tendo sucesso por aqui. Aguardem.

 

Abraços. 

Link para o comentário
Compartilhar em outros sites

Há uns anos, encontrei aqui mesmo no PDH um rapaz que disse que tinha conseguido aplicar o arquivo de retorno no WHMCS, fazendo as baixas das faturas somente com o envio do retorno por um formulário. 

 

Feliz, porque já estava buscando isso há bastante tempo, baixei o arquivo que o rapaz teve muita boa vontade de fornecer gratuitamente, m,as infelizmente, o arquivo não funcionou porque havia uma falha na codificação que ele fez pra proteger seus créditos de direitos autorais. 

 

Não o culpo. Afinal, o que mais tem é gente que quer só sugar, sem acrescentar em nada nessa vida. 

 

Dessa época em diante, vi diversas pessoas tentando fazer esse script de retorno com o WHMCS, alguns conseguindo e cobrando por seus sistemas, outros desistindo ao longo do caminho por desmotivação, mas o pior: alguns CONSEGUINDO fazer os sistemas funcionarem, mas não divulgando-os. 

 

E assim fomos ficando sem o script, por causa do egoísmo daqueles que conseguiram criá-lo e não quiseram divulgá-lo, e da falta de respeito de outros em não manter nem mesmo o crédito de quem dedicou algumas (ou muitas) horas de seu tempo em criar aquilo de graça, fazendo com que até quem tinha boa vontade de publicar de graça, ficasse desmotivado em fazê-lo... 

 

Isso tudo foi o que mais me incentivou em entrar nesse projeto. Pensei por alguns segundos em cobrar por ele, afinal, dediquei pelo menos umas 20 horas nisso, mas aí lembrei da quantidade de scripts gratuitos que eu já usei nessa vida, além da boa vontade de diversas pessoas em fazer artigos e publicar dicas que eu sempre encontro pelo Google quando preciso de uma informação que não tenho.

 

Então, divulgar isso de graça é o MÍNIMO que eu posso fazer pra retribuir.  

 

Esse deveria ser o pensamento de TODOS. Afinal, devemos SIM remunerar nosso trabalho, mas NÃO devemos esquecer da quantidade de coisa gratuita que a gente já usou, especialmente daquelas nas quais GANHAMOS dinheiro um dia. 

 

E assim é com muito prazer que eu publico aqui o script de retorno de boleto bancário do whmcs EM PRIMEIRA MÃO, DE GRAÇA, SEM CODIFICAÇÃO, totalmente OPEN, e torcendo pra que outras pessoas LEGAIS incrementem-o com funcionalidades e modificações necessárias:

 

Faça o download aqui

 

A instalação dele é bem fácil (tem tudo no arquivo "instalação.txt") e não acredito que seu uso vá ter algum mistério. 

 

Basicamente ele faz o seguinte:

 

1- Te dá um formulário pra você mandar o RET

2- Exibe os dados do RET pra você confirmar se os dados estão OK, e te notifica nessa tela se o valor do saldo da fatura for inferior ao pago no boleto, ou se a fatura já está marcada como "paid" no whmcs

3- Após seu OK, ele insere os dados no WHMCS, mas APENAS para as faturas que estão em aberto (Unpaid). Se a fatura estiver "Paid" ou "Cancelled", ele não insere aqueles dados e te notifica com uma mensagem em vermelho.

4- Caso a fatura esteja como "unpaid", mas seu "balance" seja inferior ao valor pago no boleto, ele aplica o valor integral pago, MAS ATENÇÃO, nesse caso o whmcs aplica um crédito pra esse cliente automaticamente. 

 

 

E claro, se quiser agradecer, faça um orçamento de algum serviço comigo. Vai ser um prazer lhe atender! wink.png

Link para o comentário
Compartilhar em outros sites

Caro 

Alexandre Aleixo

Parabéns pelo trabalho! É muito fácil alguém dizer que tem o código e que vai disponibilizar e nada fazer... Essa novela se arrastava há muito tempo!!!

Seu gesto é nobre e de homens nobres que conseguimos mudar uma sociedade.

Infelizmente o pessoal aqui e em outros somente usam, mas pouco contribuem para melhorar algo.

Agradeço imensamente pelo script e rezo pra que não tenha um que o venda por ai!!! Por isso deveríamos divulgá-lo de forma que quando alguém pesquisar no google ache esse script direto! É o mínimo que podemos fazer.

Concordo com você em gênero, numero e grau quando fala de tantas coisas que já encontramos grátis por ai e ganhamos dinheiro com isso...

Deus te abençoe sempre.

Link para o comentário
Compartilhar em outros sites

Deu um erro

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM no arquivo processar.php linha 53

Resolvi assim:

 

codigo antigo: if($vlinha["registro"] == $self::HEADER_ARQUIVO)

 

codigo novo: if($vlinha["registro"] == $self.'::'.HEADER_ARQUIVO)

 

Se fiz besteira me avisem!! kkk

 

 

Acho que é porque a minha versão do php é Versão do PHP     5.2.17

Link para o comentário
Compartilhar em outros sites

Oi Diego, tudo bem?
 
Obrigado pela mensagem. 
 
Eu só testei ele no apache 2.2.24 e no PHP 5.3.23, usando dois arquivos de retorno do Bradesco.  
 
Aqui foi tudo belezinha, sem erros. 
 
Você quer me mandar um arquivo de retorno da CAIXA pra eu testar aqui?
 
Ah, o PHP 5.2.17 já está marcado como "deprecated" hein... Eu sugeriria a atualização dele.
 
No mais, o código está longe de ser uma obra de arte, e pode ter bugs sim... Mas pelo menos por aqui ele cumpriu com o que deveria. 
 
Abraços. 
Link para o comentário
Compartilhar em outros sites

A propósito, diego123, as linhas 253 e 254 do "processar.php" são as que tratam da "localização" do arquivo de retorno. 

 

253. //$fileName = "retorno_cnab240.ret";
254. $fileName = $_FILES['arquivo']['tmp_name'];

 

Se você comentar a 254 e descomentar a 253, ele passa a processar o RET em um local específico, e ignora o que for mandado pelo formulário.

 

Agora o seu problema é fazer ele saber qual arquivo deve processar. No Bradesco por exemplo, os arquivos se chamam CB270300.RET, CB260300.RET e etc... Onde eu acho que os 4 primeiros números seriam a dia e o ano de sua geração, mas não tenho certeza. Na caixa não sei como são esses nomes.

 

Além disso, nesse caso deveria ser feito um relatório após o processamento e enviado por email ou deixado em algum lugar com as informações, para referência futura... 

 

E claro, o mais complicado, que seria a cron pra pegar o arquivo automaticamente do banco.

 

Feito isso tudo, é moleza remover a entrada do formulário e a página de "validação" dos dados, deixando somente a de inserção. 

 

Mas eu particularmente prefiro rever os dados antes de inserí-los no whmcs. Então o processo acima não me agrada muito não, pq se der pal, eu só fico sabendo depois. 

Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?