特来电支付中心总体介绍


前言

随着互联网支付越来越快捷,越来越普及,尤其是移动互联网的兴起,越来越多的C端应用有了在线支付的需求,第三方支付平台也犹如雨后春笋般滋生一片,目前主流的有支付宝、微信支付、银联在线、百度钱包、快钱等,虽然这些平台都提供了比较完善的SDK、API及对接文档,但是第三方支付解决方案的申请流程比较复杂,对接调试耗时也很长,可能需要数周才能上线,这对于创业初期快速验证商业模式的公司而言,付出的时间成本是比较高的。正因为这些问题的存在,第三方聚合支付平台有了其存在的价值,国内比较有名的有Ping++、BeeCloud,此类平台确实能够大大降低支付方面的集成难度及接入时间。尽管市面上已经有比较成熟的聚合支付平台,但个人觉得一个公司一旦商业模式成型,团队规模壮大,就会抛弃聚合支付平台,一方面是业务量上规模后聚合支付平台的收费会比较高,另一方面第三方支付平台账号及交易数据做为业务的核心数据放在第三方聚合平台会觉得不妥。
特来电云平台1.0时期,支付是与产品紧密耦合在一起的,到了2.0时期,团队规模扩大,产品线的逐渐清晰与丰富,各产品集成支付功能的问题凸显,并非每个产品线的业务开发人员都了解支付,每个产品线都需要抽出人来做第三方支付平台的对接开发势必造成资源的浪费,此时特来电支付中心应运而生,即参考其他聚合支付平台的思想,将支付中心打造成公共服务,其他产品通过统一的SDK对接支付中心,轻松完成各种支付渠道的集成。


一、什么是支付中心

支付中心定义:是一个提供多商户多应用多支付渠道管理及支付能力的系统,主要从以下三方面理解。

  1. 商户应用管理,支付中心设计之初就考虑到支持多商户,每个商户可以创建多个需要集成支付的应用,每个应用又可按需定制不同的支付渠道,目前特来电支付中心已安全稳定服务于多家商户。
  2. 支付渠道管理,商户在支付中心定义第三方支付平台,并配置账号、密钥等信息。针对不同的支付场景配置不同的支付渠道,目前支付中心已支持20多种主流的支付渠道,基本满足所有支付场景的需要。
  3. 支付能力,支付中心主要提供收款、退款、企业转款、代扣、订单状态查询、对账单下载、商户通知等服务能力,基本解决了整个交易闭环中所有问题。

支付中心在整个交易过程中所处的位置及职责,如下图所示:
在这里插入图片描述

  1. 商户APP或H5引导用户进入支付的页面,用户选择支付方式(支付宝、微信等),然后输入金额或订单金额;
  2. 商户创建支付订单并提交用户选择的支付方式及输入的金额或订单金额到支付中心;
  3. 支付中心创建订单并向第三方支付平台发起支付请求,跳转到第三方支付平台APP或H5页面;
  4. 用户在第三方支付平台APP或H5页面选择付款方式,可选择账户余额或者绑定的其他银行卡;
  5. 用户在第三方支付平台APP或者H5页面输入支付密码,确认支付;
  6. 第三方支付平台异步通知支付中心支付成功状态;
  7. 支付中心异步通知商户支付成功或失败状态;
  8. 商户APP或H5向用户展示支付结果。

整个交易过程中的数据流向,如下图所示:
在这里插入图片描述
支付中心解决的主要问题:能够让商户无需关注各支付平台接入方法及差异,快速集成多种支付渠道。

  1. 费时费力,如果某个产品第一次做支付开发,同时对接几个支付系统,那么前期要分别向第三支付(微信、支付宝、银联等)申请账号、签约服务或进行商户洽谈,每个渠道大概有一周左右的沟通审核期。再加上学习每家的文档,分别编码、调试,非常费时费力,整个过程下来大概要一两个月左右。而且其他产品要对接支付,基本都会做同样重复的工作。支付中心解决了对接的痛点,对外提供统一的SDK,屏蔽差异,并且避免了大家重复造轮子。
  2. 专注,将支付从产品中剥离出来形成公共服务,各产品无需关注支付细节,几行代码即可集成多种支付渠道,支付环节的一系列问题全部抛给支付中心来解决,产品只需专注于自身业务单据的处理。

二、支付中心总体架构

在这里插入图片描述
支付中心底层采用SqlServer持久化数据,基于RabbitMQ实现异步任务处理,使用Redis实现分布式锁及缓存,其之上的支付核心服务采用特来电高速服务框架及消息应用中心,再之上的支付网关采用特来电服务网关实现,服务端分布式部署,可水平扩展。针对不同终端类型的调用方,支付中心封装了不同类型的SDK。

1.SDK

  • Server SDK
    提供商户服务端获取支付凭据的服务接口,获取的支付凭据传递给APP,通过APP SDK调起支付,SDK本身自带签名功能,防止支付数据被篡改。
  • JS SDK
    提供H5、微信公众号调起支付的脚本,通过调用商户接口返回的支付凭据调起H5或微信公众号支付。
  • Android and IOS SDK
    提供原生第三方支付系统SDK的集成及APP内嵌H5页面支持,通过调用商户接口返回的支付凭据调起第三方支付应用或H5支付,对于客户主动取消的支付,SDK可以实现与支付中心网关交互取消支付订单。

2.支付服务网关

  • 签名校验
    对客户端SDK请求的支付信息进行签名校验,阻止被篡改的支付信息进入交易环节。
  • 接口安全
    基于特来电ServiceGateway服务框架开发,原生支持参数加密、IP白名单,并且全部接口使用HTTPS协议,具有较高的安全防护性。
  • 能力拆分
    按照支付能力拆分为不同的支付网关接口,比如退款的网关挂掉不会影响收款的网关,用户还能正常付款。

3.支付核心服务

  • 支付交易服务
    提供与第三方支付系统进行业务交互及构造支付凭据的服务,主要包括生成订单、第三方支付参数的构造、预支付请求、构造支付凭据等。
    在这里插入图片描述

  • 状态检查服务
    提供定时与第三方支付系统进行订单状态查询的服务,包括收款、退款状态。
    在这里插入图片描述

  • 状态通知服务
    提供支付状态变更通知商户订单状态的服务,包括收款成功或失败、退款成功或失败、取消订单的状态变更,第三方主动回调+支付中心状态检查回调(支付中心主动回调)+后台系统手工回调,保证商户能够及时得到订单支付状态的通知。
    在这里插入图片描述

总结

以上主要介绍了特来电支付中心的由来,然后讲解了支付中心的定义及解决的问题,最后总体介绍了支付中心系统架构中每个服务部分的构成及职责,后续我们以此为基础,分享各部分的详细设计。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值