后台支付系统考虑哪几方面
来源:互联网 发布:太极越狱9.32mac 编辑:程序博客网 时间:2024/05/16 00:48
设计后台系统基本按照以下几个方面考虑:数据、流程、审计风控
数据:交易流水、交易状态、交易订单
交易流水:流水ID、商户订单号、第三方交易流水号、金额、发生时间、商品信息、进出帐类型
交易状态集:基本态(未支付、已支付、已退款)、可能的特殊态(已预付、以补充支付、交易作废、部分退款)
交易订单:订单总金额、应收金额、实收金额、商品总价、优惠金额(市场补贴)
计算规则以及数据字典的定义,建议与财务专业术语一致,保证没有理解误差。
流程:
预付、补充支付、退款
预付:用户预订酒店房间缴纳部分定金,预付后封锁库存
补充支付:订单服务完成,最终支付的总金额>预付金额,需要补充支付,补充支付后交易完成
退款:自动退款,当交易未完成或重复支付等情况则根据退款逻辑自动触发退款,手动退款,当产生客服人工介入处理、或异常情况则需要容错处理人工退款
审计风控:
对账:
系统交易记录自洽,需要所有支付渠道金额加和等于订单的服务应收金额,
第三方对账:保证第三方(支付宝微信等)的交易流水与系统内的流水完全匹配
市场补贴以及内部会员的对账:保证交易记录的实际发生费用与虚拟账户系统、营销系统记录的数据一致
税率:单笔或多笔交易其中可能涉及个人所得税、以及交易税等
风控:要考虑支付产生的风险规避、交易失败的处理方式,重复支付的处理方式,系统权限控制。
其中:交易与库存锁定一定是统一的事故处理——保证交易完成才能执行库存锁定,避免造成公司财产损失(公司亏钱,你还有钱拿么?)
权限控制,系统的手动操作扣,调账操作一定是高级的财务或运营人员。
重复支付:保证用户单次支付成功,避免用户财产损失(用户亏钱,那一定会投诉)
对于避免重复支付的解决方案给个简单方案分享一下 :
注:
1、方案一和方案二 单独就可以避免重复支付,也可以同时生效
2、方案一有一个弊端就是如果同一个订单,可以被支付多次,例如100元的订单,微信先支付50然后 有支付50 则需要取消方案一,保留方案二
3、因为支付宝和微信都有避免重复支付机制“同一个商户订单号不可以被支付多次”,所以一般的简单产品支付,方案一就可以解决。
- 后台支付系统考虑哪几方面
- web安全性考虑的几方面
- 什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?
- 支付安全考虑
- 支付宝等大型支付系统后台系统是如何对账和风控的
- Session总超时设计到哪几方面
- 面试中常从哪几方面问问题
- 支付宝等大型支付系统交易额巨大,后台系统是如何对账和风控的呢?
- 大型支付系统后台对账系统的控制和管理
- 大型支付系统后台对账系统的控制和管理
- 2014年新站该提升哪几方面的内容呢
- CDN系统考虑
- 支付宝即时支付java后台总结
- Java 从零开始实现支付宝支付(后台)
- Java 从零开始实现支付宝支付(后台)
- Android 支付宝后台支付流程
- 支付宝后台模糊效果
- php后台开发民生支付
- 如何使你的vim高大上?
- 表数据被delete 掉了 闪回的两种方式
- 一台电脑同时运行多个tomcat配置方法
- yii2 gridview
- lcd彩屏画点画线和画圆 嵌入式开发
- 后台支付系统考虑哪几方面
- 阿萨德
- Linux C 算法——查找
- LeetCode之Bit Manipulation题目汇总
- 删除一个用户下的所有表
- 【数位DP】bzoj1026: [SCOI2009]windy数
- qweqwe
- 多线程中的timer
- Spring MVC 返回类型为字符串时, 返回中文变成"?"处理