SpringBoot整合微信支付(后端篇)

一、引入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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值