首页 » 闲聊时间 » 关于支付宝国际接口返回参数的困惑

关于支付宝国际接口返回参数的困惑

17360 9

今天在做支付宝国际支付业务的时候,发现一个问题,也不知道是文档写的有错误还是什么的。具体的问题表现在用户付款成功后,支付宝自动跳转到商户页面,并且带有指定的参数,但这个参数里竟然没有签名,然后文档里清清楚楚地写着:

支付宝系统接收到境外商户系统发起的请求,处理成功后返回的参数中同样 包含有参数 sign、sign_type,境外商户需根据 sign_type 计算 sign 值, 最终检验支付宝系统返回的 sign 值,这里要注意的是境外商户需要对每一个返 回参数的值先进行 decode 后再验证 sign。

下面是返回的参数:
code=alipay_inter
trade_no=2015030300001000970050047256
total_fee=0.02
out_trade_no=201503037126089571
trade_status=TRADE_FINISHED
currency=USD

没有sign_type,也没有sign,这样无法验证请求的真实性,用户可以伪造自己的请求,因为其中code,total_fee,out_trade_no,currency都是之前从商户页面传给支付宝的,用户可以自行拿到,而剩下的trade_status是固定值,trade_no是支付宝生成的支付宝交易号,这个值是无法进行任何验证的,即任何值都可以。(商户这边在收到返回之前是不知道这个交易号是什么的)

打电话咨询支付宝,结果给了我个技术的咨询链接,是个网页窗口,18点了支付宝的人都下班了,只能明天再继续问问了。

文章评分2次,平均分5.0

本文原始地址:https://www.tiandiyoyo.com/2015/03/something-about-alipay-inter/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关:


9 Comments

  1. muyang :

    根据国际版支付宝wap接口开发文档,必要的参数传递之后显示ILLEGAL_SIGN。是什么原因呢? 传递的参数https://mapi.alipay.com/gateway.do?_input_charset=utf-8&currency=USD&format=xml&merchant_url=http%3A%2F%2Fwww.365kjg.com%2Fmobile%2F&out_trade_no=20151023953882522&partner=2088021990003561&rmb_fee=0.10&service=create_forex_trade_wap&sign_type=MD5&subject=2015102395388&v=&sign=28d1170c697d3f8e51616646fec5af4c

  2. 不知道你现在解决了没有~~

  3. Faris :

    支付宝接口的问题,我一直很头疼~~~

  4. FROYO :

    难道说支付宝有漏洞可利用啦

载入分页评论...