Browse Source

保存pay_user_id

develop
李可松 4 years ago
parent
commit
38d7e9028c
  1. 3
      MySQL_change.sql
  2. 8
      app/Http/Controllers/Api/SharePayController.php

3
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`;

8
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) {

Loading…
Cancel
Save