From bf51b24cfa7c8202fe070bc6d91f563ba5ccf412 Mon Sep 17 00:00:00 2001 From: lccsw <1127794702@qq.com> Date: Thu, 2 Sep 2021 20:28:36 +0800 Subject: [PATCH] edit-admin-wx-profitsharingfinish --- admin/config/config.php | 2 +- admin/config/wxpay.php | 19 +++++++++ admin/controllers/app/Profinish.php | 40 ++++++++++++------- admin/views/app/profinish.php | 6 +++ .../WXconfig/1612096731.Config.php | 30 -------------- api/third_party/WXconfig/apiclient_key.pem | 28 +++++++++++++ .../WXconfig/apiclient_wechatpay.pem | 23 +++++++++++ .../WXconfig/liche_cert/1612096731_cert.pem | 24 ----------- .../WXconfig/liche_cert/1612096731_key.pem | 28 ------------- common/libraries/WechatPayV3.php | 38 ++++++++++++++++++ 10 files changed, 140 insertions(+), 98 deletions(-) create mode 100644 admin/config/wxpay.php delete mode 100755 api/third_party/WXconfig/1612096731.Config.php create mode 100644 api/third_party/WXconfig/apiclient_key.pem create mode 100644 api/third_party/WXconfig/apiclient_wechatpay.pem delete mode 100644 api/third_party/WXconfig/liche_cert/1612096731_cert.pem delete mode 100644 api/third_party/WXconfig/liche_cert/1612096731_key.pem diff --git a/admin/config/config.php b/admin/config/config.php index 78345909..6e3dfa88 100755 --- a/admin/config/config.php +++ b/admin/config/config.php @@ -136,7 +136,7 @@ $config['subclass_prefix'] = 'HD_'; | Note: This will NOT disable or override the CodeIgniter-specific | autoloading (application/config/autoload.php) */ -$config['composer_autoload'] = FALSE; +$config['composer_autoload'] = COMMPATH.'/vendor/autoload.php'; /* |-------------------------------------------------------------------------- diff --git a/admin/config/wxpay.php b/admin/config/wxpay.php new file mode 100644 index 00000000..e71fa49d --- /dev/null +++ b/admin/config/wxpay.php @@ -0,0 +1,19 @@ + 'wxe66f905683582780', //服应用ID + 'mchid' => '1612096731', //商户号 + 'merchantSerialNumber' => '761590F1FF6DFC2466894F96E2DE1169CE644A74', //商户号API证书序列号 + 'merchantPrivateKey' => '/home/dev28/liche/api/third_party/WXconfig/apiclient_key.pem', //商户私钥路径 + 'wechatpayCertificate' => '/home/dev28/liche/api/third_party/WXconfig/apiclient_wechatpay.pem', //微信支付平台证书路径 + 'sub_appid' => 'wx98e64c11aac45966' //子商户应用ID +]; + diff --git a/admin/controllers/app/Profinish.php b/admin/controllers/app/Profinish.php index 1fa27523..ab379ac7 100644 --- a/admin/controllers/app/Profinish.php +++ b/admin/controllers/app/Profinish.php @@ -37,28 +37,38 @@ class Profinish extends HD_Controller public function edit() { - require_once COMMPATH."../api/third_party/WXconfig/1612096731.Config.php"; - require_once COMMPATH."../api/third_party/WXpay/WxPay.Api.php"; + + $sub_mchid = $this->input->post('sub_mchid'); $transaction_id = $this->input->post('transaction_id'); $description = $this->input->post('description'); - if(!$transaction_id || !$description){ + if(!$transaction_id || !$description || !$sub_mchid){ return $this->show_json(SYS_CODE_FAIL, '参数错误'); } $this->load->helper('order'); $out_order_no = create_order_no(); - $config = new WxPayConfig(); - $wxpay = new WxPayProfitSharingFinish(); - $wxpay -> SetTransaction_id($transaction_id); - $wxpay -> SetOut_order_no($out_order_no); - $wxpay -> SetDescription($description); - $return = WxPayApi::profitsharingfinish($config, $wxpay); - debug_log("[结束分账返回参数]:" .json_encode($return,JSON_UNESCAPED_UNICODE), $this->log_file,'wxapi'); - if($return['result_code'] == 'SUCCESS') { - return $this->show_json(SYS_CODE_SUCCESS, '操作成功'); - }else{ - $err_msg = $return['return_msg'] ? $return['return_msg'] : $return['return_msg'].$return['err_code_des']; - return $this->show_json(SYS_CODE_FAIL, '错误信息:'.$err_msg); + $this->config->load('wxpay'); + $wx_config = $this->config->item('default'); + $this->load->library('WechatPayV3'); + $params = [ + 'merchantId' => $wx_config['mchid'], + 'merchantSerialNumber' => $wx_config['merchantSerialNumber'], + 'merchantPrivateKey' => $wx_config['merchantPrivateKey'], + 'wechatpayCertificate' => $wx_config['wechatpayCertificate'], + ]; + $WechatPayV3 = new WechatPayV3($params); + $json = [ + 'sub_mchid' => $sub_mchid, + 'transaction_id' => $transaction_id, + 'out_order_no' => $out_order_no, + 'description' => $description, + ]; + $noncestr = getNonceStr(20); + $resq = $WechatPayV3->unfreeze($json,$noncestr); + debug_log("[结束分账返回参数]:" .json_encode($resq,JSON_UNESCAPED_UNICODE), $this->log_file,'wxapi'); + if(!$resq['code']){ + return $this->show_json(SYS_CODE_FAIL, $resq['msg']); } + return $this->show_json(SYS_CODE_SUCCESS, '操作成功'); } diff --git a/admin/views/app/profinish.php b/admin/views/app/profinish.php index 3aecc655..89322461 100644 --- a/admin/views/app/profinish.php +++ b/admin/views/app/profinish.php @@ -1,4 +1,10 @@