diff --git a/application/index/controller/Order.php b/application/index/controller/Order.php index 77002c35e..b68389946 100755 --- a/application/index/controller/Order.php +++ b/application/index/controller/Order.php @@ -227,11 +227,18 @@ class Order extends Common * @date 2018-09-28 * @desc description */ - public function PayView() + public function QrcodePay() { $params = input(); - $this->assign('url', urldecode($params['url'])); - return $this->fetch('public/pay_view'); + if(empty($params['url']) || empty($params['order_no'])) + { + $this->assign('msg', '参数有误'); + return $this->fetch('public/tips_error'); + } else { + $this->assign('url', urldecode($params['url'])); + $this->assign('order_no', $params['order_no']); + return $this->fetch('qrcode_pay'); + } } /** diff --git a/application/index/view/default/public/pay_view.html b/application/index/view/default/order/qrcode_pay.html similarity index 100% rename from application/index/view/default/public/pay_view.html rename to application/index/view/default/order/qrcode_pay.html diff --git a/extend/payment/WeixinMini.php b/extend/payment/WeixinMini.php index 1c9ce50e0..15e5f6d1e 100644 --- a/extend/payment/WeixinMini.php +++ b/extend/payment/WeixinMini.php @@ -136,7 +136,7 @@ class WeixinMini $result = $this->XmlToArray($this->HttpRequest('https://api.mch.weixin.qq.com/pay/unifiedorder', $xml)); if(!empty($result['return_code']) && $result['return_code'] == 'SUCCESS' && !empty($result['prepay_id'])) { - return $this->PayHandleReturn($ret['data'], $result); + return $this->PayHandleReturn($ret['data'], $result, $params); } $msg = empty($result['return_msg']) ? '支付异常' : $result['return_msg']; if(!empty($result['err_code_des'])) @@ -155,15 +155,16 @@ class WeixinMini * @desc description * @param [array] $pay_params [支付参数] * @param [array] $data [支付返回数据] + * @param [array] $params [输入参数] */ - private function PayHandleReturn($pay_params = [], $data = []) + private function PayHandleReturn($pay_params = [], $data = [], $params = []) { $result = DataReturn('支付接口异常', -1); switch($pay_params['trade_type']) { // web支付 case 'NATIVE' : - $url = MyUrl('index/order/payview', ['url'=>urlencode($data['code_url'])]); + $url = MyUrl('index/order/qrcodepay', ['url'=>urlencode($data['code_url']), 'order_no'=>$params['order_no']]); $result = DataReturn('success', 0, $url); break;