以前曾写过一篇关于 paypal 支付接口的文章: , 这两天做了关于支付宝接口的测试, 看似不太一样,但支付接口都是一样的, 其业务逻辑都是: 订单详情 -> 提交接口 -> 返回信息 -> 更新本站订单信息 的流程 ! 现在写支付宝接口时也有一些个问题: 1. 攻击者是否可以通过伪造一个数据 POST 或 GET 上来导致订单状态被修改呢? 这是第一个担心 ! 其一 这个问题在支付宝接口里完美解决的,在 notify_url.php 或 return_url.php 接收数据时,同时也认证了是否从支付宝官方传来的信息,这信息包含了支付宝保密的加密算法, 这基本上避免了另外的域名或伪造数据攻击。 其二 如果攻击都应付 10 元 , 而其在提交过程中将数据进行修改为 1 元, 并支付成功,此时订单是不能支付成功的,所以为了避免此种攻击,在 notify 里最好还是做一个总价格的核对。
2. notify_url.php 模块儿为什么接收不到数据? 这个问题可能有很多种原因,但可以通过写日志的方法来判断和调试这个文件,因为这个文件是用来接收支付宝传来的信息的,所以首先要确认这个页面在公网可以 访问,另外里面不要有任何的 SESSION 和 COOKIE 的存在, 我遇到的问题却是,这个页面只有登录的会员才可访问,结果让人调试了好半天才找到原因所在,因为我自己是登录后操作的,所以这个问题很隐蔽 !
3. 支付宝官方并没有提供给用户收货的接口,那怎么办呢? 经过我测试,完全可以通过, 支付接口引导用户到支付宝上确认收货,支付宝会通过订单状态来引导你做进一步操作的 4. 我的操作已经在本站和支付宝方产生订单,但没有付款,现在再本站直接支付会新建一个新的订单吗? 经过我的测试,不会有新订单产生,只要你站上的订单号等订单信息没有改变,你传到支付宝这些数据时,支付宝也会做一个判断的,看你的订单是否已存在,如果存在就是直接转入支付,否则就是先建立订单再转入支付流程 !
这两天也就这些心得了,记录一下,分享给朋友,如有问题,可以留言讨论下,一起成长
|
PHP 做支付宝支付接口 总结
最新推荐文章于 2021-03-09 16:01:55 发布