Java如何实现微信支付v3的支付回调
使用微信支付的v3 API进行支付的相关功能的开发
以前都是自己手搓api的, 现在有轮子了, 尝试记录一下如何使用
我的做法是首先打开v3的代码仓库, 直接进去看看他们的文档, 可以看到这么一坨东西

前置条件
1. 开发前准备

2. 先引入maven
<dependency> <groupId>com.github.wechatpay-apiv3</groupId> <artifactId>wechatpay-java</artifactId> <version>0.2.6</version> </dependency>
3. 初始化商户配置
Config config = new RSAAutoCertificateConfig.Builder()
.merchantId(wechatConstant.spMchId)
.privateKeyFromPath(wechatConstant.privateKeyPath)
.merchantSerialNumber(wechatConstant.merchantSerialNumber)
.apiV3Key(wechatConstant.apiV3key)
.build();实现代码
先从请求头中获取构建RequestParam需要的参数
// 从请求头中获取信息
String timestamp = request.getHeader("Wechatpay-Timestamp");
String nonce = request.getHeader("Wechatpay-Nonce");
String signature = request.getHeader("Wechatpay-Signature");
String singType = request.getHeader("Wechatpay-Signature-Type");
String wechatPayCertificateSerialNumber = request.getHeader("Wechatpay-Serial");初始化解析器
// 初始化解析器 NotificationParser
NotificationParser parser = new NotificationParser((NotificationConfig) config);进行验签, 解密并转换成Transaction, 验签解密都是用API干了, 不用自己手动整了
import com.wechat.pay.java.service.partnerpayments.jsapi.model // 这个Transaction是微信包里面的 Transaction decryptObject = parser.parse(requestParam, Transaction.class);
成功后需要对微信进行应答
- 接收成功:HTTP应答状态码需返回200或204,无需返回应答报文。
- 接收失败:HTTP应答状态码需返回5XX或4XX,同时需返回应答报文
{
"code": "FAIL",
"message": "失败"
}完成
总结
到此这篇关于Java如何实现微信支付v3的支付回调的文章就介绍到这了,更多相关Java微信支付v3支付回调内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring中ApplicationEventPublisher发布订阅模式的实现
本文主要介绍了Spring中ApplicationEventPublisher发布订阅模式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07
Java SpringMVC实现PC端网页微信扫码支付(完整版)
这篇文章主要介绍了Java SpringMVC实现PC端网页微信扫码支付(完整版)的相关资料,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下2016-11-11
Java中关键字final finally finalize的区别介绍
这篇文章主要给大家分享的是 Java中final,finally,finalize 到底有什么区别,文章围绕final,finally,finalize的相关资料展开详细内容,具有一定的参考的价值,需要的朋友可以参考一下2022-04-04
Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页
本文主要介绍了Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-10-10
Springboot使用sharedingjdbc实现分库分表
这篇文章主要介绍了Springboot使用sharedingjdbc实现分库分表,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-07-07


最新评论