1. 项目目标
支付中心架构将各类业务的公共交易、支付、财务等都存入支付中心,主要解决以下三个主要问题:
建立统一的订单、支付、财务基础体系,抽象封装通用处理逻辑,形成统一的基础服务,降低业务接入成本和重复研发成本;
构建安全、稳定、可扩展的体系,为业务快速发展和创新需求提供基础支撑,解决业务“快”与支付“稳”的矛盾;
积累核心交易数据,为应用方、物业公司、用户提供数据支撑。
2.具体调用过程
在目标的指导下我向集财、O2O、飞飞易三个项目组的相关开发人员咨询了业务逻辑,然后结合我们自身的业务场景对支付中心的调用流程以及两处注意事项进行了调整。
各系统交互过程如下:
物业公司开通第三方支付通道商户,获取第三方支付参数
物业公司向支付中心提供第三方支付参数,开通商户账号,开通支付通道,获取商户ID和支付ID。
物业公司向应用端提供商户ID和支付ID。
至此,物业公司注册流程完成。接下来是付款流程。
应用程序使用物业公司提供的商户ID和支付ID,以及所需的支付订单号、支付金额、调用方式,发送给支付中心。
支付中心将获取的标识符解析为相应的参数,整合应用侧的请求参数,向第三方支付发起支付,并获取支付发起结果。
支付中心会整合发起结果并直接返回给应用,请注意这只是请求是否发起成功的通知,并非最终支付结果的通知。
第三方支付服务调用用户支付或者跳转收银页面,或者小程序调用用户支付服务进行支付,第三方支付服务获取用户支付结果后回调通知支付中心。
支付中心处理数据并向应用程序发送回调通知。
应用程序处理订单信息,开始订单,并通知用户。
注意:
订单号的问题是因为:有些应用系统是使用订单号上传,而有些应用系统是使用自己系统中的流水号上传并发起支付。所以这里的设计如下: