Magento 2.3.1 Authorize.net Способ оплаты - Подлинность ответа шлюза не может быть проверена - PullRequest
1 голос
/ 07 июня 2019

Когда вы размещаете заказ, используя Authorized.Tet в качестве способа оплаты на Magento 2.3.1 эта ошибка появляется

«Не удалось проверить подлинность ответа шлюза»

Может ли кто-нибудь объяснить мне, что это за ошибка, и помочь мне исправить эту ошибку?

V1/guest-carts/fYSiT09cTjrNy2T14YzaXPXDlDMjMUUL/payment-information 400 (bad request)


{message: "The authenticity of the gateway response could not be verified.",…}
message: "The authenticity of the gateway response could not be verified."
trace: "#0 /home/eaglesc3/public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Checkout\Model\GuestPaymentInformationManagement->savePaymentInformationAndPlaceOrder('fYSiT09cTjrNy2T...', 'roeland@alwayso...', Object(Magento\Quote\Model\Quote\Payment\Interceptor), Object(Magento\Quote\Model\Quote\Address))
#1 /home/eaglesc3/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Checkout\Model\GuestPaymentInformationManagement\Interceptor->___callParent('savePaymentInfo...', Array)
#2 /home/eaglesc3/public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Checkout\Model\GuestPaymentInformationManagement\Interceptor->Magento\Framework\Interception\{closure}('fYSiT09cTjrNy2T...', 'roeland@alwayso...', Object(Magento\Quote\Model\Quote\Payment\Interceptor), Object(Magento\Quote\Model\Quote\Address))
#3 /home/eaglesc3/public_html/generated/code/Magento/Checkout/Model/GuestPaymentInformationManagement/Interceptor.php(26): Magento\Checkout\Model\GuestPaymentInformationManagement\Interceptor->___callPlugins('savePaymentInfo...', Array, Array)
#4 [internal function]: Magento\Checkout\Model\GuestPaymentInformationManagement\Interceptor->savePaymentInformationAndPlaceOrder('fYSiT09cTjrNy2T...', 'roeland@alwayso...', Object(Magento\Quote\Model\Quote\Payment\Interceptor), Object(Magento\Quote\Model\Quote\Address))
#5 /home/eaglesc3/public_html/vendor/magento/module-webapi/Controller/Rest/SynchronousRequestProcessor.php(95): call_user_func_array(Array, Array)
#6 /home/eaglesc3/public_html/vendor/magento/module-webapi/Controller/Rest.php(188): Magento\Webapi\Controller\Rest\SynchronousRequestProcessor->process(Object(Magento\Framework\Webapi\Rest\Request\Proxy))
#7 /home/eaglesc3/public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))
#8 /home/eaglesc3/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Webapi\Controller\Rest\Interceptor->___callParent('dispatch', Array)
#9 /home/eaglesc3/public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Webapi\Controller\Rest\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#10 /home/eaglesc3/public_html/generated/code/Magento/Webapi/Controller/Rest/Interceptor.php(26): Magento\Webapi\Controller\Rest\Interceptor->___callPlugins('dispatch', Array, Array)
#11 /home/eaglesc3/public_html/vendor/magento/framework/App/Http.php(136): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#12 /home/eaglesc3/public_html/generated/code/Magento/Framework/App/Http/Interceptor.php(24): Magento\Framework\App\Http->launch()
#13 /home/eaglesc3/public_html/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http\Interceptor->launch()
#14 /home/eaglesc3/public_html/index.php(92): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))
#15 {main}"

Ответы [ 2 ]

1 голос
/ 07 июня 2019

Глядя на исходный код , эта ошибка, по-видимому, сосредоточена вокруг хэша, используемого для проверки ответа.transactionResponse->transHashSha2 и transactionResponse->transHash оба кажутся пустыми или , сам хэш недействителен.

Кажется, ваша версия Magento поддерживает это изменение и указывает, что вам нужно сделать, чтобы решить эту проблему.Поскольку вы используете версию Magento, которая поддерживает это изменение, вам, вероятно, придется внести изменения в свою учетную запись Authorize.Net.Убедитесь, что вы:

  1. Получите новый ключ подписи Authorize.Net
    1. Войдите в интерфейс Merchant по адресу https://account.authorize.net.
    2. Нажмите Аккаунт на главной панели инструментов.
    3. Нажмите Настройки в главном меню слева.
    4. Нажмите Учетные данные и ключи API.
    5. Выберите Новый ключ подписи.Просмотрите доступные параметры.
    6. Нажмите кнопку «Отправить», чтобы продолжить.
    7. Запросите и введите PIN-код для проверки.
    8. Отображается ваш новый ключ подписи.Скопируйте этот ключ, чтобы добавить его в конфигурацию Magento Admin.
  2. Обновите конфигурацию Magento
    1. Войдите в Magento Admin.
    2. На боковой панели администратора,нажмите Магазины.Затем в разделе «Настройки» нажмите «Конфигурация».
    3. На панели выберите «Продажи», затем «Способы оплаты».
    4. Разверните раздел «Прямая почтовая рассылка Authorize.net».
    5. В поле «Подпись» введитеКлюч подписи SHA-512.
    6. Нажмите Сохранить конфигурацию.
0 голосов
/ 15 июня 2019

У нас была точно такая же проблема при переносе из Magento1 в Magento2.3.1 специально для преобразования authorize.net.

Я совершил ошибку, перейдя на authorize.net и создав новую подпись ДО создания нового ключа транзакции.

После большого прочтения (и некоторой помощи от https://www.solvature.us/) мы обнаружили, что порядок создания так же важен, как и новое создание ключей.

Сначала создайте новый ключ транзакции(помните, это может повлиять на активные интеграции, поэтому будьте осторожны.) Во-вторых, создайте новую подпись.

Надеюсь, это поможет.

...