Files
payment-spring-boot/docs/README.md
2024-04-29 13:41:07 +08:00

2.1 KiB
Raw Blame History

前言

大部分的 Java Web 项目都会使用 Spring,尤其是 Spring Boot。所以笔者在开发过程中萌生一种直接构建于Spring依赖之上的支付开发包的想法。由于支付宝已经提供了SDK所以只要将其初始化委托给 Spring 即可。剩下的硬骨头就是微信支付了。

微信支付V3的优势

笔者最开始实现微信支付的时候刚好微信支付V3版本的 API公布了。相比较于 V2版本:

  • 遵循统一的 Restful 的设计风格
  • 使用 JSON 作为数据交互的格式不再使用XML
  • 使用基于非对称密钥的 SHA256-RSA 的数字签名算法,不再使用 MD5HMAC-SHA256
  • 不再要求 HTTPS 客户端证书
  • 使用 AES-256-GCM,对回调中的关键信息进行加密保护

这种开发体验要远远好于之前的 V2因此选择了微信支付V3。

目前支持的渠道

  • 微信支付V3 全量支持并支持多租户以同时满足移动应用App、公众号、小程序等支付场景
  • 支付宝 集成SDK作简单适配

功能

  • 实现微信支付多商户
  • 集成支付宝SDK、快速接入Spring Boot
  • 实现微信支付V3 基础支付
  • 实现微信支付V3 合单支付
  • 实现微信支付V3 代金券
  • 实现微信支付V3 微信支付分
  • 实现微信支付V3 先享卡
  • 实现微信支付V3 商家券
  • 实现微信支付V3 批量转账到零钱

Maven 中央仓库坐标

推荐使用最新版本

<dependency>
    <groupId>cn.felord</groupId>
    <artifactId>payment-spring-boot-starter</artifactId>
    <version>1.0.20.RELEASE</version>
</dependency>

采用技术

只依赖了 Spring已有的东西,做到了低依赖。

  • Spring
  • Jackson
  • Ali-pay-sdk

开源协议

本项目采用Apache2.0开源协议。

免责声明

本项目涉及到资金交易开发,开发者需要经严格测试后方能用于生产环境,本项目不对使用者的行为负责。