无忧支付网首页
站内搜索
您当前的位置:主页 > 相关文档 >

支付流程设计和支付结果处理流程设计

添加时间:2022-10-11

  1、支付流程设计

  在统一建模语言(UML)中,时序图是描述业务场景的动态视图之一,在时序图中,参与者之间的消息交互是主体,这里我们采用时序图来描述支付流程,并做出状态参数的模式分析。

  在所有的网上支付业务当中,最核心的内容就是支付流程,这直接关系到系统业务处理的逻辑合理性与流畅性。

  支付网关系统的具体支付流程情况可见图1所示。

支付交易流程

图1 支付交易流程

  具体的流程说明如下:

  (1)用户在商家和企业的网站上浏览并选择商品,然后放入购物车,并进行相应的订单制服程序;

  (2)商家和企业根据顾客发出的购买请求,填写和下发订单,并向支付交易Web 系统发送请求支付信息;

  (3)支付交易 Web 系统对商户的有效性进行检查,同时对请求支付信息做出验证,然后再把订单信息以及交易信息通过持久层存储到数据库里面;

  (4)检查商家提出的请求当中是否包括银行通道信息,若包括,则提交订单信息到支付网关,同时在浏览器当中打开银行支付页面;

  (5)提供银行列表以及订单信息给客户,由客户自主选择支付银行;

  (6)在客户选择了支付银行之后,提交支付交易请求发送到 Web 系统那里;

  (7)更新订单信息内容;

  (8)提交更新过的订单信息给对应银行,通过浏览器显示银行支付页面;

  (9)返回到支付页面;

  (10)由用户填写账户信息,确认之后提交;

  (11)通过银行后台服务器处理支付信息,并生成支付结果信息;

  (12)支付交易 Web 系统处理完银行的返回结果,更新订单列表,将支付结果信息发送到商家以及客户那里。

  2、支付结果处理流程设计

  在统一建模语言(UML)中,活动图是描述业务场景的动态视图之一,这个流程可以分成两个部分,第一部分是修改订单表,包括订单状态、结算日期以及银行交易编号等;第二部分是发送支付结果给商家以及客户。具体的支付结果处理流程活动情况可见图2所示。

支付结果处理流程活动图

图2 支付结果处理流程活动图

  通过图2可见,支付结果处理流程主要包括以下几个方面的内容:

  (1)在系统接收银行支付结果信息之后,可以记录到数据库里面;

  (2)若 Order 支付状态显示支付成功,支付流程可以结束;

  (3)在加密 Order 之后,可以拒绝其他线程介入操作;

  (4)在交易完成之后会自动更新交易表;

  (5)若返回金额信息和订单信息出现不一致的情况,系统就会抛出异常,并结束交易流程;

  (6)若原来的订单状态结果显示为失败,而返回结果显示的是成功,就需要将原来的订单状态修改过来,具体是以返回结果显示为准;

  (7)若原订单状态出现异常,会及时将异常情况发送给商家;

  (8)在解锁 Order 之后,通过查询可知订单字段是“真”,则应该发送通知。

  扩展阅读:支付网关接口设计的原则

  统一支付网关接口分为商户接口和银行接口两种,不管哪种类型的接口,在进行接口设计时必须遵循一定的原则。对于商户接口,为了有利于对订单的存储和处理,以及商户的查询、冲正等操作的顺利进行,要求商家和企业传入的订单信息必须包括一些基本信息;

  对于银行接口,为了使支付网关能够顺利地跟银行交互,在设计支付网关时必须严格遵守各银行已经制定的接口标准。具体原则如下:

  (1)商家接口设计原则

  在该原则指导下,首先要明确商家的信息传输规范内容,尽量使用安全性高、快捷性好的标准,同时还要能够封装商家接口,确保各项开发工作更加容易。其次要明确商家上传的订单信息字段情况,确保其中能够包括各项基本信息符合其字段要求;最后是要明确信息的传输格式,以避免不兼容问题的发生。

  (2)银行接口设计原则

  在该原则指导下,首先要采取各家银行都是单独处理的方式,以便能够与银行接口相对接。其次是要保证银行网络支付系统的订单唯一性。最后是每个银行设一个 ID,每种支付通道设一个 ID,银行 ID 与通道 ID 是一对多的关系。

  (3)稳定性原则

  一旦成功实施电子商务支付网关以后,就会对其产生很大依靠性,很难做到没有它。所以,从最底层的数据库一直最上面的功能层,系统都必须进行严格的测试和检查:数据库是否稳定、系统功能是否顺畅、有没有功能堵塞、数据丢失的现象;能否在不同的网络、硬件、操作习惯以及操作系统中进行长期、平稳地运行;适合大规模用户使用等,以保证其能够正常进行。

  在系统的具体设计时就需要充分的考虑到停电、防水的性能措施,已经具备灾难恢复功能,保证系统在部分设备发生故障的时候仍然能够保持运行;还要保证在面临一些人为的事故时,系统能够不受到大的影响,保持运行。

关闭

1.点击下面按钮复制微信号

***********

2.打开微信→查找微信号

加为好友 开始支付接入