全部
常见问题
产品动态
精选推荐
功能建议

分析中 已回复 待规划 {{opt.name}}
分析中 已回复 待规划
CRMEB 多门店v4.0 收银台微信扫码支付,需要用户输入密码方式支付成功,订单状态未变动

管理 管理 编辑 删除

1、文件:crmeb/services/wechat/Payment.php

直接复制方法,替换原来的:queryOrder方法

public static function queryOrder(string $outTradeNo, int $storeId = 0)
	{
		$instance = self::instance()->setStoreId($storeId);
		if ($instance->isV3PAy) {
			$response = $instance->payClient()->queryOrderByOutTradeNo($outTradeNo);
			self::logger('查询订单支付状态', compact('outTradeNo', 'storeId'), $response);
			return [
				'paid' => (($response['trade_state'] ?? '') === 'SUCCESS') ? 1 : 0,
				'out_trade_no' => $outTradeNo,
				'payInfo' => $response
			];
		}
		$response = $instance->order()->queryByOutTradeNumber($outTradeNo);
		$response = $response->toArray();

		self::logger('查询订单支付状态', compact('outTradeNo', 'storeId'), $response);

		if ($response['return_code'] === 'SUCCESS') {
			if ($response['result_code'] === 'SUCCESS' && $response['trade_state'] === 'SUCCESS') {
				return [
					'paid' => 1,
					'out_trade_no' => $outTradeNo,
					'payInfo' => $response
				];
			} else {
				return [
					'paid' => 0,
					'out_trade_no' => $outTradeNo,
					'payInfo' => $response
				];
			}
		} else {
			throw new PayException($response['return_msg']);
		}
	}

2、文件:crmeb/services/wechat/v3pay/PayClient.php

增加如下两行代码:

//订单查询
const API_QUERY_OUT_TRADE_NO_URL = 'v3/pay/transactions/out-trade-no/{out_trade_no}';
//订单查询-服务商模式
const API_QUERY_OUT_TRADE_NO_PARTNER_URL = 'v3/pay/partner/transactions/out-trade-no/{out_trade_no}';

aa39b202606060949443480.png

在本文件中,在增加如下方法:

/**
     * 通过商户订单号查询订单
     * @param string $outTradeNo
     * @return mixed
     * @throws InvalidArgumentException
     */
    public function queryOrderByOutTradeNo(string $outTradeNo)
    {
		if ($this->serviceConfig->isServicePay) {
			$subMchid = $this->subMchid ?? $this->serviceConfig->subMchid;
			if (empty($subMchid)) {
				throw new PayException('服务商模式下查询订单子商户号(sub_mchid)不能为空');
			}
			$url = $this->getApiUrl(self::API_QUERY_OUT_TRADE_NO_PARTNER_URL, ['out_trade_no'], [rawurlencode($outTradeNo)]);
			$url .= '?' . http_build_query([
				'sp_mchid' => $this->serviceConfig->mchId,
				'sub_mchid' => $subMchid,
			]);
		} else {
			$url = $this->getApiUrl(self::API_QUERY_OUT_TRADE_NO_URL, ['out_trade_no'], [rawurlencode($outTradeNo)]);
			$url .= '?' . http_build_query([
				'mchid' => $this->config->mchId,
			]);
		}
		$res = $this->request($url, 'GET', []);
		if (!$res) {
			throw new PayException('微信支付:查询订单失败');
		}
		if (isset($res['code'], $res['message'])) {
			throw new PayException($res['message']);
		}
		return $res;
	}

3、文件:app/controller/cashier/Common.php

按下图修改,下图是修改后代码截图:

e46d7202606060951139671.png

4、文件:app/jobs/user/MicroPayOrderJob.php

15aa4202606060951395681.png

5、重启swoole,然后在收银台重新扫码支付测试

{{voteData.voteSum}} 人已参与
支持
反对
请登录后查看

return; 最后编辑于2026-06-06 09:52:20

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}} 【已收集】
{{item.floor}}# 沙发 板凳 地板 {{item.floor}}# 【已收集】
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
分享
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
收起 展开更多
查看更多
打赏
已打赏¥{{reward_price}}
11
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服
CRMEB咨询热线 400-8888-794

扫码领取产品资料

功能清单
思维导图
安装教程
CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服