关于微信支付报错

最近两周一直在做网站的微信支付,期间遇到好多个问题,而最坑的问题,应该就是一个exit引发的坑案。

其实上周微信支付就已经调通了,在测试环境测试,没有什么大的问题,完美。但是提交到内测环境之后,便一直报错undefied index:prepay_id.  
我的action是这么写的:

<span style="white-space:pre">		</span>header('content-type:text/html;charset=utf-8');$wxconfig = \Yii::$app->params['weixinpay'];$request = Yii::$app->request;<span style="white-space:pre">	</span>$param = $request->get();$jsApi = new tradepay\weixin\JsApiPub($wxconfig);$openid = 0;if (!isset($_GET['code'])){//触发微信返回code码$url = $jsApi->createOauthUrlForCode( urlencode( $wxconfig['JS_API_CALL_URL'] .'?' .http_build_query( $param ) ) );Header("Location: $url"); 
<span style="white-space:pre">			</span><span style="color:#ff0000;">exit();(问题便是出在这里)</span>}else{//获取code码,以获取openid$code = $_GET['code'];$jsApi->setCode($code);$openid = $jsApi->getOpenId();}
      .....

<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="white-space:pre">		</span>$unifiedOrder->setParameter("notify_url",\Yii::$app ->params['apiAddress'].$wxconfig['NOTIFY_URL']);//异步通知回调地址 $unifiedOrder->setParameter("trade_type","JSAPI");//交易类型try{$prepay_id = $unifiedOrder->getPrepayId();}catch( \Exception $e ){$this->redirect_message('f', $e ->getMessage(), 3, Yii::$app->request->baseUrl.'/order/index');}$jsApi->setPrepayId($prepay_id); $jsApiParameters = $jsApi->getParameters();return $this->render('proc',['jsApiParameters'=>$jsApiParameters]);</span>
上面第一步是为了获取code的,因为他是跳转过去的,所以想当然的以为header跳转了,就没事了,可是PHP代码是会继续执行下面的代码的,至于为什么在测试环境没有报这个错,或许是因为测试地址跳转比较快吧。也就是因为PHP代码会继续执行,导致往下执行的时候,没有获取到微信生成的预支付订单编号,undefied index:prepay_id这个BUG也就出来了。细节决定成败啊,想做一个好的程序员,还要更加细心才行啊。希望能帮助到需要的同学吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/414267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apollo报:系统出错,请重试或联系系统负责人

说明&#xff1a;基于 docker 搭建的 apollo&#xff0c;创建项目后一直报系统出错&#xff0c;请重试或联系系统负责人错误。 项目人员列表一直空白&#xff1a; 经排查是数据库配置参数不匹配&#xff0c;由于自己的虚拟机 ip 为 192.168.10.130 注意&#xff1a;修改完需要重…

关于Trie的一些算法

最近学习了一下关于Trie的一些姿势&#xff0c;感觉很实用。 终于不用每次看到字符串判重等操作就只想到hash了 关于Trie的定义&#xff0c;来自百度百科 在计算机科学中&#xff0c;Trie&#xff0c;又称前缀树或字典树&#xff0c;是一种有序树状的数据结构&#xff0c;用于保…

使用nginx搭建https服务器

最近在研究nginx&#xff0c;整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的&#xff0c;防止中间监听泄露信息&#xff0c;但是去证书服务商那边申请证书又不合算&#xff0c;因为访问服务器的都是内部人士&#xff0c;所以自己给自己颁发证书&#xff0c;忽略掉…

分布式配置中心阿波罗的搭建与客户端的应用

为了统一管理微服务配置文件&#xff0c;实现动态化刷新配置文件&#xff0c;常见的两种方式为阿波罗、SpringCloudConfig&#xff0c;关于两者主要区别是&#xff1a; 阿波罗配置文件存放在数据库中&#xff0c;SpringCloudConfig存放在Git里面 一、搭建过程 本篇主要演示阿波…

PHP攻击防御

原文地址 有个朋友网站被攻击&#xff0c;刚好我们的网站有比较全面的攻击防御&#xff0c;了解了一下自己网站的防御&#xff0c;再上网搜了一些文章来看&#xff0c;觉得上面的文章写得很全面&#xff0c;特此备份。留着以后自己忘记的时候看看。

c++三维静态数组的定义与作为函数的传递

在c中&#xff0c;我们可以定义三维数组&#xff0c;并且可以将之作为参数直接传递。 定义&#xff1a; #include <iostream> #include <windows.h> using namespace std; const int x 10; const int y 10; const int z 10; int main() {double foo[x][y][z];fo…

毕业一年的大专生程序员工作总结(java后台)

文章导读 一、回眸过去 – 闲扯的话 – 零碎的技术二、经验总结 – 沟通交流 – 贵在坚持 – 合理规划三、展望未来 – 积累行业背景 – 学习清单四、最后补充 一、 回牟过去 1、闲扯的话 大专生毕业一年工作总结&#xff0c;谈不上予人借鉴&#xff0c;算是对自己过去一年…

mysql自带加密解密字符集问题

由于公司业务需要&#xff0c;需要对已有的数据进行加密&#xff0c; 由于数据加密之后需要可逆的解密&#xff0c;最先考虑使用encode&#xff0c;decode函数&#xff1b;在实际使用的过程遇到加密数据解密之后得不到原本的值&#xff0c;后发现是由于字符集不正确&#xff0c…

重温类加载机制

前言 我们在学习 java 基础的时候&#xff0c;从宏观上了解一个类到运行大致是&#xff1a;.java 文件通过 javac 编译器编译得到 .class 文件&#xff0c;在用到该类时&#xff0c;jvm 会加载该 class 文件&#xff0c;并创建对应的 class 对象&#xff0c;将 class 文件加载…

微信团队分享:微信移动端的全文检索多音字问题解决方案

本文来自微信开发团队WeMobileDev公众号的技术分享。 1、前言 微信的移动客户端全文搜索中的多音字问题一直是搜索体验的痛点之一。微信客户端全文搜索在上线以后&#xff0c;也经常收到用户关于多音字问题的反馈。所以&#xff0c;微信全文搜索中的多音字搜索成了一个迫切需要…

PHP编译不成功

早上开机的时候运行本地网站&#xff0c;蹦出一个error: ERROR:syntax error, unexpected 92 (T_CONSTANT_ENCAPSED_STRING), expectin懵&#xff0c;昨天下班前不是还好好的吗&#xff08;其实我不知道下班前是不是好好的&#xff0c;因为下班前没跑程序好尴尬&#xff09;&am…

201571030128/201571030118《小学四则运算练习软件软件需求说明》结对项目报告

一、以实验二个人项目、实验三结对项目所开发的小学生四则运算练习软件作为原型&#xff0c;实施小学生四则运算练习软件用户调研活动具体过程。 1、真实的调研对象 对象性别年龄身份刘老师女23小学数学实习老师杨同学男12小学五年级学生杨家长女35杨同学的家长何老师男24小学数…

QQ互联登陆(Java)

一、准备部分 1、账户注册 腾讯开放平台网址: https://connect.qq.com/index.html 首先需要到开放平台注册QQ互联开发者身份。注册之后创建一个网站应用&#xff0c;注意&#xff0c;需要备案成功的域名才可申请。 2、应用审核 审核通过后如下图所示&#xff0c;审核通过后可以…

发布-订阅消息常用通信方式

二进制通信方式 常见的有MQTT。。。参考https://blog.csdn.net/qq_19004627/article/details/79802685未完待续