This commit is contained in:
felord.cn
2020-12-09 23:43:55 +08:00
parent c600a3b76e
commit 3c5dd6105d
12 changed files with 224 additions and 4 deletions

27
docs/guide.md Normal file
View File

@@ -0,0 +1,27 @@
## 缘由
大部分的 **Java Web** 项目都会使用 **Spring**,尤其是 **Spring Boot**。所以笔者在开发过程中萌生一种直接构建于Spring依赖之上的支付开发包的想法。由于支付宝已经提供了SDK所以只要将其初始化委托给 **Spring** 即可。剩下的硬骨头就是微信支付了。笔者最开始实现微信支付的时候刚好**微信支付V3**版本的 **API**公布了。相比较于 **V2**版本:
- [x] 遵循统一的 **Restful** 的设计风格
- [x] 使用 **JSON** 作为数据交互的格式不再使用XML
- [x] 使用基于非对称密钥的 **SHA256-RSA** 的数字签名算法,不再使用 **MD5****HMAC-SHA256**
- [x] 不再要求 **HTTPS** 客户端证书
- [x] 使用 **AES-256-GCM**,对回调中的关键信息进行加密保护
这种开发体验要远远好于之前的 **V2**因此选择了微信支付V3。
## 目前支持的渠道
- [x] **微信支付V3** 全量支持并支持多租户以同时满足移动应用App、公众号、小程序等支付场景
- [x] **支付宝** 集成SDK作简单适配
## 微信支付V3进度
- 微信支付营销-代金券 `WechatMarketingFavorApi` 100%
- 微信支付 支付功能-普通支付直连模式 `WechatDirectPayApi` 100%
## 采用技术
只依赖了 **Spring**已有的东西,做到了低依赖。
- **Spring**
- **Jackson**
- **Ali-pay-sdk**