微信支付:回调地址notify_url不能带参数

摘要:
支付环节是正常的,微信端能收到支付成功的系统提示,然而回调url始终收不到微信服务器的POST,经过手动测试,回调页面的逻辑也没有问题。开始怀疑指定的notify_url是不是有问题了,重新检查了下单逻辑,用硬编码死死的又写了一遍$notify_url='http://www.xxx.com/index.php?写个不带参的脚本notify.php,把该脚本地址作为回调url。它将作为中间人,把微信服务器发回来的支付通知数据post到我们先前写的支付回调接口,并将处理结果回复给微信服务器。

最近在用Yii2写一个微信商城,在调用微信支付接口时遇到了问题。

支付环节是正常的,微信端能收到支付成功的系统提示,然而回调url始终收不到微信服务器的POST,经过手动测试,回调页面的逻辑也没有问题。

问题究竟出在哪呢,忽然想到在开发者中心里面可以扫码加入一个接口报警群…… 加进去,果然5分钟后发来了报警信息:

微信支付:回调地址notify_url不能带参数第1张

天啊,这是个啥!剧本不是这么写的啊,开起来像极了首页头部了。。开始怀疑指定的notify_url是不是有问题了,重新检查了下单逻辑,用硬编码死死的又写了一遍

$notify_url = 'http://www.xxx.com/index.php?r=pay/wx-notify';

再次支付一分钱:),等待提示吧。。。

好吧,如我所愿,要抓狂了,提示信息还是一样。既然我下单逻辑填的地址没有问题,那只能判定是微信服务器访问回调url的时候出错。好,这次我要在controller的init函数中看看你的原型!

echo Yii::$app->request->absoluteUrl;
exit;

然后继续等待下次接口报警信息:

微信支付:回调地址notify_url不能带参数第2张

嗯哼,微信开发团队你们滚出来,我保证不打死你!

写文档的孙子,还有你!参数全都忽略了,是否故意为之?然而文档又没有任何解释,让开发者们猜啊!

——————————————————————————我是正义的分割线—————————————————————————————

那么问题来了,解决方案那家强?这个就不用回答了,博主是蓝翔黑客班毕业的!!!

翠花,上解决方案!

写个不带参的脚本notify.php ,把该脚本地址作为回调url。

它将作为中间人,把微信服务器发回来的支付通知数据post到我们先前写的支付回调接口,并将处理结果回复给微信服务器。

1 <?php
2 $data = file_get_contents('php://input');
3 if(empty($data))
4 {
5     return;
6 }
7 $url = 'http://'.$_SERVER['HTTP_HOST'].'/index.php?r=pay/wx-notify';
8 $curl =curl_init();
9 curl_setopt($curl, CURLOPT_URL, $url);
10 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
11 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
12 curl_setopt($curl,CURLOPT_SSLVERSION,CURL_SSLVERSION_TLSv1);
13 curl_setopt($curl, CURLOPT_POST, 1);
14 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
15 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
16 $output = curl_exec($curl);
17 curl_close($curl);
18 echo $output;
19 ?>

写完 ,收工!

免责声明:文章转载自《微信支付:回调地址notify_url不能带参数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在vue中使用tinymce富文本编辑器,解决tinymce在dialog对话框中层级太低的问题selenium安装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

php curl模块开启失败解决参考

  现在公司的测试项目和正式项目是部署在同一台服务器上的,为了在重启apache时互不影响,我在服务器上部署了两个apache服务,使用nginx做url转发。   结果正式环境的项目使用curl没有问题,但是测试环境,也就是新安装的apache服务,使用curl的时候就报错,查看php.ini也发现curl模块已开启,但是使用phpinfo时,看到cur...

微信开放平台注册 步骤

1.在https://open.weixin.qq.com 注册账号登录, 2.在管理中心/ 创建移动应用 中添加信息。 3.28x28的用PS做一个。 4. 应用签名用 https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&v...

基于.NET Nopcommerce的开源电商小程序

使用的版本Nopcommerce4.2源码开发,后台功能参考Nopcommerce4.2。 微信小程序前端目前实现主要功能:商品展示,分类展示,分类商品展示 ,商品详情,购物车,下单中心 ,微信支付 ,微信登入 ,用户订单 ,用户地址管理 微信客服等 该版本适合中小型企业使用,无论是展示商品,还是实现在线购物都不错。所有基础框架都已经搭建好了,完全适合进行...

微信分享接口SDK简介使用

很久没做移动端活动了,想不少人都参与过微信里面的活动,既然活动就少不了分享。那我就行一个前端的角度说说如何实现微信分享的吧。 对应微信分享,现在已有公共接口,微信的开发者文档SDK:https://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html 首先要引用官方的jweixin-1...

php 访问java接口数据

$header = []; $header[] = 'Accept:application/json'; $header[] = 'Content-Type:application/json;charset=utf-8'; $data = $_GPC['mobile']; $ch = curl_init();...

微信app支付,完整流程,完整代码 (转)

微信app支付流程 需要的配置参数 private function wechat($body,$indent_id,$cou,$user_id,$total_fee,$ip,$domain,$nonce_str){ //微信配置信息和初始逻辑 $appid= WxPayConfig::APPID; //appid (微信开放平台的应用appid) $bo...