$config = config('wxpay');
$pay_id = \request()->get('pay_id');
$m_pay = PayModel::find($pay_id);
$money = $m_pay->pay_money;
$user_id = $m_pay->user_id;
$out_trade_no = '···' . date('YmdHis') . rand(1000,9999);
$body = '···';
$pay_type = '1';
$this->createOrder($pay_id,$user_id,$out_trade_no,$body,$money,$pay_type);
$app = Factory::payment($config);
$result = $app->order->unify([
'body' => $body,
'out_trade_no' => $out_trade_no,
'total_fee' => $money,
// 'spbill_create_ip' => '123.12.12.123', // 可选,如不传该参数,SDK 将会自动获取相应 IP 地址
'notify_url' => '···', // 支付结果通知网址,如果不设置则会使用配置里的默认地址
'trade_type' => 'MWEB',
]);
$this->redirect($result["mweb_url"]);
这里使用微信返回的mweb_url参数直接跳转即可,不能直接访问该页面调起微信支付,因为http_refer为空,必须从上一个页面跳转过来才行。