我们正在构建一个客户可以按月支付费用的网络应用程序.以下是要求:
我查看了各种选项并总结了以下内容:
那么我的问题是:我应该使用哪个支付提供商,因为我是荷兰企业,因此我的选择有限?你有什么经历,你会推荐什么?
如果您想了解更多信息,我写了一篇博客文章,描述了我的具体情况背景:http://blog.quplo.com/2010/08/adventures-in-integrating-payment-services-as-a-dutch-business/
我正在尝试使用亚马逊支付服务,他们要求我做这样的事情:
这是完整的签名,所以你可以看到我添加了签名方法:
$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";
Run Code Online (Sandbox Code Playgroud)
然后我加密它如下.
$encoded_string_to_sign = URLEncode(Base64_Encode(hash_hmac("sha256", $string_to_sign, 'my_secret_key')));
Run Code Online (Sandbox Code Playgroud)
我这样做,但后来我从他们那里得到一个错误说:
Caller Input Exception: The following input(s) are either invalid or absent:[signatureMethod]
Run Code Online (Sandbox Code Playgroud)
知道这里可能出了什么问题吗?
以下是整个代码:(变量分配上面的值)
<?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);
?>
Run Code Online (Sandbox Code Playgroud)
谢谢!!
我正在努力将亚马逊FPS集成到我公司的网站,但似乎在生成正确的签名时遇到了问题.以下是亚马逊的文档说:http: //docs.amazonwebservices.com/AmazonFPS/latest/FPSAdvancedGuide/APPNDX_GeneratingaSignature.html
这是我的字符串,我哈希:
GET\nfps.sandbox.amazonaws.com\n/\nAction=Reserve&AWSAccessKeyId=REMOVED&CallerDescription=Reserve&CallerReference=CallerReference05&RecipientTokenId=254656Example83987&SenderTokenId=553IPMACGAZ2J4N1L7BJ3UMNRFTQU4V9NT4RJCTVADDJKXQ6L1ZAKSIUNPIRTTI1&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-09-12T22%3A29%3A07.623Z&TransactionAmount.CurrencyCode=USD&TransactionAmount.Value=1.00&Version=2010-08-28
Run Code Online (Sandbox Code Playgroud)
这是我发送的HTTP请求:
https://fps.sandbox.amazonaws.com?Action=Reserve&AWSAccessKeyId=REMOVED&CallerDescription=Reserve&CallerReference=CallerReference05&RecipientTokenId=254656Example83987&SenderTokenId=553IPMACGAZ2J4N1L7BJ3UMNRFTQU4V9NT4RJCTVADDJKXQ6L1ZAKSIUNPIRTTI1&Signature=t5r%2BWmV9PdoOGfHhtwLJ5nJ8zo%2BIJL4uWB6MOMpkZLw%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-09-12T22%3A29%3A07.623Z&TransactionAmount.CurrencyCode=USD&TransactionAmount.Value=1.00&Version=2010-08-28
Run Code Online (Sandbox Code Playgroud)
这也是我收到的确切错误:
SignatureDoesNotMatch The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. RequestID - ac476abb-2bc6-4891-8854-e52cf33f8716
Run Code Online (Sandbox Code Playgroud)
我在coffeescript中用node.js后端写这个.谁能找到我做错了什么?如果需要,我可以发布我的代码.
我想使用Activemerchant集成亚马逊的FPS服务.我想知道activemerchant支持吗?如果是,那么请您建议任何网站整合亚马逊的FPS吗?
有人可以解释亚马逊灵活支付服务与简单支付和亚马逊支票之间的区别吗?
amazon-fps ×5
amazon ×1
coffeescript ×1
e-commerce ×1
node.js ×1
payment ×1
paypal ×1
php ×1
sha256 ×1