10-27 支付接口测试 return $signature错误

来源:10-27 统一测试订单与支付接口 十

吃了饿饿了又吃

2017-06-19

老师你好,为了完整的学完这个微信支付这块,是花了力气的,微信支付和支付宝支付都申请好了。

闲话不说,支付接口测试的时候,发现,getPaySignature的结果没有反馈给上一层方法(makeWxPreOrder),下面代码下划线那个$signature。

$rawValues成功返回,回到$signature,再按F10,就到了(zerg/thinkphp/library/think/App.php)break那里了,第三张图。不理解为啥不继续返回到上一层makeWxPreOrder()的getPaySignature($wxOrderData);

private function makeWxPreOrder($totalPrice){
   //openid
   $openid = Token::getCurrentTokenVar('openid');
   if(!$openid){
       throw new TokenException();
   }
   $wxOrderData = new \WxPayUnifiedOrder();
   $wxOrderData->SetOut_trade_no($this->orderNO);
   $wxOrderData->SetTrade_type('JSAPI');
   $wxOrderData->SetTotal_fee($totalPrice*100); //微信是以分为单位的
   $wxOrderData->SetBody('Zerg商城');

   $wxOrderData->SetOpenid($openid);
   $wxOrderData->SetNotify_url('http://qq.com'); //用于接收微信的回调结果
   return $this->getPaySignature($wxOrderData);
}

// 调用微信的预订单的请求
private function getPaySignature($wxOrderData){
   $wxOrder = \WxPayApi::unifiedOrder($wxOrderData);
   if($wxOrder['return_code']!='SUCCESS'||
       $wxOrder['result_code']!='SUCCESS'){
       Log::record($wxOrder,'error');
       Log::record('获取预支付订单失败','error');
   }
   // prepay_id
   $this->recordPreOrder($wxOrder);
   $signature = $this->sign($wxOrder);
   return $signature;
}

http://szimg.mukewang.com/5947ca13000146b406130567.jpg


http://szimg.mukewang.com/5947c9b100017dd407030566.jpg


http://szimg.mukewang.com/5947c9b10001e41610160602.jpg


写回答

3回答

7七月

2017-06-20

你在控制器最终return回去结果的时候打个断点看看能过去吗?

0
5
7七月
加油哦
2017-06-21
共5条回复

吃了饿饿了又吃

提问者

2017-06-20

图片左边是老师的视频截图,按想法应该一步一步往上return的。但回到这里时候,就跳到thinkphp/library/think/App.php了。

//szimg.mukewang.com/59488f270001434928910705.jpg

0
0

吃了饿饿了又吃

提问者

2017-06-20

这是小程序那反馈的错误信息。

//szimg.mukewang.com/594882ad00016d8710080201.jpg

0
0

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程