微信小程序完整实现微信支付功能(SpringBoot和小程序)

本文详述了如何使用SpringBoot后端和微信小程序实现完整的微信支付功能。首先介绍了实现支付所需的条件,包括企业级小程序、微信支付商户号等。接着,详细讲解了后端的配置,包括证书放置、微信支付依赖引入及Java代码实现。在前端部分,阐述了小程序如何向后端发送支付请求并展示支付界面。虽然仅实现了支付功能,但整个过程对于初学者极具参考价值。
摘要由CSDN通过智能技术生成

1.前言

不久前给公司实现支付功能,折腾了一阵子,终于实现了,微信支付对于小白来说真的很困难,特别是没有接触过企业级别开发的大学生更不用说,因此尝试写一篇我如何从小白实现微信小程序支付功能的吧,使用的后端是SpringBoot

2.准备工作

首先,要实现支付功能的条件:

(1)小程序是企业级别

(2)拥有微信支付商户号

(3)小程序绑定商户号

(4)拥有域名,并且有SSL证书(也就是HTTPS)

满足以上条件即可开始配置支付功能,这里我实现的是JSAPI支付(也就是小程序直接提供数字金额支付),还有Native支付(也就是弹出二维码进行扫码支付)

3.后端实现

先讲后端,因为后端需要准备的东西比较多,后端差不多就如下图三个类

不过要先准备如下东西,这些都需要去微信支付网页登录得到如下图登录,具体去看其他教程

申请证书,然后可以和我一样把证书放在项目的resources文件夹,如下

导入微信支付的pom.xml相关包依赖


        <!-- 微信支付坐标 start-->
        <dependency>
            <groupId>com.github.binarywang</groupId>
            <artifactId>weixin-java-pay</artifactId>
            <version>4.2.5.B</version>
        </dependency>
        <!-- 退款用 -->
        <dependency>
            <groupId>org.jodd</groupId>
            <artifactId>jodd-http</artifactId>
            <version>6.0.8</version>
        </dependency>
        <!-- 微信支付坐标 end-->

微信支付在yml文件的相关配置信息,没有的信息就登录商户号申请得到,接下来如果你是小白的话建议直接复制粘贴我的代码。

# 微信pay相关
wxpay:
  # appId
  appId: wx23d3df1350a9xxxx #小程序appId
  # 商户id
  mchId:  164919xxxx #商户Id
  # 商户秘钥
  mchKey: xxxxxxxxxxx #商户密钥,登录商户号自定义
  # p12证书文件的绝对路径或者以classpath:开头的类路径.
  keyPath: classpath:/wxpay_cert/apiclient_cert.p12 #证书路径,我放在项目resources目录下
  privateKeyPath: classpath:/wxpay_cert/apiclient_key.pem #这个也是和上面一样
  privateCertPath: classpath:/wxpay_cert/apiclient_cert.pem #这个也是一样
  # 微信支付的异步通知接口
  notifyUrl: https://www.xxxx.com/wechat/pay/notify #这个是回调函数就是前端要来访问支付的路由,可以自己写,域名写自己的
  # 退款回调地址
  refundNotifyUrl: https://www.xxxx.com/wechat/pay/refund_notify #退款的也一样

接下来就是获取上面配置信息的Java代码,WechatPayConfig类,注意这里变量名和yml文件的变量名要一样

微信小程序支付功能是一种在微信小程序实现在线支付功能,可以方便用户完成购买商品或服务的支付。在实现功能时,可以使用SpringBoot作为后端开发框架,下面是一个简单的示例代码: 后端代码: 1. 创建一个支付接口的Controller,如PayController。 2. 在PayController中定义一个接收前端请求的接口,如/pay。 3. 在该接口的实现中,首先获取前端传递的支付参数,包括商品名称、价格、订单号等。 4. 调用微信支付的API接口,生成一个预支付订单。 5. 将预支付订单的信息返回给前端。 6. 前端收到预支付订单信息后,调用微信支付的API接口进行支付。 7. 微信支付成功后,微信会异步通知后端支付状态的回调接口。 8. 后端接收到微信支付的回调通知后,更新订单的支付状态。 示例代码如下: ```java @RestController public class PayController { @PostMapping("/pay") public String pay(@RequestParam String productName, @RequestParam float price, @RequestParam String orderId) { // 1. 获取支付参数 // 2. 调用微信支付的API,生成预支付订单 // 3. 返回预支付订单信息给前端 } @PostMapping("/wxpay/callback") public void wxPayCallback(@RequestParam String orderId) { // 1. 更新订单的支付状态 } } ``` 以上是一个简单的微信小程序支付功能SpringBoot后端代码示例,具体支付流程和参数的处理可以根据具体需求进行调整和完善。同时需要注意对支付过程中的异常情况进行处理,如用户取消支付支付超时等情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓小邰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值