Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

微信小程序支付签名问题 #1216

Closed
xiearthur opened this issue May 14, 2018 · 2 comments
Closed

微信小程序支付签名问题 #1216

xiearthur opened this issue May 14, 2018 · 2 comments

Comments

@xiearthur
Copy link

我用的环境

PHP 版本:7.1
overtrue/wechat 版本:4.0
是否使用了框架?框架名称:laravel5.4

问题及现象

小程序提示错误
return_code: "FAIL", return_msg: "签名错误
小程序代码
wxpay(){
wx.request({
url: getApp().api.get_v3_pay,
header: {
'content-type': 'application/json'
},
data: {

  }, success: res => {
    console.log(res)
    wx.requestPayment({
      timeStamp: '',
      nonceStr: '',
      package: '',
      signType: '',
      paySign: '',
    })

** laravel代码**
public function pay(){
$payment = \EasyWeChat::payment(); // 微信支付
$result = $payment->order->unify([
'body' => '测试支付',
'out_trade_no' => '263565',
'trade_type' => 'JSAPI', // 必须为JSAPI
'openid' => 'oRHbw0Fsrlvpr_AEnfI', // 有所修改
'total_fee' => 1, // 总价
]);
// 如果成功生成统一下单的订单,那么进行二次签名
if ($result['return_code'] === 'SUCCESS') {
// 二次签名的参数必须与下面相同
$params = [
'appId' => 'wx001aeca67195585b',//有所修改
'timeStamp' => time(),
'nonceStr' => $result['nonce_str'],
'package' => 'prepay_id=' . $result['prepay_id'],
'signType' => 'MD5',
];

        // config('wechat.payment.default.key')为商户的key
        $params['paySign'] = generate_sign($params, config('wechat.payment.default.key'));

        return  $params;
    } else {

     return $result;
    }
@xiearthur
Copy link
Author

日志:
[2018-05-13 23:19:45] production.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Call to a member function wx_user() on boolean in /www/sddy/app/Http/Controllers/Api/V3/UserController.php:36
Stack trace:
#0 [internal function]: App\Http\Controllers\Api\V3\UserController->pay()
#1 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(55): call_user_func_array(Array, Array)
#2 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\Routing\Controller->callAction('pay', Array)
#3 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(App\Http\Controllers\Api\V3\UserController), 'pay')
#4 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/Route.php(160): Illuminate\Routing\Route->runController()
#5 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/Router.php(572): Illuminate\Routing\Route->run()
#6 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing{closure}(Object(Dingo\Api\Http\Request))
#7 /www/sddy/vendor/dingo/api/src/Http/Middleware/PrepareController.php(45): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Dingo\Api\Http\Request))
#8 /www/sddy/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Dingo\Api\Http\Middleware\PrepareController->handle(Object(Dingo\Api\Http\Request), Object(Closure))
#9 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Dingo\Api\Http\Request))
#10 /www/sddy/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Dingo\Api\Http\Request))
#11 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/Router.php(574): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#12 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/Router.php(533): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Dingo\Api\Http\Request))
#13 /www/sddy/vendor/laravel/framework/src/Illuminate/Routing/Router.php(511): Illuminate\Routing\Router->dispatchToRoute(Object(Dingo\Api\Http\Request))
#14 /www/sddy/vendor/dingo/api/src/Routing/Adapter/Laravel.php(81): Illuminate\Routing\Router->dispatch(Object(Dingo\Api\Http\Request))
#15 /www/sddy/vendor/dingo/api/src/Routing/Router.php(513): Dingo\Api\Routing\Adapter\Laravel->dispatch(Object(Dingo\Api\Http\Request), 'v1')
#16 /www/sddy/vendor/dingo/api/src/Http/Middleware/Request.php(126): Dingo\Api\Routing\Router->dispatch(Object(Dingo\Api\Http\Request))

@nongzhenli
Copy link

你好!我也遇到这个问题了!请问最后你是怎么解决的呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants