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_cer = sysconf('wechat.mch_ssl_cer');
$this->mch_ssl_key = sysconf('wechat.mch_ssl_key'); $this->mch_ssl_key = sysconf('wechat.mch_ssl_key');
$this->mch_ssl_p12 = sysconf('wechat.mch_ssl_p12'); $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_cer, true)) $this->mch_ssl_cer = '';
if (!$local->has($this->mch_ssl_key, true)) $this->mch_ssl_key = ''; 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_p12, true)) $this->mch_ssl_p12 = '';
if (!$local->has($this->mch_ssl_pay, true)) $this->mch_ssl_pay = '';
$this->fetch(); $this->fetch();
} else { } else {
$this->error('抱歉,数据提交地址错误!'); $this->error('抱歉,数据提交地址错误!');
@ -172,10 +174,13 @@ class Config extends Controller
if ($wechat['mch_ssl_type'] === 'pem') { if ($wechat['mch_ssl_type'] === 'pem') {
WechatService::withWxpayCert(['mch_id' => $wechat['mch_id']]); WechatService::withWxpayCert(['mch_id' => $wechat['mch_id']]);
if (empty($wechat['mch_ssl_key']) || !$local->has($wechat['mch_ssl_key'], true)) { 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)) { 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 模式 // P12 证书模式转 PEM 模式
@ -200,6 +205,8 @@ class Config extends Controller
'mch_id' => $wechat['mch_id'], 'mch_id' => $wechat['mch_id'],
'mch_key' => $wechat['mch_key'], 'mch_key' => $wechat['mch_key'],
'mch_v3_key' => $wechat['mch_v3_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_key_text' => $local->get($wechat['mch_ssl_key'], true),
'ssl_cer_text' => $local->get($wechat['mch_ssl_cer'], 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> <span class="help-block">微信商户账号需要在微信商户平台获取MCH_ID APPID 匹配</span>
</label> </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> <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"> <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> <span class="help-block">微信商户 V2 密钥,需要在微信商户平台操作设置操作密码并获取商户接口密钥</span>
@ -33,6 +33,12 @@
<span class="help-block">微信商户 V3 密钥,需要在微信商户平台操作设置操作密码并获取商户接口密钥</span> <span class="help-block">微信商户 V3 密钥,需要在微信商户平台操作设置操作密码并获取商户接口密钥</span>
</label> </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="hr-line-dashed"></div>
<div class="layui-form-item"> <div class="layui-form-item">
@ -48,24 +54,36 @@
<div data-mch-type="none"></div> <div data-mch-type="none"></div>
<div data-mch-type="p12" class="layui-tab-item"> <div data-mch-type="p12" class="layui-tab-item">
<input name="wechat.mch_ssl_p12" value="{$mch_ssl_p12|default=''}" type="hidden"> <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"> <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 证书 <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> </button>
</div> </div>
<div data-mch-type="pem" class="layui-tab-item"> <div data-mch-type="pem" class="layui-tab-item">
<input type="hidden" name="wechat.mch_ssl_key" value="{$mch_ssl_key|default=''}"> <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"> <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> </button>
<input type="hidden" name="wechat.mch_ssl_cer" value="{$mch_ssl_cer|default=''}"> <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"> <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> 上传 CERT 证书 <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> </button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!--{if auth('payment_save')}--> <!--{if auth('payment_save')}-->
<div class="hr-line-dashed margin-top-30"></div> <div class="hr-line-dashed margin-top-30"></div>
<div class="layui-form-item text-center"> <div class="layui-form-item text-center">