gumnet / magento-1-ame-digital-integration

Magento 1.9 AME Digital Integration
2 stars 4 forks source link

DEBUG (7): ameRequest getToken starting... Capta o valor correto mas Não permite gerar o código QR #6

Closed OliverTomas1212 closed 1 year ago

OliverTomas1212 commented 1 year ago

Olá, Fechei a issue anterior e reabri essa porque liguei o modo developer para investigar o que causava o erro. Faço a instalação, insiro o APP Key e APP Password, faço a configuração do endereço, a transação é completada, porém, o código QR não é gerado.

COMO REPRODUZIR O ERRO Instalação limpa Magento 1.9.4.5 Versão PHP do servidor: PHP 7.3 (7.4 também não funciona) Instalação módulo Amedigital GumNet M1

Qual é o comportamento do módulo?

Ele é instalado corretamente, finaliza a compra normalmente sem apresentar erros no Frontend, capta o valor corretamente em modo "Produção", porém, não gera o QR code

Ativei o log e fui em var/log/system.log, obtive o seguinte erro:

2023-01-06T13:28:28+00:00 DEBUG (7): ameRequest starting... 2023-01-06T13:28:28+00:00 DEBUG (7): ameRequest getToken starting... 2023-01-06T13:28:29+00:00 DEBUG (7): ameRequest hasError: 2023-01-06T13:28:29+00:00 DEBUG (7): ||https://ame19gwci.gum.net.br:63333/api/orders||{"title":"GumNet Pedido 100000105","description":"Pedido 100000105","amount":209900,"currency":"BRL","attributes":{"transactionChangedCallbackUrl":"/index.php\/m1amecallbackendpoint","items":[{"description":"teste2 - SKU teste2","quantity":1,"amount":209900}],"customPayload":{"ShippingValue":0,"shippingAddress":{"country":"BRA","number":"929","city":"Bras\u00edlia","street":"Avenida D'Monjolo Quadra 309","postalCode":"72622-222","neighborhood":"Recanto das Emas","state":"DF"},"billingAddress":{"country":"BRA","number":"929","city":"Bras\u00edlia","street":"Avenida D'Monjolo Quadra 309","postalCode":"72622-222","neighborhood":"Recanto das Emas","state":"DF"},"isFrom":"MAGENTO"},"paymentOnce":true,"riskHubProvider":"SYNC","origin":"ECOMMERCE"}} 2023-01-06T13:28:29+00:00 DEBUG (7): ameRequest hasError:

Para tentar obter mais informações, ativei o modo "Sensendia" do módulo no admin panel do Magento, suponho que seja uma espécie de "Sandbox" do módulo, obtive o seguinte erro:

`Notice: Undefined variable: storeid in /home/XXXXX/public_html/app/code/community/Ame/Amepayment/Helper/SensediaApi.php on line 274

0 /app/code/community/Ame/Amepayment/Helper/SensediaApi.php(274): mageCoreErrorHandler(8, 'Undefined varia...', '/home/XXXXX/...', 274, Array)

1 /home/XXXXX/public_html/app/code/community/Ame/Amepayment/Helper/SensediaApi.php(220): Ame_Amepayment_Helper_SensediaApi->ameRequest('https://ame19gw...', 'POST', '{"title":"GumNe...')

2 /home/XXXXX/public_html/app/code/community/Ame/Amepayment/Model/Observer/Observer.php(48): Ame_Amepayment_Helper_SensediaApi->createOrder(Object(Mage_Sales_Model_Order))

3 /home/XXXXX/public_html/app/code/core/Mage/Core/Model/App.php(1405): Ame_Amepayment_Model_Observer_Observer->createOrder(Object(Varien_Event_Observer))

4 /home/XXXXX/public_html/app/code/core/Mage/Core/Model/App.php(1383): Mage_Core_Model_App->_callObserverMethod(Object(Ame_Amepayment_Model_Observer_Observer), 'createOrder', Object(Varien_Event_Observer), 'ameamepayment...')

5 /home/XXXXX/public_html/app/Mage.php(501): Mage_Core_Model_App->dispatchEvent('checkout_onepag...', Array)

6 /home/XXXXX/public_html/app/code/core/Mage/Checkout/controllers/OnepageController.php(290): Mage::dispatchEvent('checkout_onepag...', Array)

7 /home/XXXXX/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(428): Mage_Checkout_OnepageController->successAction()

8 /home/XXXXX/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(262): Mage_Core_Controller_Varien_Action->dispatch('success')

9 /home/XXXXX/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(188): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))

10 /home/XXXXX/public_html/app/code/core/Mage/Core/Model/App.php(371): Mage_Core_Controller_Varien_Front->dispatch()

11 /home/XXXXX/public_html/app/Mage.php(735): Mage_Core_Model_App->run(Array)

12 /home/XXXXX/public_html/index.php(86): Mage::run('', 'store')

13 {main}`

Verifiquei as linhas 274 : $username = $configValue = Mage::getStoreConfig('ame/general/api_user', $storeid); E 220: $result = $this->ameRequest($url, "POST", $json);

A impressão que tenho é que as credenciais não estão sendo captadas corretamente. Gerei outras credenciais por mais de uma vez e nada. Não sei se isso ocorre por causa do modo "Sensendia" precisar de uma credencial de testess ou se isso é o que ocasiona o erro do módulo não conseguir gerar o código QR.

Agradeceria muito se conseguissem resolver esse bug

gustavoulyssea commented 1 year ago

Oi Oliver, A AME tem duas possibilidades de integração, que são a API de Produção direta e a Sensedia, que a terceiriza.

Ambas fazem o mesmo trabalho, mas aos poucos a AME passou a parar de ativar contas diretamente na sua API e passou a utilizar a terceirização da API da Sensedia. Somente para questões de suporte técnico e segurança.

Quando você solicitou seus dados de acesso aos atendentes da AME você recebeu acesso a qual delas? Na URL contendo a palavra sensedia provavelmente vai te informar que é a Sensedia. É interessante contatá-los também para confirmar.

Acredito que tenha sido essa confusão. Se houver qualquer coisa que possa te ajudar por favor me avisa.

Aproveito para sugerir a migração para o Magento 2 já que o Magento 1 foi abandonado há alguns anos e não há mais novas implementações para módulos do Magento 1.

OliverTomas1212 commented 1 year ago

Olá, boa noite! As credenciais eu gero na conta aberta com a própria Ame Digital em: https://minhaconta.amedigital.com/integracao Pede pra selecionar "Loja Física" ou "Loja Virtual", seleciono a 2a opção e na sequência a plataforma de ecommerce (Magento) gero as credenciais e colo nas configurações e salvo.

Eu até cheguei a gerar credenciais para outras plataformas e tentar para ver se isso mudava alguma coisa, mas o erro persistiu.

gustavoulyssea commented 1 year ago

Oliver, o link que me passou se refere ao ambiente de integração direta com a API de produção, isto significa que nas configurações do módulo você deve apontar o ambiente para produção.

Já vi casos de inversão dos valores das chaves de autenticação. Há dois campos em seguida para as chaves nas configurações da AME. Caso os UUIDs estejam corretos em cada um desses campos, tente invertê-los de cima pra baixo e vice-versa.

Por favor confirma se com esses passos resolve seu caso? Obrigado!

OliverTomas1212 commented 1 year ago

@gustavoulyssea tudo bem? Já testei sua sugestão e não funcionou. Vou reinstalar o ambiente de testes e se vc quiser, posso passar o login do cpanel e admin panel para verificar o que vem ocorrendo. Porque ele capta o valor correto, mas por algum motivo, não gera o QR Code.

gustavoulyssea commented 1 year ago

@OliverTomas1212 falando sobre cPanel e hospedagem compartilhada me chamou atenção para firewall. O módulo precisa conectar com duas portas externas que geralmente não são usadas que são 63333 e 63334. Consegue confirmar se o firewall de saída está aberto para estas portas?

OliverTomas1212 commented 1 year ago

@gustavoulyssea Peço mil perdões pela demora, estava em férias Obtive a resposta da hospedagem e eles falaram que não podiam abrir portas específicas em servidores compartilhados, apenas colocar o IP na whitelist.

Veja a resposta em inglês: "Hello,

Sorry, custom ports can not be enabled on a shared server.

If you require connection from any specific IP address, we can whitelist it.

Kind regards,"

gustavoulyssea commented 1 year ago

Olá Oliver,

Sem problemas, você pode adicionar o IP que faz estas requisições a whitelist deles: 204.197.251.157

Sugestão: É perigoso trabalhar com Magento em servidores compartilhados porque ele demanda muito da infra-estrutura, indico pelo menos um VPS.

Por favor confirma se adicionando o IP a whitelist resolve seu problema?

OliverTomas1212 commented 1 year ago

@gustavoulyssea

Olá, Boa Noite! Aqui pra dar o feedback sobre a sugestão pra resolver o problema de geração do QR Code Funcionou na perfeição. Pedi ao pessoal do hosting pra dar um "whitelist" no IP informado e boom... Mágica! Funcionou! :D

Um adendo, não sei se sou eu que não tou sabendo ativar ou é o módulo que não tem form Trocando em miúdos, em geral, no OneStepCheckout (estou usando um modificado da Moip) ao selecionar a opção de pagamento, aciona um dropdown e o form aparece com os instruções de pagamento. Como nós "escondemos" o botão "radio" para que ele fosse ativado quando o cliente clicasse em qualquer parte do ícone ou título da forma de pagamento, o form dos demais módulos aparecem, menos o da Ame Digital.

Também seria legal se fôssemos capazes de controlar as parcelas diretamente no backend, mas isso daí é supérfluo, o interessante mesmo seria ver o form implementado.

De todas as formas, agradeço muito por me ajudar a solucionar o problema do QR Code!

Dou por encerrada essa issue!