改造支付证书管理模块

This commit is contained in:
2025-07-26 23:29:40 +08:00
parent f6eadfc9f8
commit 96caafaa4f
4 changed files with 323 additions and 7 deletions

View File

@@ -23,7 +23,11 @@ echo "================================"
MERCHANT_ID="1723321338"
API_V3_KEY="0kF5OlPr482EZwtn9zGufUcqa7ovgxRL"
MERCHANT_SERIAL_NUMBER="2B933F7C35014A1C363642623E4A62364B34C4EB"
PRIVATE_KEY_PATH="src/main/resources/certs/dev/wechat/apiclient_key.pem"
# 检测脚本运行位置并设置正确的路径
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
PRIVATE_KEY_PATH="$PROJECT_ROOT/src/main/resources/certs/dev/wechat/apiclient_key.pem"
log_info "使用以下配置:"
log_info "商户号: $MERCHANT_ID"
@@ -33,6 +37,8 @@ log_info "私钥路径: $PRIVATE_KEY_PATH"
# 检查私钥文件
if [[ ! -f "$PRIVATE_KEY_PATH" ]]; then
log_warning "私钥文件不存在: $PRIVATE_KEY_PATH"
log_info "项目根目录: $PROJECT_ROOT"
log_info "脚本目录: $SCRIPT_DIR"
exit 1
fi
@@ -49,17 +55,17 @@ public class WechatAutoTest {
String privateKeyPath = args[1];
String serialNumber = args[2];
String apiV3Key = args[3];
try {
System.out.println("🔧 正在创建 RSAAutoCertificateConfig...");
Config config = new RSAAutoCertificateConfig.Builder()
.merchantId(merchantId)
.privateKeyFromPath(privateKeyPath)
.merchantSerialNumber(serialNumber)
.apiV3Key(apiV3Key)
.build();
System.out.println("✅ 微信支付证书配置成功!");
System.out.println("");
System.out.println("📋 配置信息:");
@@ -73,7 +79,7 @@ public class WechatAutoTest {
System.out.println("🚫 无需手动下载 wechatpay_cert.pem");
System.out.println("");
System.out.println("✨ 您的微信支付证书配置已完成!");
} catch (Exception e) {
System.err.println("❌ 证书配置失败: " + e.getMessage());
System.err.println("");
@@ -87,7 +93,7 @@ public class WechatAutoTest {
System.err.println("1. 登录微信商户平台 -> 账户中心 -> API安全");
System.err.println("2. 确认已申请使用微信支付公钥");
System.err.println("3. 检查APIv3密钥和证书序列号");
e.printStackTrace();
System.exit(1);
}
@@ -97,12 +103,15 @@ EOF
log_info "创建测试程序..."
# 切换到项目根目录进行编译
cd "$PROJECT_ROOT"
# 构建classpath
CLASSPATH="target/classes"
if [[ -f "pom.xml" ]]; then
log_info "编译项目..."
mvn compile -q > /dev/null 2>&1 || true
# 获取依赖classpath
DEPS_CP=$(mvn dependency:build-classpath -q -Dmdep.outputFile=/dev/stdout 2>/dev/null || echo "")
if [[ -n "$DEPS_CP" ]]; then