webman使用yansongda/pay微信部分报错 ,求方案

muvtou

问题描述

webman使用yansongda/pay,支付宝部分完好,使用微信部分时候报错

程序代码

$order = [
    'out_trade_no' => $order['orderId'],
    'description'  => '充值',
    'amount' => [
    'total' => $order['amount']*100,
    ],
];

$result = Pay::wechat()->scan($order);

报错信息

容器未找到: `getContainer()` 方法调用失败! 或许你应该先 `setContainer()`

操作系统及workerman/webman等框架组件具体版本

webman最新版

解决方案

经过老大指点,此插件从3.6版本开始进行重构(yansongda/pay官方文档里有说明),所以不适用了,如果想使用请使用3.6以前的版本

1013 3 1
3个回答

walkor 打赏

组件版本是?

  • muvtou 2024-06-14

    Workerman version:4.1.15
    yansongda/pay3.7.1还有3.6.5 都试了
    php 8.3.8

  • muvtou 2024-06-14

    webman-framework 1.5.18

  • walkor 2024-06-14

    composer require -W yansongda/pay ~3.5.0 试下
    高版本他们可能改了用法了

  • muvtou 2024-06-14

    刚试了一下不报上一个错误,报Unpack Response Error错误

  • walkor 2024-06-14

    看下他们文档吧,这个已经不是我们能控制的了

  • muvtou 2024-06-14

    嗯,感谢

wilbur

我昨天也遇到了这个问题,研究了半天,然后发现是我没有调用Pay::config($config)初始化,尴尬,我用的yansongda 3.7版本

  • 暂无评论
liziyu

我刚试了一下 v3.7出现。
执行完 Pay::wechat()->scan($order);以后,捕获到如下错误,可晓得啥原因?

array (
  'body' => '<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
',
  'response' => 
  \GuzzleHttp\Psr7\Response::__set_state(array(
     'reasonPhrase' => 'Not Found',
     'statusCode' => 404,
     'headers' => 
    array (
      'Server' => 
      array (
        0 => 'nginx',
      ),
      'Date' => 
      array (
        0 => 'Thu, 23 Jan 2025 03:34:22 GMT',
      ),
      'Content-Type' => 
      array (
        0 => 'text/html',
      ),
      'Content-Length' => 
      array (
        0 => '162',
      ),
      'Connection' => 
      array (
        0 => 'keep-alive',
      ),
      'Keep-Alive' => 
      array (
        0 => 'timeout=8',
      ),
    ),
     'headerNames' => 
    array (
      'server' => 'Server',
      'date' => 'Date',
      'content-type' => 'Content-Type',
      'content-length' => 'Content-Length',
      'connection' => 'Connection',
      'keep-alive' => 'Keep-Alive',
    ),
     'protocol' => '1.1',
     'stream' => 
    \GuzzleHttp\Psr7\Stream::__set_state(array(
       'stream' => NULL,
       'size' => NULL,
       'seekable' => true,
       'readable' => true,
       'writable' => true,
       'uri' => 'php://temp',
       'customMetadata' => 
      array (
      ),
    )),
  )),
)
  • 暂无评论
×
🔝