Я работаю с этими инструкциями в 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?Я не заметил этого в их инструкциях.Но, может быть, я что-то не так делаю?