From 845c9a2c09d9e6dc0a6dc2a685e681ae1e3c0d85 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Wed, 19 Jul 2023 16:25:39 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=B0=83=E6=95=B4app=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/service/pay/WeChatPayService.php | 32 +++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/app/common/service/pay/WeChatPayService.php b/app/common/service/pay/WeChatPayService.php index cd1f72e13..9896e86f9 100755 --- a/app/common/service/pay/WeChatPayService.php +++ b/app/common/service/pay/WeChatPayService.php @@ -215,7 +215,7 @@ class WeChatPayService extends BasePayService ]); $result = $response->toArray(false); $this->checkResultFail($result); - return $result['prepay_id']; + return $this->configForPayment($result['prepay_id'], $appId); } @@ -390,8 +390,36 @@ class WeChatPayService extends BasePayService return $server->serve(); } + public function configForPayment($prepayId, $appId) + { + $config = [ + 'appId' => $appId, + 'timeStamp' => strval(time()), + 'nonceStr' => uniqid(), + 'package' => "prepay_id=$prepayId", + 'signType' => 'RSA', + ]; + $message = $config['appId'] . "\n" . + $config['timeStamp'] . "\n" . + $config['nonceStr'] . "\n" . + $config['package'] . "\n"; + openssl_sign($message, $raw_sign, $this->getPrivateKey(), 'sha256WithRSAEncryption'); + $sign = base64_encode($raw_sign); + $config['paySign'] = $sign; + $config['timestamp'] = $config['timeStamp']; + unset($config['timeStamp']); + return $config; + } - + protected function getPrivateKey() + { + if (!file_exists($this->config['private_key'])) { + throw new \InvalidArgumentException( + "SSL certificate not found: {$this->config['private_key']}" + ); + } + return openssl_pkey_get_private(file_get_contents($this->config['private_key'])); + } } \ No newline at end of file From 8e6d53ea782891f46e3cba05e7e2aa246285534f Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Wed, 19 Jul 2023 16:40:14 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/adminapi/logic/auth/AdminLogic.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/adminapi/logic/auth/AdminLogic.php b/app/adminapi/logic/auth/AdminLogic.php index 5bbf04670..1106f4e8a 100755 --- a/app/adminapi/logic/auth/AdminLogic.php +++ b/app/adminapi/logic/auth/AdminLogic.php @@ -229,9 +229,9 @@ class AdminLogic extends BaseLogic { $admin = Admin::field([ 'id', 'account', 'name', 'disable', 'root', - 'multipoint_login', 'avatar', + 'multipoint_login', 'avatar', 'sex', 'province', 'city', 'area', 'street', 'address', 'qualification', 'is_contract', 'id_card' ])->findOrEmpty($params['id'])->toArray(); - + $admin['qualification'] = json_decode($admin['qualification'], true); if ($action == 'detail') { return $admin; } From 93ffafe0e53548fc48448de93d7860e1f3d48d9a Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Wed, 19 Jul 2023 16:46:08 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=B0=83=E6=95=B4app=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/service/pay/WeChatPayService.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/common/service/pay/WeChatPayService.php b/app/common/service/pay/WeChatPayService.php index 9896e86f9..4385e513e 100755 --- a/app/common/service/pay/WeChatPayService.php +++ b/app/common/service/pay/WeChatPayService.php @@ -408,6 +408,7 @@ class WeChatPayService extends BasePayService $config['paySign'] = $sign; $config['timestamp'] = $config['timeStamp']; + $config['partnerid'] = $this->config['mch_id']; unset($config['timeStamp']); return $config; }