Руководство по обновлению хеша транзакций
Authorize.Net постепенно вытесняет элемент transHash на основе MD5 в пользу transHashSHA2 на основе SHA-512. Настройки
в Merchant Interface, который управляет опцией MD5 Hash, будет
удалено к концу января 2019 года, и элемент transHash
прекратить возвращать значения на более поздний срок, который будет определен.
Когда вы получаете ответ на транзакцию от Authorize.Net, он
включает в себя элемент transHashSHA2 . transHashSHA2 содержит
хеш HMAC-SHA512, созданный Authorize.Net для транзакции.
Чтобы использовать его, создайте хэш HMAC-SHA512, используя свой ключ подписи,
преобразован в байтовый формат, как ключ HMAC, и сообщение построено
из вашего идентификатора входа API, идентификатора транзакции и транзакции
количество. Сравните ваш результат хеширования с transHashSHA2 . Если два
значения совпадают, ответ на транзакцию поступил от Authorize.Net.
Примечание: значение transHashSHA2 будет нулевым, если вы этого не сделаете
сначала сгенерируйте ключ подписи .
Использование ключа подписи для проверки значения transHashSHA2 :
Шаг 1. Сгенерируйте ключ подписи и сохраните его в безопасном месте на вашем сервере.
Шаг 2. Преобразование ключа подписи в байтовый массив.
Шаг 3. Создайте строку сообщения, которая начинается с каретки ("^"), за которой следуют три следующих поля, разделенных каретками, и
завершается другой кареткой:
• Идентификатор входа в API, который вы отправляете в createTransactionRequest в
name element.
• Идентификатор транзакции, который мы отправляем в createTransactionResponse
в элементе transId .
• Сумма транзакции, которую мы отправляем
createTransactionResponse в элементе amount .
Например, если ваш идентификатор входа API равен «ANet123», значение
transId равно "20987654321", а значение сумма равно "9,99", строка сообщения будет выглядеть следующим образом:
^ ANet123 ^ 20987654321 ^ 9,99 ^
Шаг 4. Используйте HMAC-SHA512 для хэширования формы массива байтов ключа подписи из шага 2 со строкой сообщения из шага 3.
Шаг 5. Сравните значение transHashSHA2 с выводом из хэша HMAC-SHA512, упомянутым в шаге 4.