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

撤销订单接口报错:cURL error 52: Empty reply from server #1303

Closed
oknixus opened this issue Jul 17, 2018 · 5 comments
Closed

撤销订单接口报错:cURL error 52: Empty reply from server #1303

oknixus opened this issue Jul 17, 2018 · 5 comments

Comments

@oknixus
Copy link

oknixus commented Jul 17, 2018

PHP 版本:7.1.19 fpm
overtrue/wechat 版本:
"overtrue/laravel-wechat": "^4.0",

框架名称:lumen 5.5

问题及现象

在调用撤销订单$app->reverse->byOutTradeNumber("商户系统内部的订单号(out_trade_no)");时报错:
cURL error 52: Empty reply from server (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

详细的错误信息:

[2018-07-17 18:04:22] lumen.ERROR: GuzzleHttp\Exception\ConnectException: cURL error 52: Empty reply from server (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in /vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:185
Stack trace:
#0 /vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(149): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array)
#1 /vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(102): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory))
#2 /vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory))
#3 /vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(28): GuzzleHttp\Handler\CurlHandler->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
#4 /vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(51): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}(Object(GuzzleHttp\Psr7\Request), Array)
#5 /vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(66): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}(Object(GuzzleHttp\Psr7\Request), Array)
#6 /vendor/guzzlehttp/guzzle/src/Middleware.php(30): GuzzleHttp\PrepareBodyMiddleware->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
#7 /vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(70): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Request), Array)
#8 /vendor/guzzlehttp/guzzle/src/Middleware.php(60): GuzzleHttp\RedirectMiddleware->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
#9 /vendor/guzzlehttp/guzzle/src/HandlerStack.php(67): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Request), Array)
#10 /vendor/guzzlehttp/guzzle/src/Client.php(277): GuzzleHttp\HandlerStack->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
#11 /vendor/guzzlehttp/guzzle/src/Client.php(125): GuzzleHttp\Client->transfer(Object(GuzzleHttp\Psr7\Request), Array)
#12 /vendor/guzzlehttp/guzzle/src/Client.php(131): GuzzleHttp\Client->requestAsync('POST', Object(GuzzleHttp\Psr7\Uri), Array)
#13 /vendor/overtrue/wechat/src/Kernel/Traits/HasHttpRequests.php(150): GuzzleHttp\Client->request('POST', 'secapi/pay/reve...', Array)
#14 /vendor/overtrue/wechat/src/Payment/Kernel/BaseClient.php(84): EasyWeChat\Payment\Kernel\BaseClient->performRequest('secapi/pay/reve...', 'POST', Array)
#15 /vendor/overtrue/wechat/src/Payment/Kernel/BaseClient.php(125): EasyWeChat\Payment\Kernel\BaseClient->request('secapi/pay/reve...', Array, 'post', Array)
#16 /vendor/overtrue/wechat/src/Payment/Reverse/Client.php(63): EasyWeChat\Payment\Kernel\BaseClient->safeRequest('secapi/pay/reve...', Array)
#17 /vendor/overtrue/wechat/src/Payment/Reverse/Client.php(29): EasyWeChat\Payment\Reverse\Client->reverse('201807171757135...', 'out_trade_no')
#18 /app/Libraries/WxPayLibrary.php(75): EasyWeChat\Payment\Reverse\Client->byOutTradeNumber('201807171757135...')
#19 /app/Http/Controllers/Api/V1/ConsumeController.php(73): App\Libraries\WxPayLibrary->revokeOrder('201807171757135...')
#20 [internal function]: App\Http\Controllers\Api\V1\ConsumeController->addOrder(Object(Dingo\Api\Http\Request))
#21 /vendor/illuminate/container/BoundMethod.php(29): call_user_func_array(Array, Array)
#22 /vendor/illuminate/container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#23 /vendor/illuminate/container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Laravel\Lumen\Application), Array, Object(Closure))
#24 /vendor/illuminate/container/Container.php(549): Illuminate\Container\BoundMethod::call(Object(Laravel\Lumen\Application), Array, Array, NULL)
#25 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(373): Illuminate\Container\Container->call(Array, Array)
#26 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(339): Laravel\Lumen\Application->callControllerCallable(Array, Array)
#27 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(313): Laravel\Lumen\Application->callLumenController(Object(App\Http\Controllers\Api\V1\ConsumeController), 'addOrder', Array)
#28 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(275): Laravel\Lumen\Application->callControllerAction(Array)
#29 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(255): Laravel\Lumen\Application->callActionOnArrayBasedRoute(Array)
#30 [internal function]: Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}(Object(Dingo\Api\Http\Request))
#31 /vendor/laravel/lumen-framework/src/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Dingo\Api\Http\Request))
#32 /app/Http/Middleware/Authenticate.php(42): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Dingo\Api\Http\Request))
#33 /vendor/illuminate/pipeline/Pipeline.php(149): App\Http\Middleware\Authenticate->handle(Object(Dingo\Api\Http\Request), Object(Closure))
#34 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Dingo\Api\Http\Request))
#35 /vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Dingo\Api\Http\Request))
#36 /vendor/dingo/api/src/Http/Middleware/RateLimit.php(70): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Dingo\Api\Http\Request))
#37 /vendor/illuminate/pipeline/Pipeline.php(149): Dingo\Api\Http\Middleware\RateLimit->handle(Object(Dingo\Api\Http\Request), Object(Closure))
#38 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Dingo\Api\Http\Request))
#39 /vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Dingo\Api\Http\Request))
#40 /vendor/liyu/dingo-serializer-switch/src/SerializerSwitch.php(44): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Dingo\Api\Http\Request))
#41 /vendor/illuminate/pipeline/Pipeline.php(149): Liyu\Dingo\SerializerSwitch->handle(Object(Dingo\Api\Http\Request), Object(Closure))
#42 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Dingo\Api\Http\Request))
#43 /vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Dingo\Api\Http\Request))
#44 /vendor/palanik/lumen-cors/LumenCors.php(110): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Dingo\Api\Http\Request))
#45 /vendor/illuminate/pipeline/Pipeline.php(149): palanik\lumen\Middleware\LumenCors->handle(Object(Dingo\Api\Http\Request), Object(Closure))
#46 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Dingo\Api\Http\Request))
#47 /vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Dingo\Api\Http\Request))
#48 /vendor/dingo/api/src/Http/Middleware/PrepareController.php(45): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Dingo\Api\Http\Request))
#49 /vendor/illuminate/pipeline/Pipeline.php(149): Dingo\Api\Http\Middleware\PrepareController->handle(Object(Dingo\Api\Http\Request), Object(Closure))
#50 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Dingo\Api\Http\Request))
#51 /vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Dingo\Api\Http\Request))
#52 /vendor/illuminate/pipeline/Pipeline.php(102): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Dingo\Api\Http\Request))
#53 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(410): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#54 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(256): Laravel\Lumen\Application->sendThroughPipeline(Array, Object(Closure))
#55 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(230): Laravel\Lumen\Application->handleFoundRoute(Array)
#56 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(164): Laravel\Lumen\Application->handleDispatcherResponse(Array)
#57 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(413): Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}()
#58 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(166): Laravel\Lumen\Application->sendThroughPipeline(Array, Object(Closure))
#59 /vendor/dingo/api/src/Routing/Adapter/Lumen.php(102): Laravel\Lumen\Application->dispatch(Object(Dingo\Api\Http\Request))
#60 /vendor/dingo/api/src/Routing/Router.php(512): Dingo\Api\Routing\Adapter\Lumen->dispatch(Object(Dingo\Api\Http\Request), 'v1')
#61 /vendor/dingo/api/src/Http/Middleware/Request.php(126): Dingo\Api\Routing\Router->dispatch(Object(Dingo\Api\Http\Request))
#62 /vendor/illuminate/pipeline/Pipeline.php(114): Dingo\Api\Http\Middleware\Request->Dingo\Api\Http\Middleware\{closure}(Object(Dingo\Api\Http\Request))
#63 /vendor/palanik/lumen-cors/LumenCors.php(110): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Dingo\Api\Http\Request))
#64 /vendor/illuminate/pipeline/Pipeline.php(149): palanik\lumen\Middleware\LumenCors->handle(Object(Dingo\Api\Http\Request), Object(Closure))
#65 /app/Http/Middleware/ChangeLocale.php(26): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Dingo\Api\Http\Request))
#66 /vendor/illuminate/pipeline/Pipeline.php(149): App\Http\Middleware\ChangeLocale->handle(Object(Dingo\Api\Http\Request), Object(Closure))
#67 /vendor/illuminate/pipeline/Pipeline.php(102): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Dingo\Api\Http\Request))
#68 /vendor/dingo/api/src/Http/Middleware/Request.php(127): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#69 /vendor/dingo/api/src/Http/Middleware/Request.php(103): Dingo\Api\Http\Middleware\Request->sendRequestThroughRouter(Object(Dingo\Api\Http\Request))
#70 /vendor/illuminate/pipeline/Pipeline.php(149): Dingo\Api\Http\Middleware\Request->handle(Object(Dingo\Api\Http\Request), Object(Closure))
#71 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#72 /vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#73 /vendor/illuminate/pipeline/Pipeline.php(102): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Illuminate\Http\Request))
#74 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(410): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#75 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(166): Laravel\Lumen\Application->sendThroughPipeline(Array, Object(Closure))
#76 /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(107): Laravel\Lumen\Application->dispatch(NULL)
#77 /public/index.php(28): Laravel\Lumen\Application->run()
#78 {main}
@overtrue
Copy link
Collaborator

这个问题就是对方确实没有响应内容,比如微信接口挂掉了,或者超时了,建议你检查服务器到微信服务器的网络接连是否正常。

@oknixus
Copy link
Author

oknixus commented Jul 17, 2018

嗯,好的,谢谢超哥;发这个之前,我也是挺犹豫的,我关掉它;
谢谢超哥!

@oknixus oknixus closed this as completed Jul 17, 2018
@overtrue
Copy link
Collaborator

@oknixus 客气了

@aszx0413
Copy link

aszx0413 commented Jul 30, 2018

PHP 7.2 / easywechat ~4.0
同样因为撤消订单报这个错,会不会是SDK问题
在调用这个接口前还调用了queryByOutTradeNumber,可正常返回,所以排除了服务器和微信服务器的连接原因

$re = $app->order->queryByOutTradeNumber('153294****5059'); // 可正常返回
$re = $app->reverse->byOutTradeNumber("15329****73545"); // 报错

@mingyoung
Copy link
Collaborator

@aszx0413 检查下证书是否配置正确

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

4 participants