初始化参数`certs`键值对参数校验时为什么不能含商户证书序列号`merchantCertificateSerial`
guoyuanchang opened this issue · 4 comments
guoyuanchang commented
运行环境
- OS:centos
- PHP:7.4
- wechatpay-php: src/ClientJsonTrait.php:222
if (array_key_exists($config['serial'], $config['certs'])) {
throw new Exception\InvalidArgumentException(sprintf(
Exception\ERR_INIT_CERTS_EXCLUDE_MCHSERIAL, implode(',', array_keys($config['certs'])), $config['serial']
));
}
这里应该是写反了,导致参数校验不通过。应该在前面加上 !。
描述你的问题现象
No response
TheNorthMemory commented
参考 #82 ,是你给错「平台证书」键值对了,SDK强校验了这种逻辑错误。
guoyuanchang commented
TheNorthMemory commented
composer v3-certificates -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}
先用composer 命令下载平台证书,用法help composer v3-certificates
TheNorthMemory commented
ℹ️ 你需要先手工 下载平台证书 才能使用 SDK 发起请求。