Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte para extensões de Formas de Pagamento
#4762
Segue e-mail que mandei para o suporte do Cobredireto:

"Olá, estou tentando integrar o módulo na loja Opencart, mas não consigo pois o webservices de vocês precisa que a loja gere um XML que tenha 8 caracteres no cep. Na minha loja, o formulário para cep gera aquele hífen separando os três últimos números. Verifiquei o código e imagino que existe a possibilidade de excluir o "-" do cep para que o XML seja gerado adequadamente, de forma semelhante a que o módulo do Cobredireto trata os campos endereço e telefone (através do arquivo /cbd/tratadados.php?). Vocês podem me ajudar com isso?? Eu sou capaz de manipular as linhas do código php, mas não sei como fazer sem orientação. Resumindo, gostaria inserir um código ou que vocês me enviassem módulo módulo alterado com esta funcionalidade.

O código de erro que o site retorna é:

Erro: XML mal formatado. _customer_data of class: payorder.PayOrder: _customer_info of class: payorder.Customer_data: _address_zip of class: payorder.Customer_info: Strings of this type must have a maximum length of 8 characters.

Obrigado!"

Imagino que isso possa ser facilmente resolvido com algum comando no código do módulo para apagar o hífen antes de enviar o formulário ao Cobredireto, mas eu sou completamente leigo em PHP.
Ficaria muito agradecido se alguém puder me ajudar.
#4873
Olá, Vidal!

Depois de muito tentar, acabei desistindo de alterar o módulo do Cobredireto pois ele faz uma chamada para 3 arquivos diferentes na hora de efetuar o pagamento, sendo que um deles parece ser o responsável por efetivamente "tratar" os dados, removendo caracteres estranhos, etc. Mas todos eles parecem estar imbrincados.

Os 3 arquivos são:

\controller\payment\cobredireto.php
\catalog\controller\payment\cbd\tratdados
\catalog\controller\payment\cbd\pagamento

Então, dentro das minhas possibilidades, a solução que encontrei foi mexer na máscara do módulo do nosso colega lenhart (que insere novos campos de cadastro) para que o cadastro dos clientes fosse feito sem o hífen e a solução acabou funcionando em partes, pois o módulo está programado para usar os campos padrões do Opencart e os outros dados como endereço, telefone, etc, não são foram reconhecidos. Acabou só indo o CEP para a tela de pagamento depois que removi o hífen!

Diante disso, não sei se é um problema que afeta todos os módulos de pagamento ou não, em maior ou menor escala, pois alguns parecem inserir seus próprios sql no banco de dados, acredito que seria interessante que nós colocássemos a disposição dos usuários do Opencart Brasil lá na página de downloads uma espécie de módulo oficial de cadastro de clientes, com campos padronizados para o Brasil e atualizado de forma a manter a compatibilidade com as versões mais recentes do Opencart. Eu acho que desta forma, as empresas brasileiras que desenvolvem módulos poderiam inclusive se interessar mais para desenvolvê-los, mantê-los atualizados e com maior compatibilidade. Poderíamos fazer pequenas modificações no módulo oficial do Paypal para que este importasse também os campos corretamente (ele não reconhece o "bairro" e impora o campo "complemento" no seu lugar).

O próprio módulo do lenhart é muito bom e funciona muito bem no Opencart 1.4.9.4 como comentado no post original dele. Eu mesmo poderia ajudar, pois em 2 semanas já aprendi bastante e acho que já posso começar a contribuir com o projeto.

O que você acha?

Grande abraço!
#4875
Acho uma ótima idéia colocar o módulo de cadastro com dados completos para o Brasil no site da comunidade, e no caso ele deveria ter documentação sobre seu funcionamento para poder ficar confiável e entendível para desenvolvedores.