Home  >  Article  >  Backend Development  >  关于网上支付paypal/alipay,该怎么解决

关于网上支付paypal/alipay,该怎么解决

WBOY
WBOYOriginal
2016-06-13 12:15:511126browse

关于网上支付paypal/alipay
网站上需要用户通过paypal付款,然后对用户进一步操作(增加权限之类)。
是不是大多数付款方式都类似paypal的流程:
1.在自己网站上提交表单到paypal,用户在paypal付款成功之后跳转回网站。
2.根据从paypal跳转回来的结果显示成功与否
3.然后等待paypal发送消息到网站对应接口来确认订单(IPN之类)

在接手的项目中发现,后台仅仅验证了IPN是否是由paypal发送来的(确认了来源及付款状态)。而且在上面第二步中,如果用户跳转回来是成功的话,就直接给用户提升权限了。

如果是这样,如果用户修改了提交到paypal的表单:比如收100块,但是修改成收1块。用户一样能带着paypal成功付款1元的消息回到网站。不就坑爹了?

手头暂时不能做付款整个流程的测试,但是我已经很容易就修改了表单提交到paypal。

所以想问这方面有经验的同学,在收到IPN或成功返回之后,是不是起码该做一个价钱的检查?还应该检查一些什么 呢?
PS:网站是外包团队做的,来谈的人看上去很专业各种计划、时间估算、模块划分,所以好疑惑。

------解决思路----------------------
支付成功后平台会通知你的服务器,并给你一个交易码,此时一定要用它再去平台的接口主动发请求验证,此时返回的信息才是可信的
------解决思路----------------------
paypal 的验证还算中规中矩,你在收取到所有参数后需要将所有参数都发送回paypal做一个验证,当然如果你的服务器这步也给劫持了.那我想人家也不需要那么麻烦了吧 直接改你数据好了。呵呵

判断 paypal 返回的内容是否是 VERIFIED 再判断返回的卖家邮箱是否是你的帐号,再判断金额是否和你保存在数据库里的金额一致,再判断结果是否 Completed  再执行最后的业务逻辑. 当然你可以先判断是否是 Completed 再判断后面的,但是 订单验证一定是要放在第一步的

做过不下10种国外支付,最麻烦的支付是台湾的,最恶心的是越南的....

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn