I have a problem with the PAGSEGURO module, when I select the option to pay for it and click Next, it reports this error.
Notice: Undefined property: stdClass::$line_items em commerce_pagseguro_redirect_form() (linha 117 de /home/amxalumi/public_html/sites/all/modules/commerce_pagseguro/commerce_pagseguro.module).
Warning: Invalid argument supplied for foreach() em commerce_pagseguro_redirect_form() (linha 117 de /home/amxalumi/public_html/sites/all/modules/commerce_pagseguro/commerce_pagseguro.module).
Notice: Undefined variable: line_item_ids em commerce_pagseguro_redirect_form() (linha 121 de /home/amxalumi/public_html/sites/all/modules/commerce_pagseguro/commerce_pagseguro.module).
Comment | File | Size | Author |
---|---|---|---|
#10 | upgrade-to-paymentapi2-1396646-9.patch | 17.17 KB | pedrorocha |
#2 | 1396646-fix_errors+supports_token_and_customer_information.patch | 5.52 KB | wasare |
Comments
Comment #1
tregismoreira CreditAttribution: tregismoreira commentedI have same error.
Comment #2
wasare CreditAttribution: wasare commented@tregismoreira I worked to fix these errors and I'll make this module fully functional.
The patch attached fixes the errors and adds initial support for "Automatic Data Return" including the PagSeguro token and improves customer data sent to Pagseguro on checkout process (minimizing the needs the customer filling again his informations to PagSeguro).
I request to @recidive adds me as co-maintainer because I want colaborate to spread of drupal commerce into brazilian community.
Comment #3
recidive CreditAttribution: recidive commented@wasare obrigado por trabalhar no módulo. Seguem algumas observações para podermos ter suas alterações incorporadas no projeto.
1. A função commerce_pagseguro_process_rad() foi criada para receber o Retorno Automático de Dados. O redirecionamento do usuário, se for mesmo necessário, deve ter seu próprio callback.
2. Em commerce_pagseguro_redirect_form() por favor não use tabs e use sempre somente um espaço antes e depois de '=' ou '=>'. Troque 'else if' por 'elseif' de acordo com o Coding Standards.
3. Em vez de usar $line_item->commerce_product[LANGUAGE_NONE][0]['product_id'], é melhor usar o EntityMetadataWrapper como você vez com o $order_wrapper acima. Algo assim:
Comment #4
wasare CreditAttribution: wasare commented@recidive eu incorporei todas as observações que você indicou.
Eu criei um projeto sanbox com uma versão completamente funcional do módulo, incluindo a atualização do status do pagamento / pedido através da nova API do pagseguro.
Quem desejar testar: http://drupal.org/sandbox/wasare/1587886
Comment #5
recidive CreditAttribution: recidive commented@wasare massa, pretendo revisar o seu código essa semana.
Seria interessante se você tivesse iniciado o seu repositório a partir do repositório oficial do módulo, assim eu conseguiria dar pull no seu código localmente para testar, e depois push para o oficial, quando o patch estivesse completo, dando os respectivos créditos aos seus commits.
Comment #6
wasare CreditAttribution: wasare commented@recidive eu criei um novo branch "reloaded" na sandbox com as mudanças, mas a partir de um clone do repositório oficial. Acredito que agora facilite seu trabalho de revisão do código (bastaria um pull deste novo branch).
http://drupal.org/node/1587886/commits
http://drupalcode.org/sandbox/wasare/1587886.git/commit/a5948b5c02ca42ee...
Comment #7
recidive CreditAttribution: recidive commented@wasare, dei uma olhada no commit e parece muito bom, pretendo revisar na quinta. Se você puder, por favor arrume os comentários do código, colocando todos em inglês, começando com letra maiúscula e finalizando com um ponto. Obrigado.
Comment #8
wasare CreditAttribution: wasare commented@recidive consegui enviar as alterações propostas para os comentários (tudo no branch reloaded na sandbox)
Comment #9
pedrorocha CreditAttribution: pedrorocha commentedEsse código está dando erro quando existem itens que não são produtos para serem pagos, como o frete, no caso de usarem o módulo Commerce Shipping.
Comment #10
pedrorocha CreditAttribution: pedrorocha commentedEstava dando erro por não estar usando a API 2 do PagSeguro também, conforme a documentação em https://pagseguro.uol.com.br/v2/guia-de-integracao/pagamento-via-html.html
O código que segue como patch tem como base o módulo Commerce PagSeguro, então é só rodar o patch mesmo(eu já adaptei o código do Reloaded e integrei ai Master do Commerce Pagseguro).
Comment #11
recidive CreditAttribution: recidive commentedÓtimo patch. Minha idéia inicial era portar para API 2.0, junto com as outras alterações, então concordo com a mudança.
Fico só na dúvida de como creditar o @wasare devidamente, pois estava pensando inicialmente em dar um merge da branch dele.
@pedrorocha: por não ter convenção em como os argumentos devem ser indentados, sugiro mantermos todos nas mesma linha, mesmo que ultrapasse 80 colunas (duvido que alguém vá imprimir esse código algum dia e editores podem ser configurados para quebrar automaticamente ou rolar a view port). Outra coisa: não usamos bloco de comentário no corpo de funções pela simples razão de tornar difícil comentar a função inteira quando necessário durante o desenvolvimento. Gostaria que fizesse essas alterações. E se possível que veja com o @wasare como ter o seu patch adicionado ao fork dele, para que eu possa pegar de lá, ou envie um patch criado com o git format-patch, para manter os créditos.
Precisamos de pessoas para testar o patch: @wasare, @tregismoreira?
Obrigado pessoal, vamos finalizar isso logo, para podermos lançar uma versão beta do módulo.
Comment #12
recidive CreditAttribution: recidive commentedMarcando como 'fixed', pois todas as alterações aqui foram incorporadas.
Obrigado pessoal.