//记得绑定支付目录到该控制器下面 /** * 支付信息5.x * * @param string $order * @return void */ public function pay($order = null) { $pay_app = (new \app\api\controller\Tpmecms)->get_pay_app(); $order_data = Db::name('goodsorder')->where('order', $order)->find(); // 商品信息 $goods = Db::name('goods')->where('id', $order_data['goods_id'])->find(); $user = Db::name('user')->where('id', $order_data['uid'])->find(); $payData = $pay_app->order->unify([ 'body' => $goods['name'], 'out_trade_no' => $order, 'total_fee' => (\think\Config::get('site.pay_test') ? 0.02 : $order_data['money']) * 100, // 'spbill_create_ip' => '123.12.12.123', // 可选,如不传该参数,SDK 将会自动获取相应 IP 地址 'notify_url' => $this->request->domain() . '/api/pay/query_goods_order?order=' . $order, // 支付结果通知网址,如果不设置则会使用配置里的默认地址 'trade_type' => 'JSAPI', // 请对应换成你的支付方式对应的值类型 'openid' => $user['wx_openid'] ]); $jssdk = $pay_app->jssdk; $config = $jssdk->bridgeConfig($payData['prepay_id'], false); // 返回 json 字符串,如果想返回数组,传第二个参数 false // $config = $jssdk->sdkConfig($payData['prepay_id']); // halt($config); $res = \think\Queue::later(30, 'app\api\controller\Task@QueryOrder', $order, 'task'); header('Content-Type:application/json; charset=utf-8'); exit(json_encode($config)); }