Ошибка неверной подписи при отправке запроса на гибкие платежи Amazon - PullRequest
0 голосов
/ 11 января 2012

Я работаю с этими инструкциями в Amazon с PHP: http://docs.amazonwebservices.com/AmazonFPS/latest/FPSBasicGuide/APPNDX_GeneratingaSignature.html

и вот как я делаю свою подпись:

$string_to_sign = "GET\nauthorize.payments-sandbox.amazon.com\n/cobranded-ui/actions/start\n
SignatureMethod=HmacSHA256&SignatureVersion=2&callerKey='.$my_access_key_id.'&callerReference='.$caller_reference.'&paymentReason='.$payment_reason.'&pipelineName=SingleUse&returnUrl='.$return_url.'&transactionAmount=1.1";

$encoded_string_to_sign = URLEncode(Base64_Encode(hash_hmac("sha256", $string_to_sign, "1"))); 

Но я не уверен, почему подпись нене закодировано правильно.Одна вещь, на которую стоит обратить внимание, это hash_hmac("sha256", $string_to_sign, "1"), где я случайно поставил «1», потому что Amazon не давал инструкций для того, чтобы что-то еще там вставить.Как я узнаю, какой ключ в этой функции нужно разместить на Amazon?Я не заметил этого в их инструкциях.Но, может быть, я что-то не так делаю?

1 Ответ

0 голосов
/ 12 января 2012

Значение для параметра $key - это ваш секретный ключ, который вы получили от Amazon.

Как я объяснил в ответе на ваш последний вопрос , вам действительно следуетвзгляните на код, включенный в FPS PHP-библиотеку .

...