商业产品技术部58 同城项目架构设计
2012-11-12
功能分析 - 业务概述
会员共享会员绑定 / 解绑
信任登录快捷登录
物流地址共享
协作维权58 退款维权申请入口
维权状态同步
交易担保付款服务确认收货卖家发货关闭订单 / 结束订单卖家退款
对账服务58 同城分账账户对账卖家账户对账
58 同城 & 支付宝合作业务概述
业务用例 – 58 向支付宝发起
业务用例 – 支付宝向 58 发起
业务流程 – 担保交易
外部业务服务边界
58 与支付宝交互
外部服务交互流程 – 绑定支付宝
外部服务交互流程 – 58 发起 - 解绑支付宝
外部服务交互流程 – 58 发起 - 快捷登录
外部服务交互流程 – 58 发起 - 下单并支付
外部服务交互流程 – 58 发起 - 买家确认收货
外部服务交互流程 – 58 发起 - 卖家发货
外部服务交互流程 – 58 发起 - 客服强制退款
外部服务交互流程 – 58 发起 - 卖家发起退款
状态流
收单订单 - 状态流
等待付款 已确认< 付款给收款人
>订单结束
订单关闭
付款 等待确认< 付款给收款人
>卖家发货 确认付款 / 超时
维权期结束/ 平台商结束交易
全额退交易款 全额退交易款
全额退交易款
超时未付款
已付款未确认
超时类型 下一步动作 超时时间长度定义 默认超时时间等待付款超时 交易关闭 3 分钟 --15 天 15 天等待确认超时 自动确认收货 3 分钟 -30 天 10 天维权期超时 交易完成 0-N 天 N 天( 58 必传)
平台商触发付款,结束交易
退款单状态流
已受理 退款成功
退款失败
处理失败
商户提交退款请求 处理成功
资金流
资金流 – 收单外部 c2c 专属担保中间账户
58 同城支付宝账户
付款人支付宝账户 1. 付款 收款人支付宝账户< 冻结状态 >
2.1 确认收货
收款人支付宝账户< 解冻状态 >
2.2 分账预处理 ( 解冻 )< 物流运费 + 平台费 >
3.1 维权期结束< 剩余货款 >
支付宝收费账户
3. 2 维权期结束 < 收费 >
交易款 = 货款 + 分账款项
付款人银行账户
0. 充值 < 可选>
2.3 分账
资金流 – 退款 - 确认收货前
支付宝担保金中间账户付款人支付宝账户 1. 退款
付款人银行账户
2. 充退 < 可选 >
交易款 = 货款 + 分账款项
资金流 - 退款 – 确认收货后
买家支付宝账户卖家支付宝账户
< 解冻状态 >4. 退款
58 同城支付宝账户 支付宝收费账户
2. 退分账 < 运费 + 平台费>
< 可选 >
1. 退收费< 可选 >
卖家支付宝账户< 冻结状态 >
3. 解冻
付款人银行账户
5. 充退< 可选 >
交易款 = 货款 + 分账款项
资金流 – 结束订单 – 确认收货前
支付宝担保金中间账户
58 同城支付宝账户
收款人支付宝账户< 冻结状态 >
1.1 结束订单
收款人支付宝账户< 解冻状态 >
支付宝收费账户
2. 维权期结束< 收费 >
1.2.2 分账
< 物流运费 + 平台费 >
剩余货款
1.2.1 分账预处理< 物流运费 + 平台费
>
交易款 = 货款 + 分账款项
资金流 – 结束订单 – 确认收货后
收款人支付宝账户< 冻结状态 >
收款人支付宝账户< 解冻状态 >
结束订单< 剩余货款 >
交易款 = 货款 + 分账款项
资金流 – 担保中间户支付宝担保金中间账户
58 同城支付宝账户
付款人支付宝账户 1. 付款 收款人支付宝账户< 冻结状态 >
2.1 确认收货
收款人支付宝账户< 解冻状态 >
2.2 分账预处理 ( 解冻 )< 物流运费 + 平台费 >
3.1 维权期结束< 剩余货款 >
支付宝收费账户
3. 2 维权期结束 < 收费 >
交易款 = 货款 + 分账款项
付款人银行账户
0. 充值 < 可选>
2.3 分账
应用架构
支付宝
大收单域
总体应用架构 – 总图
新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 WS/HTTP
网关域 网站域
消费记录
风控域CTU
MSG
对外提供服务 / 页面
MNotify
MPA
MSTL Bizfund
会员域
开放域OpenAuth
MAPI
AuthCenter
账户通
MemberProd
MOA
Excashier
SecurityCore
RDS
业务与资金核算域守护神
MABP
MbillExprod
MQuery
MCenter
支付宝
大收单域
总体应用架构 – 收单
新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 WS/HTTP
网关域 网站域
消费记录
风控域CTU
MSG
对外提供服务 / 页面
MNotify
MPA MSTL Bizfund
会员域
开放域OpenAuth
MAPI
1. 下单并支付 2. 确认收货3. 卖家发货4. 关闭订单5. 结束订单6. 卖家退款7. 58 退款 9. 订单通知10. 退款通知
AuthCenter
账户通
MemberProd 13. 退款11. 支付12. 支付并冻结 14. 部分退款15. 分账16. 收费17. 生成账期18. 账期预授权19. 账期确认
20. 临时登录
21. Q 会员
22. 授权 / 验证
MOA
新增接口 修改接口 现有接口不变
Excashier
SecurityCore
RDS
业务与资金核算域守护神
MABP
风控
资金业务核对
23. 确认收货
支付宝
大收单域
总体应用架构 – 会员共享
新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 WS/HTTP
网关域 网站域
消费记录
安全域CTU
MSG
对外提供服务 / 页面
MNotify
会员域
开放域OpenAuth
MAPI 31. 申请维权
AuthCenter
账户通
MemberProd
32. 申请退款 33. 卖家发货
MOA
MPA
MSTL
Bizfund
25. 账户绑定 26. 解绑
29. 快捷登录 30. 换取访问令牌
34. 确认收货 35. 卖家退款
新增接口 修改接口 现有接口不变
27. 激活
ExcashierSecurityCore
RDS
业务与资金核算域守护神
MABP
MbillExpro
dM
Query
MCenter
28. 账户状态查询
支付宝
大收单域
总体应用架构 – 协作维权
新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 WS/HTTP
网关域
MSG
对外提供服务 / 页面
MNotify
会员域
开放域OpenAuth
MAPI
AuthCenter
账户通
MemberProd
MOA
MPA
MSTL
Bizfund
新增接口 修改接口 现有接口不变
Excashier
网站域
消费记录
风控域CTU
SecurityCore
RDS
业务与资金核算域守护神
MABP
36. 退款申请状态同步 37. 维权状态同步 38. 同步退款申请状态
39. 同步维权状态
支付宝
大收单域
总体应用架构 – 风控
新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 WS/HTTP
网关域 网站域消费记录
安全域CTU
MSG
对外提供服务 / 页面
MNotify
会员域
开放域OpenAuth
MAPI
AuthCenter
账户通
MemberProd
MOA
MPA
Excashier
新增接口 修改接口 现有接口不变
RDS
SecurityCore
Hummock
解绑 / 绑定解绑 / 绑定
确认收货
买家付款
买家付款
买家付款
卖家退款买家付款
确认收货
业务与资金核算域
守护神
担保中间户核对监控
数据仓库
安全方案
安全方案风险 风险说明 解决方案
信息泄露风险账户信息泄露
1. 在 58 同城站内仅掩码显示支付账户信息;2. 在收银台上隐藏显示账户余额;3. 会员信息共享需要会员授权;
批量扫号1. 收银台上使用图片验证码;2. 接入 RDS;3. 接入 hummock;
资金安全风险 买卖家 58 账号被伪冒使用
1. 买家付款环节验证支付密码、接入安全服务化、接入 CTU 防火墙;2. 买家确认收货环节验证支付密码、接入安全服务化、接入 CTU 防火墙;3. 部分退款环节,剩余资金打入卖家账户,如有卖家冒用买家账户风险,合同约定由 58 承担4. 绑定 / 解绑需要输入登录密码;
买卖家支付宝账号被伪冒使用 1. 卖家退款环节需要验证支付密码、接入安全服务化、接入 CTU 防火墙;伪交易 / 销赃风险
在 58 同城上创建伪交易来销赃
按照全站防销赃策略处理
担保中间户担保中间户是公共资金账户,存在资金流入 / 流出不平衡风险
接入数据仓库守护神系统,监控并核对担保中间户资金流入流出。
担保账户核对 – 目标发现程序缺陷
发现人为篡改
数据
担保账户核对 – 核心单据
担保金业务过渡账户核对思路 – 双向汇总核对
业务到帐务核对
帐务到业务核对
• 建立两个方向的收单订单与账务流水的关联关系;• 关注影响到与担保金业务过渡户相关资金变动的业务事件点
< 过渡类账户 >支付宝过渡户-担保金业务过渡户
1 、支付成功3 、(尚未确认收货)支付退款
2 、(确认收货)打款
前提条件
• 以收单订单的创建时间来统计关联的业务数据;• 重点建立已经发生的资金流流入流出的收单订单的业务幂等性核对模型;• 以账务流水的账务日期来统计关联的业务数据 ;• 重点建立对留存在业务过渡户的资金,以理论上应该发生的业务可能性的资金归类汇总核对;
业务对账及业务交易幂等性核对• 以业务订单创建的时间为准,进行业务数据的统计;• 建立收单订单与实际发生账务流水的关联关系;• 以业务交易幂等性监控核对模型的要素:
• 业务监控点(任何一个业务异常或系统异常,都应反映到业务过渡户余额监控模型里,参见附件模板)
查询业务交易日期担保交易收单订单(涉及到业务过渡户) 违反业务交易幂等性
支付成功笔数
支付成功总金额
未确认而已退款的总笔
数未确认而已退款的
总金额确认收货而已打款的总
笔数确认收货而已打款的总
金额
未支付成功而发起退款的总
笔数
未支付成功而发起打款的总
笔数重复支付
总笔数重复(多退)退款
的笔数
以业务订单创建的时间为准进行业务数据的统计,
订单状态为[ 已支付 ]的总笔数
订单状态为 [ 已支付 ] 的总金额
订单状态为[ 等待卖家发货 ] 的总笔数
订单状态为 [ 等待卖家发货 ] 的总金额
订单状态为[ 确认收货或结束 ] 的总笔数
订单状态为[ 确认收货或结束 ] 的总金额
业务过渡户的余额监控模型• 业务过渡户理论余额为零;• 以账务流水的账务时间为准进行业务数据的统计;• 建立实际发生账务流水与收单订单的关联关系;• 业务过渡户账户余额监控模型要素:
查询日期 业务过渡户
理论监控账户余额
实际账户余额 应结给商户(卖
家)的金额 应退款给用户的金额
以账务流水的账务时间为准,进行业务数据的统计
具体的业务过渡户
理论监控账户余额为零
实际查询到业务过渡户的账户余额
以订单支付成功对应的业务过渡户的入账账务流水,并关联到收单订单,收单订单的订单状态为 [ 已支付 ]或 [ 卖家已发货 ] ,且未发起退款受理的订单总金额
以订单支付成功对应的业务过渡户的入账账务流水,并关联到收单订单,收单订单的订单状态为 [ 已支付 ]或 [ 卖家已发货 ] ,且已发起退款(退款状态为 [ 已受理 ] )的订单总金额业务过渡户账户余额监控模型计算平衡关系
业务过渡户账户余额的平衡参考值 =实际账户余额-应结算给商户(卖家)的金额-应退款给用户的金额
主流程系统交互
系统交互流程 – 会员绑定
系统交互流程 – 下单并支付(包含信任登录)
系统交互流程 – 买家发货
系统交互流程 – 确认收货
系统交互流程 – 维权期结束
系统交互流程 – 退款 - 卖家发货前
系统交互流程 – 退款 - 确认收货前
系统交互流程 – 退款 - 确认收货后
系统交互流程 – 结束订单
系统交互流程 – 同步退款申请状态 / 维权状态