request->param(); $user = $this->getUser(); $list = (new BalancePlanModel)->getList(); // 设置 $settings = SettingModel::getItem('balance'); // 是否开启支付宝支付 $show_alipay = PayService::isAlipayOpen($params['pay_source'], $user['app_id']); //商户是否独立收款 by yj 2024.3.13 $is_independent = SettingModel::getIndependentOpen(); //商户 $supplier_list = (new SupplierModel())->getLists(); return $this->renderSuccess('', compact('list', 'settings', 'is_independent','supplier_list')); } /** * 充值套餐 */ public function submit($plan_id, $user_money) { $params = $this->request->param(); // 用户信息 $user = $this->getUser(); // 生成充值订单 $model = new BalanceOrderModel(); $order_id = $model->createOrder($user, $plan_id, $user_money,$params); if(!$order_id){ return $this->renderError($model->getError() ?: '购买失败'); } // 返回结算信息 return $this->renderSuccess('', [ 'order_id' => $order_id, // 订单id ]); } /** * 立即支付 */ public function pay($order_id, $payType = OrderPayTypeEnum::WECHAT) { // 用户信息 $user = $this->getUser(); // 获取订单详情 $model = BalanceOrderModel::getUserOrderDetail($order_id, $user['user_id']); $params = $this->postData(); if ($this->request->isGet()) { // 开启的支付类型 $payTypes = AppModel::getPayType($model['app_id'], $params['pay_source']); // 支付金额 $payPrice = $model['pay_price']; return $this->renderSuccess('', compact('payTypes', 'payPrice')); } // 订单支付事件 if ($model['pay_status']['value'] != 10) { return $this->renderError($model->getError() ?: '订单已支付'); } // 在线支付 $payment = BalanceOrderModel::onOrderPayment($user, $model, $payType, $params['pay_source']); // 返回结算信息 return $this->renderSuccess(['success' => '支付成功', 'error' => '订单未支付'], [ 'order_id' => $order_id, // 订单id 'pay_type' => $payType, // 支付方式 'payment' => $payment, // 微信支付参数 'order_type' => OrderTypeEnum::BALANCE, //订单类型 'return_Url' => $params['pay_source'] == 'h5' ? urlencode(base_url() . "h5/pages/user/my-wallet/my-wallet") : '', //h5支付跳转地址 ]); } }