【问题标题】:Invalid signature error when making an Amazon Flexible Payments request发出亚马逊灵活付款请求时出现无效签名错误
【发布时间】: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


    【解决方案1】:

    $key 参数使用的值是您由 Amazon 颁发的密钥。

    正如我在answer to your last question 中解释的那样,您真的应该看看FPS PHP library 中包含的代码。

    【讨论】:

    • 我在哪里可以得到沙盒密钥,请帮助我?
    猜你喜欢
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多