Hello all, i will post in pt-BR because this module is only useful in Brazil. If some problem, ask me that i translate for you.

Bem, conforme já esta rolando a algum tempo a conversão para drupal 6 e ubercart 2, tirei alguns mins do meu dia para tocar essa carroça (que tem andado muito lenta).

Como o flaviovs fez uma junção de todo o trabalho do Marcelo, do Marcus e alguns ajustes próprios, fica mais tranquilo de fazer os ajustes finais para lançar o modulo.

Coloquei o código no CVS no branch do drupal 6 e tenho algumas considerações a fazer:

1) O código não está seguindo o padrão definido pelo drupal. Trabalhar dentro do padrão é altamente importante em um projeto open source. Mais informações: http://drupal.org/coding-standards

2) Uso de HTML entities nas frases. O Drupal usa o UTF-8 como charset base. Se você configurar seu editor de texto para usar UTF-8 durante a programação, o HTML entity torna-se desnecessário.

3) Código comentado ao invez de Comentário de código. Tem muito código comentado. Um módulo precisa estar limpo e padronizado para que seja lançado.

Bem, fora isso, precisamos de teste...

Critiquem!

-pedrofaria

Comments

Marcus VBP’s picture

é cara, assumo parte da culpa, mas eu tava fazendo o possível no meu tempo e conhecimento limitados...

afinal eu tenho q lançar o site do meu cliente (que por sinal tá online: www.exercicioscontabeis.com.br).

bom, ao meu ver, o módulo tá com 2 problemas, que pode ser um só afinal: você efetua a compra, os dados vão para o pagseguro, mas a loja nao registra a compra, o usuário não é listado como comprador...

também tem que ver se qdo o usuário compra um produto com a opção de aplicar um papel ao usuário o papel vai ser realmente aplicado, mas eu acho que isso ta relacionado com o problema de nao registrar a compra.

flaviovs’s picture

Pedro, respondendo às sua perguntas:

  1. "Você me permite que eu coloque no CVS do drupal para melhor controle do codigo?" Sim, por favor, faça isso. A idéia é essa mesmo!
  2. "O código não está seguindo o padrão definido pelo drupal." É verdade, e não me preocupei muito com isso neste momento. Se alguém puder dar uma acertada no fonte, agradeço em nome da comunidade.
  3. "Uso de HTML entities nas frases. O Drupal usa o UTF-8 como charset base. Se você configurar seu editor de texto para usar UTF-8 durante a programação, o HTML entity torna-se desnecessário." Por default meu editor só edita arquivos do Drupal em UTF-8. Ficou algum caracter fora do padrão no arquivo? Se sim, me fale que vejo o que ocorreu aqui pra acertar...
  4. "Código comentado ao invez de Comentário de código. Tem muito código comentado." É verdade! Somente depois de enviar o arquivo lembrei-me que, por exemplo, todo o código de request HTTP que foi substituído por drupal_http_request() foi comentado e ainda está no módulo ocupando espaço. Veja resposta 1 acima. Se alguém puder ajudar... ;-)

Existe outra questão em relação ao código, que é o uso de strings traduzidas. Algumas mensagens nem usam a função t() e em alguns lugares também não me preocupei com isso pois, afinal, o módulo é para brasileiros que falam português (nem sei se o PagSeguro tem opção de interface em outro idioma). Também não tenho certeza de qual o padrão do Drupal nestes casos.

As opções são: a) não usar t(); b) usar t() com strings em português e c) usar t() com strings em inglês e traduzir a interface via arquivo .po.

Se a gente for usar o padrão de facto, a opção a seguir seria a "c", mas acho que isso pode ser uma complicação desnecessária.

Edit: se for usar t() o texto tem que estar em inglês (ou seja, seguir a opção "c"). Vejam http://api.drupal.org/api/function/t:

t($string)
(...)
$string A string containing the English string to translate.

(O negrito fui eu que coloquei.)

flaviovs’s picture

@Marcus VBP:

bom, ao meu ver, o módulo tá com 2 problemas, que pode ser um só afinal: você efetua a compra, os dados vão para o pagseguro, mas a loja nao registra a compra, o usuário não é listado como comprador...

também tem que ver se qdo o usuário compra um produto com a opção de aplicar um papel ao usuário o papel vai ser realmente aplicado, mas eu acho que isso ta relacionado com o problema de nao registrar a compra.

Marcus, eu testei o módulo e nada disso aconteceu (ou, sendo mais claro, tudo funcionou).

Note que, como disse no post original, testei apenas em um servidor de teste. Mas lembrando que as funções que você alega não estarem funcionando são atribuições do UC,

Pergunta: voce já experimentou usar o módulo de cartão de crédito que vem no UC com o gateway de teste e ver se o problema está mesmo no módulo do PagSeguro??

Vuds’s picture

Pessoal,

Não tive tempo ainda de ver o módulo, me desculpem. Estou tentando correr pra garantir um fim de ano mais tranquilo pq pra dezembro estou esperando uma baixa de clientes.

Duas coisas:

1) Tem q adaptar o módulo para usar t() e expressões traduzidas. O avanço do PagSeguro deve seguir para a América Latina inteira (começando pela Argentina, onde o UOL já é bem forte).

2) Outra coisa q a fonte do UOL me garantiu é q eles vão mudar o sistema mas q as alterações de programação *devem ser* mínimas. Então eu continuaria trabalhando nessa base, mas com certo cuidado. Outra coisa é q, qdo entrar o sistema novo, provavelmente deverá haver um servidor de testes (ufa, finalmente!).

pedrofaria’s picture

Boas notícias Vuds...

Então pessoal, vamos meter a mão na massa...

o código já está no CVS e pode ser baixado. Não quero liberar o snapshot da nova versão pq ainda necessita de muitas modificações.

Se alguém precisar de ajuda com o CVS, grita!

flw

Marcus VBP’s picture

@flaviovs

cara, seguinte... eu testei diretamente no pagseguro, usando minha conta lá...

aí não sei...

vc nao tem como testar usando o pagseguro mesmo nao?

flaviovs’s picture

Marcus, claro que tenho e vou testar no PS. Estou trabalhando em um site que precisava ter uma solução preliminar de integração com o PS, daí o patch. Em alguns dias vamos começar os testes de integração e o resultado eu mando aqui.

De qualquer forma, a questão de atribuir o papel está sim relacionada ao recebimento da confirmação do pagamento. Se há problema, ele está neste recebimento de confirmação do PS, porque usando um servidor de teste funciona -- e a atribuição de papéis é um módulo do UC, que não teria porque deixar de funcionar somente com o módulo do PS.

Perguntas:

  1. Você cadastrou seu token de segurança na configuração do módulo?
  2. Já olhou o log do Drupal?
  3. Já olhou o log do pedido?
  4. O pedido muda de status (de "In checkout" para "Pendind", "Completed" etc.)?
Marcus VBP’s picture

@flaviovs

to meio afastado do meu projeto que usa pagseguro, aí não ta dando para testar nada disso.

Agora eu tenho uma sugestão de uma boa adição ao módulo.

O Ubercart tem uma opção de desabilitar o checkout pelo próprio ubercart. Se vc ativar esta opção, o botão de checkout some do carrinho.

A minha sugestão seria adicionar uma opção de fazer checkout direto para o pagseguro, adicionando um botãozinho ali no carrinho. Isso simplificaria as coisas (ou não)...

Isso seria interessante, tenho um cliente meu que disse que o processo de compra do site dele tá muito confuso... mas confusa tá a cabeça daquela ANTA, acho que ele nunca deve ter feito uma compra no submarino na vida.

flaviovs’s picture

Nunca ví o checkout direto no PS, por isso não posso comentar. Só sei que o processo de compra é um momento de alta sensiblidade para o usuário-comprador, e ficar mudando de site, de visual, de comunicação etc. pode fazer a diferença entre fechar a venda ou não.

Se te ajuda, pode encaminhar este meu comentário para seu cliente. ;-)

Em todo caso, ter como opção usar o checkout do PS é claro uma boa. Mas em minha opinião, isso deve acontecer com um módulo em separado (que pode ser distribuído no pacote do UC PagSeguro -- só tem que ser habilitado separadamente), porque senão vai complicar bastante o código atual, sem obtermos muito benefício com isso.

Alguém se habilita? ;-)

Evandro_sl’s picture

Assigned: Unassigned » Evandro_sl

Ola Pessoal, gostaria de saber como que esta a situação atual do módulo...

To finalizando o desenvolvimento de um e-commerce ja no Drupal 6 e só vai ficar me faltando esta questão do pagamento com o Pagseguro.
A última versão lançada chega a ser usável??, porque se não vou ter que arranjar alguma solução para a minha situação.

Se alguém ja colocou em prática e souber me dar algum feedback a respeito agradeceria...
Flw pessoal.

Abraços!

romeugodoi’s picture

Olá !

Também estou com um site a concluir e precisava saber como anda... o que falta pra concluir esse módulo, em que posso ajudar.
Se me derem um feedback posso finalizar esse módulo, já que de qualquer forma terei que dar uma solução ao meu cliente.

Só precisamos de mais feedback da galera que encabeça esse módulo para juntos fecharmos essa parada.

Abraços!

Evandro_sl’s picture

Dae cara td tranquilo.

Seguinte, como pode ter percebido também estou em função do e-commerce pelo Drupal.

Ja comecei a fazer alguns testes para saber como esta a situação... e Olha velho até agora esta rolando tudo ok.!!!

Testei o pagseguro e esta funcionando... correios esta td ok tbm... teve um dia q ele se perdeu no valor, mas foi só uma vez, não sei se tinha q ajustar no próprio pagseguro mesmo para receber o valor do frete..

Após o Pagamento.. retorna pro site certinho.... ele registra a ordem de compra normamente no status "in checkout", dentro da ordem da compra ele aponta o recebimento do status pelo pagseguro e diz que esta aguardando o pagamento.... os dados estão todos la...

Terminei a pouco uns testes a grosso modo e me parece estar bastante plausível..

Agora vou partir para uns testes mais minuncioso e vou relatando a experiência =].

Abração!

pedrofaria’s picture

Assigned: Evandro_sl » Unassigned
andreeppinghaus’s picture

StatusFileSize
new291.48 KB

Segue o novo módulo

Existem algumas facilidades BEM explicadas no arquivo

Leia o arquivo LEIAME

Qualquer duvida me mande um email.

André Eppinghaus

pedrofaria’s picture

André,

Parabens pela iniciativa e obrigado pelo seu empenho.

Olhei (não testei) seu código e conforme já comentei no canal #drupal-br aguardo o reviews de mais pessoas e tendo uma aprovação, coloco o codigo no cvs.

1) Tem muitos comentários de debug... favor remover.
2) Usar a função t, que serve para tradução, em uma string já traduzida perde o sentido.
3) Comentários sem sentido no código... provavelmente gerado por ctrl+c -> ctrl+v. tipo, tem um Implementation of hook_init numa função de callback do menu... estranho...
4) Drupal é utf8 e usar html entities em strings não faz sentido.

Bem... são estas as considerações...

Aguardo um OK de mais gente....

Pedro Faria.

andreeppinghaus’s picture

StatusFileSize
new291.38 KB

Nova versao revisada com as considerações do chat com o PedroFaria

André Eppinghaus

andreeppinghaus’s picture

StatusFileSize
new292.98 KB

Nova versão revisada com o LEIAME.

André Eppinghaus

romeugodoi’s picture

StatusFileSize
new289.59 KB

Opa... Testando vi que estava com um problema no menu, apontando para uc_pagseguro.pages.inc dava erro de required.

'Failed opening required 'sites/all/modules/uc_pagseguro/uc_pagseguro.pages.inc'

Mudei para uc_pagseguro.inc

Segue arquivo atualizado em anexo. :P

ericnielsen’s picture

StatusFileSize
new6.54 KB

Olá.

Há tempos peguei a versão deste módulo que ainda está no repositório (uc_pagseguro 6.x-1.x-dev de 18 de setembro de 2009). Revisei o código até chegar no que mando anexo. Este código está em produção no site http://www.cirandainfantil.com.br/ e funcionando. O cálculo do frete está sendo feito pelo PagSeguro, então não alterei nem testei o código do módulo quando a opção "Cálculo de frete pelo Ubercart" está habilitada.

Não funciona a verificação do token com o PagSeguro. (Não funcionava mesmo no código original; a chamada à função está comentada.)

Agradeço ao pedrofaria e outros que contribuiram com a codificação do módulo.

Atenciosamente,
Eric

SistemaSGT’s picture

Pessoal, este código para o PagSeguro já está pronto? Onde posso baixá-lo? Obrigado!

lourenzo’s picture

A few considerations:

  1. I think that maybe people from other countries can be interested in using Pagseguro for Übercart, so would be better if we keep english as default language for issues.
  2. It's better to review and incorporate if we use patches instead of gzipped tar archives, so we can see exactly what changed. There is a howto in Drupal.org on creating patches: http://drupal.org/patch/create
lourenzo’s picture

@SistemaSGT We're putting a big effort on this module, and in about a week we'll be releasing a mostly stable version

lourenzo’s picture

Status: Needs review » Fixed

It's usable now, and we are extensively testing it, so IMO this issue can be closed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.