SpringBoot项⽬中集成⽀付v3
1. 前⾔
最近忙的⼀批,难得今天有喘⽓的机会就赶紧把最近在开发中的⼀些成果分享出来。前⼏⽇分享了⾃⼰写的⼀个⽀付V3的开发包payment-spring-boot-starter,就忙⾥偷闲完善了⼀波。期间给⽀付提交了6个BUG,跟⽀付的产品沟通了好⼏天。
别忘记给个Star啊。
那么都完善了哪些内容呢?胖哥来⼀⼀介绍。
2. Maven 中央仓库
是的,不⽤再⾃⾏编译打包部署了,我已经提交到Maven中央仓库了。最新的坐标是:
<dependency>
<groupId>cn.felord</groupId>
<artifactId>payment-spring-boot-starter</artifactId>
<version>1.0.1.RELEASE</version>
</dependency>
这才算有了点正经开源项⽬的样⼦。
3. 功能更加完善
在上次分享中仅仅实现了⽀付的代⾦券能⼒,这次加⼊了更多的⽀付能⼒:
⽀付V3的基础⽀付-直连模式优化。
实现⽀付V3的合单⽀付。
同时⾃⾏实现了多商户、多APPID的多租户模式。后续⽀付分等功能也将接⼊进来。
4. 完善样例
⼤部分还是喜欢拿来就⽤,那么我编写了⼀个DEMO项⽬,⽐如⽀付回调的控制器代码:
/**
* ⽀付成功回调.
* <p>
* ⽆需开发者判断,只有扣款成功才会回调此接⼝
*
* @param wechatpaySerial the wechatpay serial
* @param wechatpaySignature the wechatpay signature
springboot原理图解* @param wechatpayTimestamp the wechatpay timestamp
* @param wechatpayNonce the wechatpay nonce
* @param request the request
* @return the map
*/
@SneakyThrows
@PostMapping("/transaction")
public Map<String, ?> 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 = Reader().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项⽬:
5. ⽂档
写⽂档确实是⼀个枯燥的事情,参考了其它⼀些开源项⽬的样⼦弄了个像模像样的⽂档:
快速接⼊指南、JavaDoc、踩坑分享都在⽂档⾥⾯了。如果有什么需要完善的地⽅可以提交ISSUE。
今天的分享就到这⾥,如果你在⽀付中遇到了什么问题可以留⾔提问,分享使我快乐。
以上就是Spring Boot项⽬中集成⽀付v3的详细内容,更多关于Spring Boot项⽬⽀付的资料请关注其它相关⽂章!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论