一、引入jar包
pom.xml引入jar包.
<!--小程序支付 v3-->
<dependency>
<groupId>com.github.wechatpay-apiv3</groupId>
<artifactId>wechatpay-java</artifactId>
<version>0.2.14</version>
</dependency>
二、配置application.yml
#微信支付配置
wx:
pay:
#应用id(小程序id)
appId: 'wxXXXXXXXXXXXXXXXX'
#商户号
merchantId: 'XXXXXXXXXX'
#商户API公钥ID
publicKeyId: 'PUB_KEY_ID_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
#商户API公钥
publicKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
#商户API私钥
privateKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
#商户证书序列号
merchantSerialNumber: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
#商户APIv3密钥
apiV3Key: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
#支付通知地址
notifyUrl: 'https://xxxx.xxx/pay/wxPay/end/IndentPayment'
#退款通知地址
refundNotifyUrl: 'https://xxxx.xxx/pay/wxPay/refund/black'
二.初始化支付环境
1.WxPayConfig.java
代码如下(示例):
import com.wechat.pay.java.core.RSAPublicKeyConfig;
import com.wechat.pay.java.service.payments.jsapi.JsapiServiceExtension;
import com.wechat.pay.java.service.refund.RefundService;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Data
@Slf4j
@Configuration
@ConfigurationProperties(prefix = "wx.pay")
public class WxPayConfig {
/**
* 应用id
*/
private String appId;
/**
* 商户APIv3密钥
*/
private String apiV3Key;
/**
* 支付通知地址
*/
private String notifyUrl;
/**
* 退款通知地址
*/
private String refundNotifyUrl;
/**
* 商户号
*/
private String merchantId;
/**
* 商户API公钥
*/
private String publicKey;
/**
* 商户API公钥ID
*/
private String publicKeyId;
/**
* 商户API私钥
*/
private String privateKey;
/**
* 商户证书序列号
*/
private String merchantSerialNumber;
/**
* RSA配置
*/
private RSAPublicKeyConfig config;
/**
* JSAPI支付
*/
private JsapiServiceExtension jsapiServiceExtension;
/**
* 退款
*/
private RefundService refundService;
/**
* 初始化配置
*/
@Bean
public void initWxPayConfig() {
this.config = buildRSAAutoCertificateConfig();
this.jsapiServiceExtension = buildJsapiServiceExtension(config);
this.refundService = buildRefundService(config);
}
/**
* 构建并使用自动更新平台证书的RSA配置,一个商户号只能初始化一个配置,否则会因为重复的下载任务报错
* @return
*/
private RSAPublicKeyConfig buildRSAAutoCertificateConfig() {
return new RSAPublicKeyConfig.Builder()
.merchantId(merchantId)
.publicKeyId(publicKeyId)
.publicKey(publicKey)
.privateKey(privateKey)
.merchantSerialNumber(merchantSerialNumber)
.apiV3Key(apiV3Key)
.build();
}
/**
* 构建JSAPI
* @param config
* @return
*/
private JsapiServiceExtension buildJsapiServiceExtension

最低0.47元/天 解锁文章
1135

被折叠的 条评论
为什么被折叠?



