gpt4 book ai didi

php - 在 PHP 中编码 Amazon Flexible Payments secret 字符串的问题

转载 作者:可可西里 更新时间:2023-11-01 12:46:21 26 4
gpt4 key购买 nike

我正在尝试使用亚马逊支付服务,他们要求我做这样的事情:

这是完整的签名所以你可以看到我添加了签名方法:

$string_to_sign = "GET\n
authorize.payments-sandbox.amazon.com\n
cobranded-ui/actions/start?
SignatureMethod=HmacSHA256&SignatureVersion=2&callerKey=my_key&callerReference=YourCallerReference&paymentReason=donation&pipelineName=SingleUse&returnUrl=http%3A%2F%2Fyourwebsite.com%2Freturn.html&transactionAmount=4.0";

然后我像下面这样加密它。

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

我这样做了,但后来我收到他们的错误消息:

Caller Input Exception: The following input(s) are either invalid or absent:[signatureMethod]

知道这里可能出了什么问题吗?

这是完整的代码:(变量在上面赋值)

<?php
$string_to_sign = 'GET
authorize.payments-sandbox.amazon.com/cobranded-ui/actions/startSignatureMethod=HmacSHA256&SignatureVersion=2&callerKey=AKIAJENBYSJCJX2IDWDQ&callerReference=YourCallerReference&paymentReason=donation&pipelineName=SingleUse&returnUrl=http%3A%2F%2Fproblemio.com&transactionAmount=4.0';

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

$amazon_request_sandbox = 'https://authorize.payments-sandbox.amazon.com/cobranded-ui/actions/start?SignatureVersion=2&returnUrl='.$return_url.'&paymentReason='.$payment_reason.'&callerReference=YourCallerReference&callerKey='.$my_access_key_id.'&transactionAmount=4.0&pipelineName=SingleUse&SignatureMethod=HmacSHA256&Signature='.$encoded_string_to_sign;

//echo $amazon_request_sandbox; - use this if you want to see the resulting request and paste it into the browser

header('Location: '.$amazon_request_sandbox);
?>

谢谢!!

最佳答案

检查您是否在请求中包含了 &SignatureMethod=HmacSHA256

这类错误有3个基本性质:

  • 缺少键/值
  • 键/值拼写错误
  • 键/值上的编码或空格不正确

希望对您有所帮助!

问候

关于php - 在 PHP 中编码 Amazon Flexible Payments secret 字符串的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8856700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com