paypal漏单是一直存在的问题,我这边的同行一般用的是zen-cart,之前的大公司也因此去开发了防漏单模块,不是很好用,原理是提前保存了定单,由于技术的不成熟,存在的问题是定单重复的太多,甚至影响支付也可能
但paypal也不傻,至少我一直认为漏单是不应该存在的
一位朋友的全部漏了,原因是他误删了ipn_main_handler.php文件,这个文件的不存在导致了客户的付款都不成功(他说没成功的),paypal也发来了信件,警告说即时付款通知失败
然后补齐了这个文件,能收钱了,但全部漏单,我用paypal sanbox测试了,是正常的
这应该不是程序或者说技术上的问题了
查看了paypal的帐号邮件,发现有一封paypal发来的,说即时付款通知功能已禁用,内容和上次的警告信差不多
也就是说,当你的ipn_main_handler.php不存在,也就是通知接口不存在时,paypal试了几次,发现实在通不了时,会直接禁用了你的这个功能,不再尝试了,或许是为了性能考虑
解决办法:
登陆paypal,到用户信息->即时付款通知习惯设定,会发现即时付款通知已被关闭
重新开启就行了,默认的paypal帐号应该是开启的,但现在开启,需要填写通告URL,这个东西,我们填现在挂这个帐号的主要网站的地址就行了吧,我以为这东西paypal应该会自动生成,只不过要重开时,它还是要你填,一个不需要的需要
然后,在“即时付款通知记录”页面,可以查看成功或失败或被禁用的通知,并重发它们,或许,这样,漏单问题就不存在了
因为知通成功,一定要在产品站端有个反馈,只要程序不是很烂,应该可以保证生成定单的
有兴趣的可以看看我的另一篇文章:paypal跳转 for Zen Cart亦开发并测试完成
