解决THINKPHP 支付宝接口异步notify 无效可能的问题。

支付成功后,发现alipayReturn 正常~

AlipayNotify 怎么搞都不正常,好像支付宝就是不能POST过来。

经过多次测试和调试,终于发现几个问题。

1.首先支付宝Notify 调用的这个控制器Controller,不能有访问权限的问题。

我把它继承了HomeController控制器,这个控制器必须登录后才能访问,所以肯定是不行的。

2.支付宝Notify URL地址中不能有?XX=XXX 不能有传参的写法。

权限问题发现并解决后,发现支付宝不回调我的Notify Url 我写成其他的地址就可以。很是纳闷,然后找问题看支付宝官方代码,发现一行注释    

$notify_url = U('Home/Alipay/alipayNotify', '', true, true);
//需http://格式的完整路径,不能加?id=123这类自定义参数

这时发现 我的U方法生成的URL地址中 是有?的。原来问题在这里。

http://v1.admexpress.cn/index.php?s=/Home/Alipay/alipayNotify

只要把THINKPHP 的URL模式改成 PATCHINFO模式即可!

修改Application/Common/Conf/config.php 公用配置文件中的URL模式即可。

   'URL_MODEL'            => 1, //URL模式
   //原来默认是3 兼容模式会产生?
   //改成1,PATCHINFO模式即可!


转载于:https://my.oschina.net/caomenglong/blog/380403

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值