大雕哥
你身边最懂互联网的朋友

微信小程序可以完成微信支付但没有回调,也没有完成订单状态 微信支付异步通知https

最近在使用禾匠商城小程序模块的时候,遇上了一个很头疼的问题,可以发起微信支付,也能够支付成功,但支付之后,订单状态还是显示未支付。

根据经验,这很大概率是微信支付回调没有设置好,先检查微信支付的3个产品有没有开通:《微信小程序调用支付JSAPI缺少参数: total_fee的解决办法

然后再看看微擎微赞系统有没有开启https功能:《微擎https与微信支付的坑

反复检查了一下,上面设置都没有什么问题,只能从代码方面找原因了,微信支付回调的统一接口:

禾匠商城小程序的目录太多,并且目录命名也比较任性,找到对应的文件很难,根据以前开发的经验,微信支付回调接口都有统一的必填参数:“notify_url”

直接全盘检索“notify_url”,找到对应的代码块:

$res = $this->wechat->pay->unifiedOrder([
'body' => $goods_names,
'out_trade_no' => $this->order->order_no,
'total_fee' => $this->order->pay_price * 100,
'notify_url' => \Yii::$app->request->hostInfo . \Yii::$app->request->baseUrl . '/pay-notify.php',
'trade_type' => 'JSAPI',
'openid' => $this->user->wechat_open_id,
]);

再进一步查看hostInfo函数的代码

public function getHostInfo()
{
if ($this->_hostInfo === null) {
$secure = $this->getIsSecureConnection();
$http = $secure ? 'https' : 'http';
if (isset($_SERVER['HTTP_HOST'])) {
$this->_hostInfo = $http . '://' . $_SERVER['HTTP_HOST'];
} elseif (isset($_SERVER['SERVER_NAME'])) {
$this->_hostInfo = $http . '://' . $_SERVER['SERVER_NAME'];
$port = $secure ? $this->getSecurePort() : $this->getPort();
if (($port !== 80 && !$secure) || ($port !== 443 && $secure)) {
$this->_hostInfo .= ':' . $port;
}
}
}

return $this->_hostInfo;
}

找到原因了:

温馨提示: 隐藏内容需要 回复评论 后才能查看, 评论后请 刷新 !.

修改完成后刷新微擎、禾匠商城小程序的缓存,重启一下IIS,再试一下微信支付,果然可以了。

赞(0) 解决问题,就是我最大的快乐
转载请保留出处:大雕哥 » 微信小程序可以完成微信支付但没有回调,也没有完成订单状态
分享到: 更多 (0)

评论 27

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    666解决我的大麻烦了

    taoists3周前 (05-27)回复
  2. #2

    good

    ok3周前 (05-28)回复
  3. #3

    老大,怎么改成 http?

    ok3周前 (05-28)回复
  4. #4

    研究研究,有啥区别。

    eslung3周前 (05-28)回复
  5. #5

    正式我所需要的

    mrkim23周前 (05-31)回复
  6. #6

    希望能解决我现在的问题

    jef3周前 (05-31)回复
  7. #7

    还要回复啊,看看看

    福桂2周前 (06-01)回复
  8. #8

    本地调试可以, 线上就不行了

    小菜2周前 (06-01)回复
  9. #9

    我的也不行,支付成功后还是未付款。

    东青2周前 (06-01)回复
    • 你问题解决了吗?

      eslung2周前 (06-08)回复
  10. #10

    我也遇到这个问题了,不知道怎解决。

    东青2周前 (06-02)回复
  11. #11

    楼主能详细说一下改那个地方吗?

    东青2周前 (06-02)回复
  12. #12

    看一下解决我的大麻烦了

    hinet2周前 (06-02)回复
  13. #13

    good 很需要

    二三得2周前 (06-03)回复
  14. #14

    看看也需要回复

    卧槽2周前 (06-03)回复
  15. #15

    666解决我的大麻烦了

    admin8882周前 (06-05)回复
    • 请问你的解决了吗

      东青2周前 (06-08)回复
  16. #16

    好的好的有用

    2周前 (06-06)回复
  17. #17

    怎么解决的啊

    wmtimes2周前 (06-06)回复
  18. #18

    666解决我的大麻烦了

    mick2周前 (06-07)回复
  19. #19

    我去,我来学学,

    fsdfas1周前 (06-08)回复
  20. #20

    666解决我的大麻烦了

    1231231周前 (06-11)回复
  21. #21

    666解决我的大麻烦了

    tops6天前回复
  22. #22

    666解决我的大麻烦了

    chuyedeshihouyan5天前回复
  23. #23

    666希望有用啊

    hdd3天前回复
  24. #24

    666解决我的大麻烦了

    anyous2天前回复

大雕哥,做你身边最懂互联网的朋友

邮箱订阅联系我们

如果觉得文章有用可以打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏