参考:Java 微信支付 继承 WXPayConfig 类 getWXPayDomain() 方法 重写 遗漏
Java开发微信支付使用wxpay-sdk中遇到的坑(一)
MyWxPayConfig配置类代码,应该是extends继承,而不是implement实现
package com.tj.qywx.config;
import com.github.wxpay.sdk.IWXPayDomain;
import com.github.wxpay.sdk.WXPayConfig;
import com.tj.base.service.BaseNumvarService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import java.io.*;
public class MyWxPayConfig extends WXPayConfig {
@Autowired
private BaseNumvarService baseNumvarService;
private byte[] certData;
@Value("${cert.path}") //读取yaml文件里设置的地址信息
private String path;
public MyWxPayConfig() throws Exception {
String certPath = this.path;
File file = new File(certPath);
InputStream certStream = new FileInputStream(file);
this.certData = new byte[(int) file.length()];
certStream.read(this.certData);
certStream.close();
}
@Override
public String getAppID() {
return baseNumvarService.getCorpid();
}
@Override
public String getMchID() {
return baseNumvarService.getMchId();
}
@Override
public String getKey() {
return baseNumvarService.getAPIv2();
}
@Override
public InputStream getCertStream() {
ByteArrayInputStream certBis = new ByteArrayInputStream(this.certData);
return certBis;
}
@Override
public IWXPayDomain getWXPayDomain() {
return null;
}
}