聚合支付微服务版(微信篇)
序
之前分享过微信支付的实现,当时想的是做公司级的聚合支付。那时候还没有微服务,我是单独做的一套springBoot的支付,实现了扫码支付、微信内支付。业务与支付的基本流程可以串起来了,但是当时我是负责项目管控与攻坚的,平台这一块是另外一个比我资历更老一点的同事负责(其实我觉得并不比我强,是不是有点太嚣张了,抱歉)。一直被按在项目上摩擦,做好的支付平台也交出去给另外一个同事实现了,其实后面在使用的过程中,呵呵。
一、升级说明
1、本次我是有将上次的支付做了小改动放到现有的微服里面,作为一个第三方服务模块,负责支付服务。
2、将业务与支付进一步解耦,支付的相关页面放到支付服务里,从业务系统进入到收银台后,里面的支付弯弯绕绕就与业务没有半毛钱关系,除了取消、退出、支付完成、支付成功后跳回业务系统。
3、支付平台内部引入WS信息推送,配合我微服务模块里的另一个第三方服务模块实现支付后前端页面自动跳转。
二、支付流程说明
业务系统生成自有的支付订单后,先请求支付服务平台,生成初始化的支付数据入库,例如:
这个表是支付平台用于记录微信支付信息的。
进入收银台之前,业务系统先调用一个初始化预支付信息,里面pay_no、金额、名称等信息,
收银台:目前这里先只有微信支付,其他类型的聚合支付也采用这个大致流程处理。
点击确认支付,调用:
调用成功后实际就是一个链接,url就是payNo、还有一个支付配置信息获取、WS连接信息获取接口也是需要调用的,支付配置信息表设计可以看下,数据我就不给看了:
公司id、项目id这是业务数据的字段,因为是聚合支付,所以有公司id,然后每个公司可能有多个项目要用到支付,所以有个项目id。
appid、appsecret是微信或支付宝提供。
wap名称、wap地址url等,都是用与支付界面上的展示的,避免别人每个公司想看到自己的相关信息,不然别人觉得支付是别人的。
WS连接信息获取:是用于跟后端做推送信息接收的,前端接收到信息后实现自动跳转,体验会好点。之前我是人为手动点击已付款的,现在没这个必要了。当然这个已付款点击是一个补偿机制,我这里是利用的websocket,如果用收费的个推、极光等都是可以的。
三、支付平台内效果展示
四、其他说明
因为涉及到公司机密,所以这里面的东西我也不能讲太多。
1、关于公众号平台、商户平台的配置,官方的文档讲的很清楚,我这里也不能上图大家看。直接对支付应该是都没有什么问题的,如果有博友也是我这个思路做聚合支付,遇到问题可以私下交流。
2、自建聚合支付平台的前端、后端代码也是不能分享给大家看的,抱歉。我这里目前用到的就是H5生成二维码扫码支付、微信内唤起微信支付。有遇到问题的也可以私下留下联系方式,得空了我回联。
上一次分享springboot版的支付有流程图,也有部分代码,大家可以翻翻,这次微服务版的流程图我懒得画了。
聚合支付微服务版(微信篇)相关推荐
- 简书android微信抢红包,GO从0到1实战微服务版抢红包系统
GO从0到1实战微服务版抢红包系统 想必大家对"双十一"."6.18"秒杀活动有高并发性能的直观感受, "抢红包" 在高并发上比" ...
- 架构师图谱·微服务消息队列篇
1. 概述 "架构师图谱"是一个很宏大的命题,特别是优秀的架构师自身也是"由点到面再到图",一点点成长积累起来,尝试写这系列文章的目的更多的是结合自身的一些经验 ...
- 微服务实现不同登陆_微服务网关——实现篇
在<微服务网关--需求篇 >中,我们讨论了微服务网关的需求:而在<微服务网关--设计篇 >中,我们讨论了微服务网关的设计.本文将对微服务网关进行实现. 对于网关的开发,完全自研 ...
- 若依微服务版的快速构建
若依微服务版的快速构建 目录 若依微服务版的快速构建 一.若依框架的介绍和所需要环境 系统需求 技术选型 内置功能 前期准备 二.下载若依微服务版本的代码 三.实现 初始化数据库 配置nacos 修改 ...
- 五、微服务版单点登陆系统(SSO)
微服务版单点登陆系统(SSO)实践 文章目录 微服务版单点登陆系统(SSO)实践 一.单点登陆系统简介 1. 背景分析 2. 单点登陆系统概述 3. 单点登陆系统解决方案设计 二.单点登陆系统初步设计 ...
- SpringCloud无介绍快使用,子module提供者支付微服务业务开发(六)
SpringCloud无介绍快使用,子module提供者支付微服务业务开发(六) 问题背景 项目搭建 Lyric: 一只灰狼问候我谁是神枪手 问题背景 从零开始学springcloud微服务项目 注意 ...
- 若依微服务版前端怎样在接口返回500时去掉一直弹窗提示服务未找到
场景 若依微服务版手把手教你本地搭建环境并运行前后端项目: 若依微服务版手把手教你本地搭建环境并运行前后端项目_BADAO_LIUMANG_QIZHI的博客-CSDN博客_若依微服务 在上面的基础上, ...
- 若依前后端分离/微服务版怎样构造免密链接实现其他系统免登录访问
场景 若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目_BADAO_LIUMANG_QIZHI的博客-CSDN博客 上面在搭建起来前后端分离版的项目 ...
- SpringCloud(若依微服务版)读取Nacos中的配置以及多个服务共享Nacos配置的使用
场景 若依微服务版手把手教你本地搭建环境并运行前后端项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303 在上 ...
最新文章
- 自我监督学习:AI技术的未来发展方向
- python简单编程语言_功能强大而又简单易学的编程语言Python
- grub shell 错误_GRUB启动故障排除和内核编译
- 架构师之路 — 软件架构 — 应用架构设计模式
- 数据库副本的自动种子设定(自增长)
- java+JBroFuzz对restful api进行fuzz测试
- MaskRCNN路标:TensorFlow版本用于抠图
- 风控人最容易被误解的一个风险管理板块
- python config模块_用Python内置模块处理ini配置文件
- 这是一位拿到BAT大厂offer应届生的年终总结,那么你的呢?...
- [转]技术路线的选择重要但不具有决定性
- python如何读取csv文件中的某一张表_python 读取csv文件中某一段月份中的数据?...
- pip卸载旧版本后安装新版本(我是Python3)
- 三合一收款码生成源码(非调用接口)
- 微信小程序5-真机测试
- RWD----响应式网页设计
- 短视频app源码开发,音视频合成的实现
- chrome浏览器崩溃,设置也崩溃的解决办法
- 抖音号永久封禁了怎么解封
- qemu里pci设备的热插拔