后台支付系统考虑哪几方面

来源:互联网 发布:太极越狱9.32mac 编辑:程序博客网 时间:2024/05/16 00:48

设计后台系统基本按照以下几个方面考虑:数据、流程、审计风控

数据:交易流水、交易状态、交易订单

交易流水:流水ID、商户订单号、第三方交易流水号、金额、发生时间、商品信息、进出帐类型

交易状态集:基本态(未支付、已支付、已退款)、可能的特殊态(已预付、以补充支付、交易作废、部分退款)

交易订单:订单总金额、应收金额、实收金额、商品总价、优惠金额(市场补贴)

计算规则以及数据字典的定义,建议与财务专业术语一致,保证没有理解误差。

流程:

预付、补充支付、退款

预付:用户预订酒店房间缴纳部分定金,预付后封锁库存

补充支付:订单服务完成,最终支付的总金额>预付金额,需要补充支付,补充支付后交易完成

退款:自动退款,当交易未完成或重复支付等情况则根据退款逻辑自动触发退款,手动退款,当产生客服人工介入处理、或异常情况则需要容错处理人工退款

审计风控:

对账:

系统交易记录自洽,需要所有支付渠道金额加和等于订单的服务应收金额,

第三方对账:保证第三方(支付宝微信等)的交易流水与系统内的流水完全匹配

市场补贴以及内部会员的对账:保证交易记录的实际发生费用与虚拟账户系统、营销系统记录的数据一致

税率:单笔或多笔交易其中可能涉及个人所得税、以及交易税等

风控:要考虑支付产生的风险规避、交易失败的处理方式,重复支付的处理方式,系统权限控制。

其中:交易与库存锁定一定是统一的事故处理——保证交易完成才能执行库存锁定,避免造成公司财产损失(公司亏钱,你还有钱拿么?)

权限控制,系统的手动操作扣,调账操作一定是高级的财务或运营人员。

重复支付:保证用户单次支付成功,避免用户财产损失(用户亏钱,那一定会投诉)

对于避免重复支付的解决方案给个简单方案分享一下 :

注:

1、方案一和方案二 单独就可以避免重复支付,也可以同时生效

2、方案一有一个弊端就是如果同一个订单,可以被支付多次,例如100元的订单,微信先支付50然后 有支付50 则需要取消方案一,保留方案二

3、因为支付宝和微信都有避免重复支付机制“同一个商户订单号不可以被支付多次”,所以一般的简单产品支付,方案一就可以解决。


0 0
原创粉丝点击