无关风月
22 小时以前 5dc40fcd64b0513150f1d8335ab849e6d8cdc28e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package com.dsh.account.util.wx;
 
import org.springframework.stereotype.Component;
 
import javax.annotation.PostConstruct;
 
@Component
public class WxV3PayConfig {
    // 服务商AppId
 
    private String appIdValue = "wx41d32f362ba0f911";
    public static String APP_ID= "wx41d32f362ba0f911";
 
    // 服务商商户号
    private String mchIdValue= "1681873607";
    public static String Mch_ID= "1681873607";
 
    // 平台收款商户号 todo 待申请
    public static String smidVx= "2088330203191220";
    private  String smidVxValue= "2088330203191220";
 
    // 服务商商户私钥
    private String apiV3KeyValue= "1skiujh28376shznxmslwosiusytersq";
    public static String apiV3Key= "1skiujh28376shznxmslwosiusytersq";
    // 证书序列号
 
    private String mchSerialNoValue= "55714944F7A7E52526F708280B176DCC838F371A";
    public static String mchSerialNo= "55714944F7A7E52526F708280B176DCC838F371A";
 
    private String privateKeyPathValue= "/usr/playpai/server/wxV3/1681873607_20250424_cert/apiclient_key.pem";
    public static String privateKeyPath= "/usr/playpai/server/wxV3/1681873607_20250424_cert/apiclient_key.pem";
 
    // 如果需要静态访问,可以使用 @PostConstruct 初始化静态变量
    @PostConstruct
    public void init() {
        APP_ID = this.appIdValue;
        APP_ID = this.appIdValue;
        smidVx = this.smidVxValue;
        apiV3Key = this.apiV3KeyValue;
        mchSerialNo = this.mchSerialNoValue;
        privateKeyPath = this.privateKeyPathValue; // WXPaySignatureCertificateUtil 会用到这个路径
 
 
        // 可以在这里加一些非空检查
        if (APP_ID == null || Mch_ID == null || apiV3Key == null || mchSerialNo == null || privateKeyPath == null) {
             System.err.println("微信支付V3配置加载不完整,请检查配置文件!");
             // 在实际应用中,这里可能需要抛出异常或采取其他错误处理措施
        } else {
             System.out.println("微信支付V3配置加载完成。");
        }
    }
 
    // 注意: WXPaySignatureCertificateUtil 中的 getPrivateKey() 方法现在应该使用 WxV3PayConfig.privateKeyPath
    // 你需要稍微修改 WXPaySignatureCertificateUtil.getPrivateKey() 方法:
    /*
    public static PrivateKey getPrivateKey() {
        if (cachedPrivateKey != null) {
            return cachedPrivateKey;
        }
        try {
            String filePath = WxV3PayConfig.privateKeyPath; // 使用配置类中的路径
            // ... rest of the method ...
        } // ... catch blocks ...
    }
    */
}