fix: 更新微信支付配置

This commit is contained in:
邹景立 2025-03-03 21:03:00 +08:00
parent a0961f5ee3
commit 1b2afe18c1
2 changed files with 33 additions and 8 deletions

View File

@ -149,9 +149,11 @@ class Config extends Controller
$this->mch_ssl_cer = sysconf('wechat.mch_ssl_cer');
$this->mch_ssl_key = sysconf('wechat.mch_ssl_key');
$this->mch_ssl_p12 = sysconf('wechat.mch_ssl_p12');
$this->mch_ssl_pay = sysconf('wechat.mch_ssl_pay');
if (!$local->has($this->mch_ssl_cer, true)) $this->mch_ssl_cer = '';
if (!$local->has($this->mch_ssl_key, true)) $this->mch_ssl_key = '';
if (!$local->has($this->mch_ssl_p12, true)) $this->mch_ssl_p12 = '';
if (!$local->has($this->mch_ssl_pay, true)) $this->mch_ssl_pay = '';
$this->fetch();
} else {
$this->error('抱歉,数据提交地址错误!');
@ -172,10 +174,13 @@ class Config extends Controller
if ($wechat['mch_ssl_type'] === 'pem') {
WechatService::withWxpayCert(['mch_id' => $wechat['mch_id']]);
if (empty($wechat['mch_ssl_key']) || !$local->has($wechat['mch_ssl_key'], true)) {
$this->error('商户证书 KEY 不能为空!');
$this->error('商户证书密钥不能为空!');
}
if (empty($wechat['mch_ssl_cer']) || !$local->has($wechat['mch_ssl_cer'], true)) {
$this->error('商户证书 CERT 不能为空!');
$this->error('商户证书公钥不能为空!');
}
if (empty($wechat['mch_ssl_pay']) || !$local->has($wechat['mch_ssl_pay'], true)) {
$this->error('微信支付公钥不能为空!');
}
}
// P12 证书模式转 PEM 模式
@ -200,6 +205,8 @@ class Config extends Controller
'mch_id' => $wechat['mch_id'],
'mch_key' => $wechat['mch_key'],
'mch_v3_key' => $wechat['mch_v3_key'],
'ssl_pay_id' => $wechat['mch_v3_payid'] ?? '',
'ssl_pay_text' => $local->get($wechat['ssl_cer_pay'], true),
'ssl_key_text' => $local->get($wechat['mch_ssl_key'], true),
'ssl_cer_text' => $local->get($wechat['mch_ssl_cer'], true),
]);

View File

@ -21,7 +21,7 @@
<span class="help-block">微信商户账号需要在微信商户平台获取MCH_ID APPID 匹配</span>
</label>
<label class="layui-form-item relative block">
<label class="layui-form-item relative layui-hide">
<span class="help-label"><b>微信商户 V2 密钥</b>MCH_KEY</span>
<input name="wechat.mch_key" vali-name="微信商户V2密钥" placeholder="请输入微信商户V2密钥必填" maxlength="32" pattern=".{32}" required value="{:sysconf('wechat.mch_key')}" class="layui-input">
<span class="help-block">微信商户 V2 密钥,需要在微信商户平台操作设置操作密码并获取商户接口密钥</span>
@ -33,6 +33,12 @@
<span class="help-block">微信商户 V3 密钥,需要在微信商户平台操作设置操作密码并获取商户接口密钥</span>
</label>
<label class="layui-form-item relative block">
<span class="help-label"><b>微信商户 V3 支付证书ID</b>MCH_V3_PAYCERT_ID</span>
<input name="wechat.mch_v3_payid" vali-name="微信商户V3支付证书ID" placeholder="请输入微信商户V3支付证书ID必填" maxlength="100" value="{:sysconf('wechat.mch_v3_payid')}" class="layui-input">
<span class="help-block">微信商户 V3 支付证书ID需要在微信商户平台操作设置操作密码并获取商户接口密钥</span>
</label>
<div class="hr-line-dashed"></div>
<div class="layui-form-item">
@ -48,24 +54,36 @@
<div data-mch-type="none"></div>
<div data-mch-type="p12" class="layui-tab-item">
<input name="wechat.mch_ssl_p12" value="{$mch_ssl_p12|default=''}" type="hidden">
<button data-file="btn" data-uptype="local" data-safe="true" data-type="p12" data-field="wechat.mch_ssl_p12" type="button" class="layui-btn font-code layui-btn-primary">
<i class="layui-icon layui-icon-vercode"></i> 上传 P12 证书
<button data-file="btn" data-uptype="local" data-safe="true" data-type="p12" data-field="wechat.mch_ssl_p12" type="button" class="layui-btn font-code layui-btn-primary margin-right-10">
<i class="layui-icon layui-icon-vercode"></i> 上传商户P12证书
</button>
<input type="hidden" name="wechat.mch_ssl_pay" value="{$mch_ssl_pay|default=''}">
<button data-file="btn" data-uptype="local" data-safe="true" data-type="pem" data-field="wechat.mch_ssl_pay" type="button" class="layui-btn font-code layui-btn-primary margin-right-10">
<i class="layui-icon layui-icon-vercode"></i> 上传微信支付公钥
</button>
</div>
<div data-mch-type="pem" class="layui-tab-item">
<input type="hidden" name="wechat.mch_ssl_key" value="{$mch_ssl_key|default=''}">
<button data-file="btn" data-uptype="local" data-safe="true" data-type="pem" data-field="wechat.mch_ssl_key" type="button" class="layui-btn font-code layui-btn-primary margin-right-10">
<i class="layui-icon layui-icon-vercode"></i> 上传 KEY 证书
<i class="layui-icon layui-icon-vercode"></i> 上传商户证书密钥
</button>
<input type="hidden" name="wechat.mch_ssl_cer" value="{$mch_ssl_cer|default=''}">
<button data-file="btn" data-uptype="local" data-safe="true" data-type="pem" data-field="wechat.mch_ssl_cer" type="button" class="layui-btn font-code layui-btn-primary">
<i class="layui-icon layui-icon-vercode"></i> 上传 CERT 证书
<button data-file="btn" data-uptype="local" data-safe="true" data-type="pem" data-field="wechat.mch_ssl_cer" type="button" class="layui-btn font-code layui-btn-primary margin-right-10">
<i class="layui-icon layui-icon-vercode"></i> 上传商户证书公钥
</button>
<input type="hidden" name="wechat.mch_ssl_pay" value="{$mch_ssl_pay|default=''}">
<button data-file="btn" data-uptype="local" data-safe="true" data-type="pem" data-field="wechat.mch_ssl_pay" type="button" class="layui-btn font-code layui-btn-primary margin-right-10">
<i class="layui-icon layui-icon-vercode"></i> 上传微信支付公钥
</button>
</div>
</div>
</div>
</div>
<!--{if auth('payment_save')}-->
<div class="hr-line-dashed margin-top-30"></div>
<div class="layui-form-item text-center">