Amazon Payment - Amazon Flexible Payments Service (Amazon FPS) 示例代码的一个bug提醒
Posted on 2009-12-21 16:05 MiNe 阅读(959) 评论(0) 编辑 收藏 举报最近折腾亚马逊支付中...,文档过于庞大复杂,无处下手
折腾了好久终于找到关键文档开始接入
老实说Amazon提供的文档,示例倒是都很全面,问题是,太多了,看的眼花缭乱,然后没有个思路
这里给整理一下,有需要的xdjm可以自己获取
1.开发文档,其实只要看下面这份就可以了,网站上七七八八几十个文档,没有几个是说清楚的
2.示例(更正后的)
官方提供的示例下载,关于c#版本里面有个错误,导致一直提示
Caller Input Exception: Invalid Signature
签名验证错误
错误的地方在这里:
Amazon.CBUI.AmazonFPSCBUIPipeline 类
的
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
private String getHostHeader(Uri uri)
{
int port = uri.Port;
if (port != -1)
{
if (uri.Scheme.Equals(Uri.UriSchemeHttp) && port == 443
|| uri.Scheme.Equals(Uri.UriSchemeHttp) && port == 80)
port = -1;
}
return uri.Host.ToLower() + (port != -1 ? ":" + port : "");
}
{
int port = uri.Port;
if (port != -1)
{
if (uri.Scheme.Equals(Uri.UriSchemeHttp) && port == 443
|| uri.Scheme.Equals(Uri.UriSchemeHttp) && port == 80)
port = -1;
}
return uri.Host.ToLower() + (port != -1 ? ":" + port : "");
}
if (uri.Scheme.Equals(Uri.UriSchemeHttp) && port == 443
这个地方,要改成 if (uri.Scheme.Equals(Uri.UriSchemeHttps) && port == 443
折腾好久,才核对出来.......
使用amazon支付的xdjm碰到这个问题可以注意下,当然如果你不要示例的做二次开发,自己写的话,应该就不会碰到这个问题