From a40e343fe8fa84743ec9f4fbfa1abb88048b7cb5 Mon Sep 17 00:00:00 2001 From: liapples Date: Thu, 9 Sep 2021 14:49:40 +0800 Subject: [PATCH 1/6] file --- app/Http/Controllers/Api/OrderController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index ce74cf8..98c6e10 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -375,7 +375,7 @@ class OrderController extends Controller 'profit_sharing' => 'Y', //Y分账,N不分账,默认不分账,Y大写 ]); } catch (InvalidArgumentException | InvalidConfigException | GuzzleException $e) { - return ['error' => $e->getMessage(), 'file' => basename($e->getFile()), 'line' => $e->getLine()]; + return ['error' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine()]; } if (empty($result['prepay_id'])) { From 8ac108d181fb8923f5cd2f5aff048761c4050a09 Mon Sep 17 00:00:00 2001 From: liapples Date: Thu, 9 Sep 2021 14:51:45 +0800 Subject: [PATCH 2/6] $openid --- app/Http/Controllers/Api/OrderController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index 98c6e10..140efa9 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -375,7 +375,7 @@ class OrderController extends Controller 'profit_sharing' => 'Y', //Y分账,N不分账,默认不分账,Y大写 ]); } catch (InvalidArgumentException | InvalidConfigException | GuzzleException $e) { - return ['error' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine()]; + return ['error' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine(), 'openid' => $openid]; } if (empty($result['prepay_id'])) { From cd4d5b0500b54f36a8f9d17f3dcfe88ea812eae8 Mon Sep 17 00:00:00 2001 From: liapples Date: Thu, 9 Sep 2021 14:54:44 +0800 Subject: [PATCH 3/6] file --- app/Http/Controllers/Api/OrderController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index 140efa9..ce74cf8 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -375,7 +375,7 @@ class OrderController extends Controller 'profit_sharing' => 'Y', //Y分账,N不分账,默认不分账,Y大写 ]); } catch (InvalidArgumentException | InvalidConfigException | GuzzleException $e) { - return ['error' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine(), 'openid' => $openid]; + return ['error' => $e->getMessage(), 'file' => basename($e->getFile()), 'line' => $e->getLine()]; } if (empty($result['prepay_id'])) { From 38d7e9028ccea3931b8760f9058f170663df3d68 Mon Sep 17 00:00:00 2001 From: liapples Date: Thu, 9 Sep 2021 15:21:13 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=9D=E5=AD=98pay=5Fuser=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MySQL_change.sql | 3 +++ app/Http/Controllers/Api/SharePayController.php | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/MySQL_change.sql b/MySQL_change.sql index 2be81fe..474a711 100644 --- a/MySQL_change.sql +++ b/MySQL_change.sql @@ -278,4 +278,7 @@ ALTER TABLE `suppliers` ALTER TABLE `suppliers` CHANGE COLUMN `public_type` `publish_type` VARCHAR(255) NOT NULL DEFAULT '[]' COMMENT '允许发布产品的模板' COLLATE 'utf8_general_ci' AFTER `rate`; +# 15:19 2021/9/9 +ALTER TABLE `orders` + ADD COLUMN `pay_user_id` INT NOT NULL DEFAULT 0 COMMENT '支付用户的user_id(跳转到外部小程序支付时用到)' AFTER `agent_cloud_price`; diff --git a/app/Http/Controllers/Api/SharePayController.php b/app/Http/Controllers/Api/SharePayController.php index 47a02d2..ff6f8f1 100644 --- a/app/Http/Controllers/Api/SharePayController.php +++ b/app/Http/Controllers/Api/SharePayController.php @@ -32,13 +32,18 @@ class SharePayController extends Controller } //用户openid - $openid = User::query()->where('id', $this->user_id)->value('openid'); //此处要用where,value()用find有BUG + $user_info = User::query()->where('id', $this->user_id)->first(['agent_id', 'openid']); //此处要用where,value()用find有BUG + $openid = $user_info['openid']; + $this->agent_id = $user_info['agent_id']; $order = Order::query()->whereIn('status', [Status::UNPAID, Status::PAY_EARNEST])->find($order_id); if (!$order) { return $this->error('订单不存在或已支付'); } + $order->pay_user_id = $this->user_id; + $order->save(); + $config = config('wechat.payment.default'); $config = array_merge($config, [ 'app_id' => 'wxb35ef055a4dd8ad4', @@ -55,6 +60,7 @@ class SharePayController extends Controller 'notify_url' => route('wxpay_notify', ['agent_id' => $this->agent_id]), // 支付结果通知网址,如果不设置则会使用配置里的默认地址 'trade_type' => 'JSAPI', 'openid' => $openid, + 'attach' => $this->user_id, //保存支付用户的user_id // 'profit_sharing' => 'Y', //Y分账,N不分账,默认不分账,Y大写 ]); } catch (InvalidArgumentException | InvalidConfigException | GuzzleException $e) { From c8f5a2fbfde77321e7e8b9b15a974aec7925b254 Mon Sep 17 00:00:00 2001 From: liapples Date: Thu, 9 Sep 2021 15:58:59 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E4=B8=93=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/OrderController.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index ce74cf8..5cf7ef3 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -220,12 +220,14 @@ class OrderController extends Controller if ($formData['pay_type'] == PayType::OFFLINE) { //线下支付 return $this->success(['id' => $order_id], '操作成功,请及时联系客服付款'); } else { //在线支付或定金支付 - $config = $this->payConfig($order, $price); + /*$config = $this->payConfig($order, $price); if (!empty($config['paySign'])) { return $this->success($config); } else { return $this->error($config['err_code_des'] ?? join(',', $config)); - } + }*/ + // TODO 跳转支付专用 + return $this->success($order); } } From 496f54daf196da3cf11e9b6a9edb6b993c1c1dc1 Mon Sep 17 00:00:00 2001 From: liapples Date: Thu, 9 Sep 2021 16:09:27 +0800 Subject: [PATCH 6/6] =?UTF-8?q?jump=E5=92=8Cjump=5Fappid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/OrderController.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index 5cf7ef3..17c39e6 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -227,7 +227,7 @@ class OrderController extends Controller return $this->error($config['err_code_des'] ?? join(',', $config)); }*/ // TODO 跳转支付专用 - return $this->success($order); + return $this->success(['id' => $order->id, 'jump' => true, 'jump_appid' => 'wxb35ef055a4dd8ad4']); } } @@ -309,10 +309,6 @@ class OrderController extends Controller $ap->final_price = $this->calc($ap->price, $formData['num'], $formData['pay_type'], $ap); $ap->num = $formData['num']; - //是否跳转到外部小程序支付(分账测试) - $ap->jump = true; - $ap->jump_appid = 'wxb35ef055a4dd8ad4'; - return $this->success($ap); }