微擎建议
< 建议列表 / 建议详情
建议信息
微擎系统支付bug 沟通中
2021-02-20 16:53:25
0
问题描述:

客户的微擎系统,对接了微信小程序,在使用退款的时候总是返回mch_id长度不正确。

最终发现在微擎的framework/model/refund.mod.php这个文件中

判断$pay_setting['wechat']['switch'] == PAYMENT_WECHAT_TYPE_SERVICE时

$pay_setting['wechat']['switch']的值为true,PAYMENT_WECHAT_TYPE_SERVICE的值为3


if ($pay_setting['wechat']['switch'] == PAYMENT_WECHAT_TYPE_SERVICE) {

//最终因为3==true导致进入这一块,把正确的mch_id替换成了一个空的mch_id

$refund_param['sub_mch_id'] = $pay_setting['wechat']['sub_mch_id'];

$refund_param['sub_appid'] = $account['key'];

$proxy_account = uni_fetch($pay_setting['wechat']['service']);

$refund_param['appid'] = $proxy_account['key'];

$refund_param['mch_id'] = $proxy_account['setting']['payment']['wechat_facilitator']['mchid'];

}

建议方案:

上面的问题之前没有碰到过,估计是升级导致的问题,希望能解决一下。

沟通评论

管理员将状态修改为{{statusText(item.status)}} {{item.system == 1?'管理员':'微擎用户'}} {{item.created_at}}

加载更多...