spring boot接入微信小程序支付流程

前言

正好最近项目中有需要做微信支付,跟着官方文档写下来坑还是踩了不少,于是写了这篇流程给自己长长记性,代码比较粗糙大家图一乐就好。

官方文档

官方接入指引--微信支付开发者文档


所用依赖

<dependency>
        <groupId>com.github.wechatpay-apiv3</groupId>
        <artifactId>wechatpay-apache-httpclient</artifactId>
        <version>0.2.3</version>
</dependency>
//用来生成随机字符串的工具类
<dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.7.15</version>
</dependency>

常量解释

以下常量需要通过注册商户号获得

  • APPID: 小程序ID,在微信开发平台里可以获得,格式为wx************
  • API_V3_KEY:在微信商户中心的账号中心里获得,用来解密微信回调的报文
  • MCH_SERIAL_NO:商户证书序列号,在微信商户中心的账号中心里获得。
  • MCH_ID:商户号,开通商户后那一串数字就是商户号了。
  • PRIVATE_KEY: 商户秘钥,商户在注册证书后从apiClient_key.pem文件中可以获得,商户秘钥是用来给交易签名的重要数据,请不要暴露给外部。

以下常量需要后端自行设置

  • PACKAGE:签名固定字符串,小程序支付固定值为"RSA"
  • NOTIFY_URL:回调地址,支付成功后微信回调报文的地址,请设置为外网可见。

流程说明

创建订单

平台用户购买平台商品,前端将动态生成的商品详情,商品价格以及订单号传入创单接口,后端接收参数,请求微信支付系统接口,获取接口返回的预支付ID。
以下是后端代码
注意,代码中WeXinPayConstant里存放的是常量值,rootNode中应填写自己项目对应的值

		//创建HttpClient
        PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(
                new ByteArrayInputStream(WeXinPayConstant.PRIVATE_KEY.getBytes("utf-8")));

        //使用自动更新的签名验证器,不需要传入证书
        AutoUpdateCertificatesVerifier verifier = new AutoUpdateCertificatesVerifier(
                new WechatPay2Credentials(WeXinPayConstant.MCH_ID, new PrivateKeySigner(WeXinPayConstant.MCH_SERIAL_NO, merchantPrivateKey)),
                WeXinPayConstant.API_V3_KEY.getBytes(StandardCharsets.UTF_8));

        CloseableHttpClient httpClient = Wech
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot接入微信支付需要进行以下几个步骤: 1. 引入依赖:在pom.xml文件中添加相关依赖,包括Spring Boot Web、微信支付SDK、发送http请求的依赖、模板引擎等。 2. 开通JSAPI支付:在开发环境中,需要进行JSAPI支付的开通。具体步骤可以参考微信支付的开发文档。 3. 生成二维码:根据开发模式,在商户后台系统中生成预付交易并生成二维码,或者由商户生成二维码并提供给用户扫描。 4. 用户支付:用户使用微信扫一扫功能扫描二维码,输入密码完成支付交易。 以上是使用Spring Boot接入微信支付的一般步骤,具体实现可以根据微信支付的开发文档进行配置和调试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【SpringBoot应用篇】接入微信支付](https://blog.csdn.net/qq_45297578/article/details/118115577)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [SpringBoot实现小程序微信支付(超级详细)](https://blog.csdn.net/qq_19007169/article/details/123628306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值