【发布时间】:2012-01-11 16:13:26
【问题描述】:
我正在使用 PHP 在 Amazon 中按照这些说明进行操作: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”,因为亚马逊没有说明要放什么其他东西。我怎么知道亚马逊需要我在该功能中放置哪个键?我没有在他们的指示中注意到它。但也许是我做错了什么?
【问题讨论】:
标签: php amazon-web-services amazon