День добрый,
Периодически в PaymentModule.php возникает Fatal Error при проверке на $secure_key.
if ($secure_key !== false && $secure_key != $this->context->cart->secure_key) {
PrestaShopLogger::addLog('PaymentModule::validateOrder - Secure key does not match', 3, null, 'Cart', (int)$id_cart, true);
die(Tools::displayError());
}
При этом в ps_log пишется следующая ошибка:
PaymentModule::validateOrder - Secure key does not match
, т.е. Безопасный ключ не совпадает
Как я понял:
Поле secure_key генерируется
$this->secure_key = md5(uniqid(rand(), true));
и сохраняется при регистрации пользователя в таблице ps_customer.
В платежных модулях используется для верификации пользователя.
$bankwire->validateOrder($cart->id, Configuration::get('PS_OS_BANKWIRE'), $total, $bankwire->displayName, NULL, array(), (int)$currency->id, false, $customer->secure_key);
В итоге получается, что при совершении заказа поле secure_key в таблице ps_cart не совпадает с полем secure_key в таблице ps_customer.
Из-за чего может происходить такой рассинхрон (возможно из-за смены пароля)?
Насколько критично отключить проверку на secure_key?
Варианты для выхода из этой ситуации?
Возможно сталкивались уже с подобным?
В наличии PS 1.6