Open LuizSantos22 opened 2 years ago
oi @LuizSantos22, vou colher com o time como está o andamento dessa correção. assim que tiver um posicionamento coloco aqui meu caro. obrigado por formalizar pelo github!
Bom dia @LuizSantos22, tudo bem?
Acabamos de disponibilizar a última versão do módulo Magento 1.9 com esse bug já corrigido.
Você poderia, por gentileza, efetuar alguns testes e verificar se o módulo está se comportando da maneira como deveria em seu ambiente?
Agradecemos mais uma vez por formalizar aqui pelo github!
Ficamos à disposição,
Atenciosamente.
@dougvf91 Tudo bem, desculpa por demorar a responder Para mim continua o problema. Eu baixei o módulo e instalei manualmente.
Meu ambiente de testes está rodando
OpenMage 1.9.4.15 PHP 7.3 Cpanel com Lightspeed (Interserver) Última atualização do módulo da Shipay: https://github.com/shipay-pag/shipay-magento-1.9
Eu antes de voltar a instalar, deletei todos os arquivos, fui ao PHPMyAdmin e busquei e deletei todas as entradas da Shipay no banco de dados. E realmente foi tudo eliminado, porque na nova instalação, todas as credenciais que eu tinha saldo no banco de dados, haviam sido apagadas.
OBS: Tente fazer o teste com a OpenMage, já que um número significativo de usuários que optaram por seguir com Magento 1, migraram para OpenMage. Ao baixar no site do Github, baixe do link LTS: https://github.com/OpenMage/magento-lts ou a versão: v19.4.15 que está abaixo de v20.0.13 neste link: https://github.com/OpenMage/magento-lts/releases
Provavelmente será alguma atualização de segurança aplicada no OpenMage que não está presente na versão Magento 1.9
Caso queiram, posso enviar as credenciais do meu site de testes via Whatsapp.
PS: Também atualizei o sistema para PHP7.4 para me assegurar que não era esse o problema Limpei o cache, reindexei tudo e nada, o módulo segue com o mesmo problema
Segue o link do print no Google Photos: https://bit.ly/3OsKNoz
Att Luiz Santos
Alguém conseguiu resolver esse bug no OpenMage? Gostaria muito de usar esse módulo
Estou com esse mesmo problema! Alguma solução?
Alguém conseguiu resolver esse problema?
@EvertonSA @dougvf91 Investiguei mais um pouco, ativei o modo debug global e fiz algum progresso, cosegui fazer com que as opções aparecessem no frontend, porém, ainda não consigo selecionar.
Estes eram os bugs em var/log/system.log:
2023-11-07T22:59:54+00:00 ERR (3): Notice: Undefined index: access_token in /app/code/community/Shipay/Magento19/Resource/GetAccessToken.php on line 28 2023-11-07T22:59:54+00:00 ERR (3): Notice: Undefined index: refresh_token in /app/code/community/Shipay/Magento19/Resource/GetAccessToken.php on line 29 2023-11-07T22:59:54+00:00 ERR (3): Notice: Undefined index: access_token in /app/code/community/Shipay/Magento19/Resource/GetAccessToken.php on line 31 2023-11-07T23:46:52+00:00 ERR (3): Notice: Undefined index: access_token in /app/code/community/Shipay/Magento19/Resource/GetAccessToken.php on line 28 2023-11-07T23:46:52+00:00 ERR (3): Notice: Undefined index: refresh_token in /app/code/community/Shipay/Magento19/Resource/GetAccessToken.php on line 29 2023-11-07T23:46:52+00:00 ERR (3): Notice: Undefined index: access_token in /app/code/community/Shipay/Magento19/Resource/GetAccessToken.php on line 31
Esta em var/log/exception.log
`2023-11-07T22:59:54+00:00 ERR (3): TypeError: Return value of Shipay_Magento19_Resource_GetAccessToken::generateAccessToken() must be of the type string, null returned in /app/code/community/Shipay/Magento19/Resource/GetAccessToken.php:31 Stack trace:
Seguindo a sugestão da IA modifiquei o seguinte código em "GetAccessToken.php":
`<?php
class Shipay_Magento19_Resource_GetAccessToken {
const URI = '/pdvauth';
/**
* Function to get access token
* @return string
*/
public function getAccessToken(): string {
return $this->generateAccessToken();
}
/**
* Function to generate access token
* @return string
*/
public function generateAccessToken(): string {
$request = [
'access_key' => Mage::helper('core')->decrypt(Mage::getStoreConfig('payment/shipay_keys/access_key')),
'client_id' => Mage::helper('core')->decrypt(Mage::getStoreConfig('payment/shipay_keys/client_id')),
'secret_key' => Mage::helper('core')->decrypt(Mage::getStoreConfig('payment/shipay_keys/secret_key'))
];
$response = $this->doRequest(json_encode($request));
if (isset($response['access_token']) && isset($response['refresh_token'])) {
Mage::getModel('core/config')->saveConfig('payment/shipay_keys/access_token', $response['access_token']);
Mage::getModel('core/config')->saveConfig('payment/shipay_keys/refresh_token', $response['refresh_token']);
return $response['access_token'];
} else {
Mage::log('API response does not contain access_token and refresh_token', null, 'custom.log');
// Handle the error as needed (e.g., return an error message or throw an exception)
// Example: return 'Access token generation failed';
}
}
/**
* Function to make a request
* @param string $request
* @return array
*/
protected function doRequest($request): array {
$environment = $this->getEnvironment();
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => ($environment . self::URI),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 60,
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $request,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
));
$response = curl_exec($curl);
curl_close($curl);
return json_decode($response, true);
}
/**
* Function to get the environment
* @return string
*/
protected function getEnvironment(): string {
$classGetEnvironment = new Shipay_Magento19_Resource_GetEnvironment();
return $classGetEnvironment->getEnvironment();
}
/**
* Function to validate if a new token should be generated
* @return bool
*/
protected function validateIfGenerateNewToken(): bool {
$model = new Mage_Core_Model_Config_Data();
$collection = $model->getCollection()->addFieldToFilter('path', ['eq' => 'payment/shipay_keys/access_token'])->getItems();
foreach ($collection as $item) {
$dateToken = date($item->getUpdatedAt());
$dateValidate = date('Y-m-d h:i:s'); // Corrected 'm' for minutes
$dateValidate = date('Y-m-d h:i:s', strtotime($dateValidate . ' - 1 days'));
if ($dateToken < $dateValidate) {
return true;
}
}
return false;
}
} `
Também fiz modificações no CSS em "shipay/magento19/form/payment.phtml"
` `
Agora aparece as opções de pagamento no frontend, no entanto, sigo sem poder selecioná-las.
Fiz um video: https://www.loom.com/share/b8d66a4b8c5a4374b1428c93490ca49c?sid=4cc312ab-1325-4dce-a752-c172ac7d9bd2
@eikeda @biegelmeyer
@EvertonSA e @dougvf91 Já resolvi o problema, depois que fizer os ajustes, repasso o que estava ocorrendo.
Agora necessito que a Shipay remova os dados do MercadoPago do meu painel, pois tinha uma configuração antiga lá, e ela está bloqueada, não consigo remover ou desativar a conta. E não adianta cadastrar outras, ela fica sempre ativa e interfere no módulo.
@EvertonSA e @dougvf91 Já resolvi o problema, depois que fizer os ajustes, repasso o que estava ocorrendo.
Agora necessito que a Shipay remova os dados do MercadoPago do meu painel, pois tinha uma configuração antiga lá, e ela está bloqueada, não consigo remover ou desativar a conta. E não adianta cadastrar outras, ela fica sempre ativa e interfere no módulo.
Meu caro, recomendo entrar novamente em contato com time de integração, eles podem entender melhor o que vc está pedindo.
Eu não estou atuando na shipay nesse momento, tenho certeza que alguém irá te ajudar via time de integração.
Só a título de registro, pois reportei o bug para um atendente da Shipay, mas me parece que ainda não foi resolvido.
Ambiente para a reprodução do bug
PHP 7.3/7.4 Magento 1.9 (OpenMage 1.9.4.15) Módulo da Shipay instalado e configurado
Bug: Ao chegar na página de checkout, selecione a opção de pagamento Shipay, os campos link de pagamento ou QR estão desabilitados, e não há como prosseguir com o pagamento.
Eu sinceramente adoraria ver esse bug corrigido, porque queria muito usar a solução de vocês que ajuda a substituir vários módulos de uma série de carteiras digitais.
Att Luiz Santos