混合支付设计文档v1.docx
《混合支付设计文档v1.docx》由会员分享,可在线阅读,更多相关《混合支付设计文档v1.docx(17页珍藏版)》请在冰豆网上搜索。
混合支付设计文档v1
文件编号
作 者
崔岩
文档版本
1.0
最后修改日期
2013-6-5
文档版本
1.1
最后修改日期
2013-6-9
混合支付项目
设计说明书
编写人:
崔岩
编写时间:
2013-06-05
确认时间:
修订控制页
编号
文档版本
修订章节
修订原因
修订日期
修订人
1
初始化1.0
第一版本
2013-6-5
崔岩
2
1.1
1、2.2POP网关申请退款流程修改
2、新增POP网关ERP订单退款汇总表
3、退款信息管理新增ERP订单退款汇总信息查询
混合支付设计一审讨论结果
2013-6-9
崔岩
1系统总体设计
1.1系统依赖
1.2下单退款业务流程
1.2.1下单流程
1.2.2退款流程
1.3整体设计
1.4核心状态图
1.4.1POP网关退款状态
1.5开发工作
1.5.1彩票系统
Ø数字彩前端开发
Ø竞技彩前台开发
Ø数字彩后台下单逻辑修改
Ø下单公共逻辑
Ø竞技彩后台下单逻辑修改
Ø在线支付及ERP确认消息回调及反查work修改
Ø竞技彩查询待退款订单work
Ø数字彩查询待退款订单work
Ø向财务申请退款work
Ø网关退款回调/反查work
1.5.2POP网关
Ø虚拟通用申请退款接口
Ø财务退款回调接口
Ø虚拟通用退款状态查询接口
Ø虚拟通用退款完成通知work
Ø退款信息管理
Ø通知业务系统任务修改
业务系统提交到POP网关,退款状态为1,POP网关向财务系统发起退款情趣,财务系统接收到退款请求,退款状态变为2,等待财务系统处理完成,将通知业务系统退款结果,退款成功状态变成3,退款失败状态变成4。
2子系统设计
2.1彩票系统
2.1.1下单
2.1.1.1概述
彩票系统下单新增【余额+在线】、【优惠券+在线】、【余额+优惠券】、【余额+优惠券+在
线】四种混合支付方式。
选择代购、追号、套餐、合买购买方式的下单时,都应把余额、积分、优惠券、在线支付存储到对应的字段中。
2.1.2支付回调及反查
彩票原系统进行支付成功比对时取的是支付总金额,由于增加混合支付后,有可能用户
在线支付的金额小于支付总金额,需要对此进行修改。
2.1.3向POP网关申请退款
2.1.3.1概述
申请混合支付退款work在查询需要退款的订单时,需要把混合支付对应的支付方式的
支付金额插入到退款表中,调用POP网关退款接口进行退款操作。
申请退款所需参数:
订单金额,应退货款,在线支付金额,京券总额,订单类型,订单号,业务唯一标识,订单使用积分,东券面额(备用)
2.1.3.2流程图
2.1.3.3流程详解
退款信息查询work查询出订单表中需要退款的数据(出票失败、过期支付、用户撤单、
系统撤单、参与失败等),将退款信息插入退款表;申请退款work扫描退款表可退款的数调用POP网关退款接口,POP网关退款接口接收到请求后插入退款数据到POP网关退款表并返回true。
2.1.4退款结果反查
2.1.4.1概述
POP网关在处理完成订单退款状态后将通知业务系统,业务系统也可以通过反查POP
网关接口的方式来获取退款相关信息。
2.1.4.2流程图
2.1.4.3流程详解
通过订单ID查询POP网关接口,如果明确返回退款成功或失败,则根据退款结果更新
退款状态,否则轮询查询POP网关接口。
2.2POP网关
2.2.1申请退款
2.2.1.1概述
POP网关接收业务系统的退款请求并处理;查询退款记录work扫描退款表中需要退款
的记录,插入需退款的支付金额到退款明细表,申请退款work扫描退款明细表向财务申请退款,等待财务处理成功后回调POP网关接口进行后续处理。
2.2.1.2流程图
2.2.1.3流程详解
1、接收业务系统退款请求
POP网关接收业务系统退款请求,判断ERP订单退款汇总表中是否存在该退款记录,如果存在则判断退款总金额是否超过订单总金额,如果超过了,则通知业务系统退款申请接收失败并注明失败原因,否则插入退款信息到退款表,并更新ERP订单退款汇总信息;如果ERP订单退款汇总表中不存在该退款记录,则插入该记录到退款订单表及退款汇总表,通知业务系统退款申请接收成功。
2、向财务系统申请退款
退款work查询退款表中退款状态为待退款(REFUND_STATUS=1)的退款记录,根据退
款算法(先退券折成的积分,再退余额,再退在线)计算出各个支付方式应退金额、更新退款状态为退款信息表该订单的退款状态为处理中(REFUND_STATUS=2),并修改该记录的各支付方式的退款金额,插入退款明细各支付方式的退款金额。
申请退款work扫描退款明细表向财务申请退款,如果财务系统接收成功,POP网关更新退款明细表中该记录的退款状态为处理中(REFUND_STATUS=2),等待财务系统回调POP网关。
3、财务系统回调POP网关
财务系统处理完成后,回调POP网关的接口,程序判断是否存在退款中的明细,如果存在则跳出,否则判断该订单的退款明细是否全部退款失败,如果全部退款失败则更新退款状态为4并更新退款失败原因,否则判断该退款订单的退款明细是否全部退款成功;如果是全部退款成功则更新ERP订单退款汇总表该记录的已退款金额、各支付方式已退金额、更新退款状态为(REFUND_STATUS=3),并插入退款成功消息到任务表,用于通知业务系统退款结果;如果是部分退款成功则报警,人工线下处理。
2.2.2退款结果回调
2.2.2.1概述
POP网关的通知work通过扫描任务表中的退款完成消息来通知业务系统退款结果。
2.2.2.2流程图
2.2.2.3流程详解
高频率通知work:
查询退款状态为已退款成功或退款失败(REFUND_STATUS=3或REFUND_STATUS=4)、未通知业务系统、失败次数小于等于5的订单。
低频率通知work:
查询退款状态为已退款成功或退款失败(REFUND_STATUS=3或
REFUND_STATUS=4)、未通知业务系统、失败次数>5&&<11的订单。
2.2.3退款信息管理
2.2.3.1概述
可以通过该功能进行各业务类型的ERP订单退款汇总信息、退款信息、退款明细等信息
的查询,并可以对通知失败次数已达伐值的订单进行重复操作通知。
3数据库设计ER图
3.1POP网关ERP订单退款汇总表
预退款金额=已退款金额+正在向财务申请退款的金额
字段名
字段CODE
字段类型
备注
退款编号
REFUND_ID
NUMBER
主键
业务类型
BUSINESS_TYPE
VARCHAR
彩票:
36
订单编号
ORDER_ID
NUMBER
ERP订单编号
订单总金额
TOTAL_FEE
NUMBER
ERP订单总金额
预退款的总金额
PRE_REFUND_FEE
NUMBER
单位:
分
实际已退款总金额
REFUND_FEE
NUMBER
订单应退金额
单位:
分
积分
TOTAL_SCORE_FEE
NUMBER
单位:
分
积分预退款金额
PRE_REFUND_SCORE_FEE
NUMBER
单位:
分
实际已退积分
REFUND_SCORE_FEE
NUMBER
单位:
分
余额
TOTAL_BALANCE_FEE
NUMBER
单位:
分
预退款余额
PRE_REFUND_BALANCE_FEE
NUMBER
单位:
分
实际已退余额
REFUND_BALANCE_FEE
NUMBER
单位:
分
优惠券(京券)
TOTAL_J_COUPON_FEE
NUMBER
单位:
分
优惠券(京券)预退款金额
PRE_REFUND_J_COUPON_FEE
NUMBER
单位:
分
实际已退优惠券(京券)
REFUND_J_COUPON_FEE
NUMBER
单位:
分
优惠券(东券)
TOTAL_D_COUPON_FEE
NUMBER
单位:
分
优惠券(东券)预退款金额
PRE_REFUND_D_COUPON_FEE
NUMBER
单位:
分
实际已退优惠券(东券)
REFUND_D_COUPON_FEE
NUMBER
单位:
分
在线支付
TOTAL_ONLINE_PAY_FEE
NUMBER
单位:
分
在线支付预退款金额
PRE_REFUND_ONLINE_PAY_FEE
NUMBER
单位:
分
实际已退在线支付
REFUND_ONLINE_PAY_FEE
NUMBER
单位:
分
创建时间
CREATED
DATE
修改时间
MODIFIED
DATE
有效状态
YN
VARCHAR
1有效;0无效
3.2POP网关退款表
字段名
字段CODE
字段类型
备注
退款编号
REFUND_ID
NUMBER
主键
业务类型
BUSINESS_TYPE
VARCHAR
彩票:
36
订单编号
ORDER_ID
NUMBER
ERP订单编号
退款唯一标识
UUID
VARCHAR
业务类型-退款唯一标识(每笔退款记录不可重复)
订单退款金额
REFUND_FEE
NUMBER
订单应退金额
积分
TOTAL_SCORE_FEE
NUMBER
单位:
分
余额
TOTAL_BALANCE_FEE
NUMBER
单位:
分
优惠券(京券)
TOTAL_J_COUPON_FEE
NUMBER
单位:
分
优惠券(东券)
TOTAL_D_COUPON_FEE
NUMBER
单位:
分
在线支付
TOTAL_ONLINE_PAY_FEE
NUMBER
单位:
分
退款状态
REFUND_STATUS
VARCHAR
1未退款;2退款中;3退款成功;4退款失败;
退款备注
REFUND_REMARK
VARCHAR
创建时间
CREATED
DATE
修改时间
MODIFIED
DATE
有效状态
YN
VARCHAR
1有效;0无效
3.3POP网关退款明细表
退款编号
REFUND_ID
NUMBER
业务类型
BUSINESS_TYPE
VARCHAR
彩票:
36
订单编号
ORDER_ID
NUMBER
ERP订单编号
退款金额
REFUND_FEE
NUMBER
单位:
分
退款类型
REFUND_TYPE
NUMBER
1余额;2积分;3优惠券(京券);4在线支付;5优惠券(东券);6礼品卡
退款状态
REFUND_STATUS
VARCHAR
1未退款;2退款中;3退款成功;4退款失败【驳回】
京东驳回备注
JD_REJECT_MEMO
VARCHAR
创建时间
CREATED
DATE
修改时间
MODIFIED
DATE
有效状态
YN
VARCHAR
1有效;0无效
3.4彩票订单表及订单历史表
新增如下字段:
字段名
字段CODE
字段类型
备注
积分
SCORE_PAY_FEE
NUMBER
优惠券(彩票京卷)
COUPON_PAY_FEE
NUMBER
4系统部署图
5权限配置
6尚未解决的问题