From d50180d93e3dab14e2596db9fe11b47999c499b1 Mon Sep 17 00:00:00 2001 From: Anyon Date: Mon, 30 Dec 2019 18:40:26 +0800 Subject: [PATCH] Update Test.php --- app/wechat/controller/api/Test.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/wechat/controller/api/Test.php b/app/wechat/controller/api/Test.php index 5e3706acc..ac80d93fe 100644 --- a/app/wechat/controller/api/Test.php +++ b/app/wechat/controller/api/Test.php @@ -183,21 +183,23 @@ class Test extends Controller */ public function jsapi() { + $url = $this->request->url(true); $pay = WechatService::WePayOrder(); - $user = WechatService::instance()->getWebOauthInfo($this->request->url(true), 0); - $options = [ + $user = WechatService::instance()->getWebOauthInfo($url, 0); + if (empty($user['openid'])) return '

网页授权获取OPENID失败!

'; + // 生成预支付码 + $result = $pay->create([ 'body' => '测试商品', 'out_trade_no' => time(), 'total_fee' => '1', 'openid' => $user['openid'], 'trade_type' => 'JSAPI', 'notify_url' => url('@wechat/api.test/notify', [], false, true), - 'spbill_create_ip' => request()->ip(), - ]; - // 生成预支付码 - $result = $pay->create($options); + 'spbill_create_ip' => $this->request->ip(), + ]); // 创建JSAPI参数签名 $options = $pay->jsapiParams($result['prepay_id']); + $optionJSON = json_encode($options, JSON_UNESCAPED_UNICODE); // JSSDK 签名配置 $configJSON = json_encode(WechatService::instance()->getWebJssdkSign(), JSON_UNESCAPED_UNICODE);