Я знаю, что это немного поздно, но я решил эту проблему, и публикация решения, возможно, могла бы помочь кому-то еще с той же проблемой.
Очевидно, мне не хватало некоторых параметров, которые Amazon отправляет через строку запроса,Для правильной проверки подписи вам нужно передать КАЖДЫЙ параметр, который они вам отправляют.Итак, я использовал конструкцию, подобную этой:
foreach ($_GET as $key => $value) { }
Чтобы добавить каждый параметр / значение $ _GET к $ params и, наконец, отправить его обратно в Amazon для проверки.
Надеюсьэто помогает .. Это сработало для меня.