全部
常见问题
产品动态
精选推荐

关于用户充值微信平台发货信息无法自动录入

管理 管理 编辑 删除

【产品名称】:多店版

【产品版本】:v3.0

用户自提和桌码订单都是可以微信平台自动发货的,但是用户充值就没有不能自动发货。

进入源码看了之后才发现用户充值这里是有bug导致无法自动发货

经过排查找到原因

app/jobs/order/MiniOrderJob.php

doJob方法得到的$out_trade_no参数为空

自提、桌码、后台发货这个订单号都是有的,但是用户充值这个参数就是空,所以提交充值发货信息的时候导致微信平台返回结果:小程序订单处理失败,原因:微信接口异常:code = 268485195 msg = 微信支付单号形式下 transaction_id 字段必须设置

最后在 app/services/user/UserRechargeServices.php 中 rechargeSuccess 方法中找到trade_no订单号


从上图可以看到去数据库中拿到了订单但是订单中的trade_no字段为空,但是充值完成后这个字段是有值的,也不知道为什么,没有太多时间去深究,可能这个时候还没有存进去吧。

最后发现trade_no订单号在$other参数里面,所以修改很简单,只需要在 rechargeSuccess 方法中加入一句

$order['trade_no'] = $order['trade_no'] ?: $other['trade_no'];

即可,如下图:

请登录后查看

document 最后编辑于2024-07-22 17:42:22

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
473
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

document 作者
暂无简介

回答

4

发布

3

经验

116

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

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

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服