Spring Boot项目中集成微信支付v3

网友投稿 1782 2023-02-25

Spring Boot项目中集成微信支付v3

Spring Boot项目中集成微信支付v3

1. 前言

最近忙的一批,难得今天有喘气的机会就赶紧把最近在开发中的一些成果分享出来。前几日分享了自己写的一个微信支付V3的开发包payment-spring-boot-starter,就忙http://里偷闲完善了一波。期间给微信支付提交了6个BUG,跟微信支付的产品沟通了好几天。

项目地址: https://github.com/NotFound403/payment-spring-boot

别忘记给个Star啊。

那么都完善了哪些内容呢?胖哥来一一介绍。

2. Maven 中央仓库

是的,不用再自行编译打包部署了,我已经提交到Maven中央仓库了。最新的坐标是:

cn.felord

payment-spring-boot-starter

1.0.1.RELEASE

这才算有了点正经开源项目的样子。

3. 功能更加完善

在上次分享中仅仅实现了微信支付的代金券能力,这次加入了更多的微信支付能力:

微信支付V3的基础支付-直连模式优化

实现微信支付V3的合单支付。

同时自行实现了多商户、多APPID的多租户模式。后续微信支付分等功能也将接入进来。

4. 完善样例

大saQqf部分还是喜欢拿来就用,那么我编写了一个DEMO项目,比如微信支付回调的控制器代码

/**

* 微信支付成功回调.

*

* 无需开发者判断,只有扣款成功微信才会回调此接口

*

* @param wechatpaySerial the wechatpay serial

* @param wechatpaySignature the wechatpay signature

* @param wechatpayTimestamp the wechatpay timestamp

* @param wechatpayNonce the wechatpay nonce

* @param request the request

* @return the map

*/

@SneakyThrows

@PostMapping("/transaction")

public Map transactionCallback(

@RequestHeader("Wechatpay-Serial") String wechatpaySerial,

@RequestHeader("Wechatpay-Signature") String wechatpaySignature,

@RequestHeader("Wechatpay-Timestamp") String wechatpayTimestamp,

@RequestHeader("Wechatpay-Nonce") String wechatpayNonce,

HttpServletRequest request) {

String body = request.getReader().lines().collect(Collectors.joining());

// 对请求头进行验签 以确保是微信服务器的调用

ResponseSignVerifyParams params = new ResponseSignVerifyParams();

params.setWechatpaySerial(wechatpaySerial);

params.setWechatpaySignature(wechatpaySignature);

params.setWechatpayTimestamp(wechatpayTimestamp);

params.setWechatpayNonce(wechatpayNonce);

params.setBody(body);

return wechatApiProvider.callback(TENANT_ID).transactionCallback(params, data -> {

//TODO 对回调解析的结果进行消费

});

}

基本就是抄来就能用的。还有更多请参阅 payment-spring-boot-samples项目:

地址:https://github.com/NotFound403/payment-spring-boot-samples

5. 文档

写文档确实是一个枯燥的事情,参考了其它一些开源项目的样子弄了个像模像样的文档:

地址是:https://notfound403.github.io/payment-spring-boot

快速接入指南、javaDoc、踩坑分享都在文档里面了。如果有什么需要完善的地方可以提交ISSUE。

今天的分享就到这里,如果你在微信支付中遇到了什么问题可以留言提问,分享使我快乐。

以上就是Spring Boot项目中集成微信支付v3的详细内容,更多关于Spring Boot项目微信支付的资料请关注我们其它相关文章!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:jdk15的安装与配置全过程记录
下一篇:支付宝小程序引入插件(点击进入支付宝小程序)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~