商业产品技术部 58 同城项目 架构设计

49
商商商商商商商 58 商商商商 商商商商 2012-11-12

Upload: sissy

Post on 17-Feb-2016

167 views

Category:

Documents


1 download

DESCRIPTION

商业产品技术部 58 同城项目 架构设计. 2012-11-12. 功能分析 - 业务概述. 业务用例 – 58 向支付宝发起. 业务用例 – 支付宝向 58 发起. 业务流程 – 担保交易. 外部业务服务边界. 58 与支付宝交互. 外部服务交互流程 – 绑定支付宝. 外部服务交互流程 – 58 发起 - 解 绑 支付宝. 外部服务交互流程 – 58 发起 - 快捷登录. 外部服务交互流程 – 58 发起 - 下单并支付. 外部服务交互流程 – 58 发起 - 买家确认收货. 外部服务交互流程 – 58 发起 - 卖家发货. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 商业产品技术部 58 同城项目 架构设计

商业产品技术部58 同城项目架构设计

2012-11-12

Page 2: 商业产品技术部 58 同城项目 架构设计

功能分析 - 业务概述

会员共享会员绑定 / 解绑

信任登录快捷登录

物流地址共享

协作维权58 退款维权申请入口

维权状态同步

交易担保付款服务确认收货卖家发货关闭订单 / 结束订单卖家退款

对账服务58 同城分账账户对账卖家账户对账

58 同城 & 支付宝合作业务概述

Page 3: 商业产品技术部 58 同城项目 架构设计

业务用例 – 58 向支付宝发起

Page 4: 商业产品技术部 58 同城项目 架构设计

业务用例 – 支付宝向 58 发起

Page 5: 商业产品技术部 58 同城项目 架构设计

业务流程 – 担保交易

Page 6: 商业产品技术部 58 同城项目 架构设计

外部业务服务边界

Page 7: 商业产品技术部 58 同城项目 架构设计

58 与支付宝交互

Page 8: 商业产品技术部 58 同城项目 架构设计

外部服务交互流程 – 绑定支付宝

Page 9: 商业产品技术部 58 同城项目 架构设计

外部服务交互流程 – 58 发起 - 解绑支付宝

Page 10: 商业产品技术部 58 同城项目 架构设计

外部服务交互流程 – 58 发起 - 快捷登录

Page 11: 商业产品技术部 58 同城项目 架构设计

外部服务交互流程 – 58 发起 - 下单并支付

Page 12: 商业产品技术部 58 同城项目 架构设计

外部服务交互流程 – 58 发起 - 买家确认收货

Page 13: 商业产品技术部 58 同城项目 架构设计

外部服务交互流程 – 58 发起 - 卖家发货

Page 14: 商业产品技术部 58 同城项目 架构设计

外部服务交互流程 – 58 发起 - 客服强制退款

Page 15: 商业产品技术部 58 同城项目 架构设计

外部服务交互流程 – 58 发起 - 卖家发起退款

Page 16: 商业产品技术部 58 同城项目 架构设计

状态流

Page 17: 商业产品技术部 58 同城项目 架构设计

收单订单 - 状态流

等待付款 已确认< 付款给收款人

>订单结束

订单关闭

付款 等待确认< 付款给收款人

>卖家发货 确认付款 / 超时

维权期结束/ 平台商结束交易

全额退交易款 全额退交易款

全额退交易款

超时未付款

已付款未确认

超时类型 下一步动作 超时时间长度定义 默认超时时间等待付款超时 交易关闭 3 分钟 --15 天 15 天等待确认超时 自动确认收货 3 分钟 -30 天 10 天维权期超时 交易完成 0-N 天 N 天( 58 必传)

平台商触发付款,结束交易

Page 18: 商业产品技术部 58 同城项目 架构设计

退款单状态流

已受理 退款成功

退款失败

处理失败

商户提交退款请求 处理成功

Page 19: 商业产品技术部 58 同城项目 架构设计

资金流

Page 20: 商业产品技术部 58 同城项目 架构设计

资金流 – 收单外部 c2c 专属担保中间账户

58 同城支付宝账户

付款人支付宝账户 1. 付款 收款人支付宝账户< 冻结状态 >

2.1 确认收货

收款人支付宝账户< 解冻状态 >

2.2 分账预处理 ( 解冻 )< 物流运费 + 平台费 >

3.1 维权期结束< 剩余货款 >

支付宝收费账户

3. 2 维权期结束 < 收费 >

交易款 = 货款 + 分账款项

付款人银行账户

0. 充值 < 可选>

2.3 分账

Page 21: 商业产品技术部 58 同城项目 架构设计

资金流 – 退款 - 确认收货前

支付宝担保金中间账户付款人支付宝账户 1. 退款

付款人银行账户

2. 充退 < 可选 >

交易款 = 货款 + 分账款项

Page 22: 商业产品技术部 58 同城项目 架构设计

资金流 - 退款 – 确认收货后

买家支付宝账户卖家支付宝账户

< 解冻状态 >4. 退款

58 同城支付宝账户 支付宝收费账户

2. 退分账 < 运费 + 平台费>

< 可选 >

1. 退收费< 可选 >

卖家支付宝账户< 冻结状态 >

3. 解冻

付款人银行账户

5. 充退< 可选 >

交易款 = 货款 + 分账款项

Page 23: 商业产品技术部 58 同城项目 架构设计

资金流 – 结束订单 – 确认收货前

支付宝担保金中间账户

58 同城支付宝账户

收款人支付宝账户< 冻结状态 >

1.1 结束订单

收款人支付宝账户< 解冻状态 >

支付宝收费账户

2. 维权期结束< 收费 >

1.2.2 分账

< 物流运费 + 平台费 >

剩余货款

1.2.1 分账预处理< 物流运费 + 平台费

>

交易款 = 货款 + 分账款项

Page 24: 商业产品技术部 58 同城项目 架构设计

资金流 – 结束订单 – 确认收货后

收款人支付宝账户< 冻结状态 >

收款人支付宝账户< 解冻状态 >

结束订单< 剩余货款 >

交易款 = 货款 + 分账款项

Page 25: 商业产品技术部 58 同城项目 架构设计

资金流 – 担保中间户支付宝担保金中间账户

58 同城支付宝账户

付款人支付宝账户 1. 付款 收款人支付宝账户< 冻结状态 >

2.1 确认收货

收款人支付宝账户< 解冻状态 >

2.2 分账预处理 ( 解冻 )< 物流运费 + 平台费 >

3.1 维权期结束< 剩余货款 >

支付宝收费账户

3. 2 维权期结束 < 收费 >

交易款 = 货款 + 分账款项

付款人银行账户

0. 充值 < 可选>

2.3 分账

Page 26: 商业产品技术部 58 同城项目 架构设计

应用架构

Page 27: 商业产品技术部 58 同城项目 架构设计

支付宝

大收单域

总体应用架构 – 总图

新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 WS/HTTP

网关域 网站域

消费记录

风控域CTU

MSG

对外提供服务 / 页面

MNotify

MPA

MSTL Bizfund

会员域

开放域OpenAuth

MAPI

AuthCenter

账户通

MemberProd

MOA

Excashier

SecurityCore

RDS

业务与资金核算域守护神

MABP

MbillExprod

MQuery

MCenter

Page 28: 商业产品技术部 58 同城项目 架构设计

支付宝

大收单域

总体应用架构 – 收单

新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 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. 确认收货

Page 29: 商业产品技术部 58 同城项目 架构设计

支付宝

大收单域

总体应用架构 – 会员共享

新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 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. 账户状态查询

Page 30: 商业产品技术部 58 同城项目 架构设计

支付宝

大收单域

总体应用架构 – 协作维权

新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 WS/HTTP

网关域

MSG

对外提供服务 / 页面

MNotify

会员域

开放域OpenAuth

MAPI

AuthCenter

账户通

MemberProd

MOA

MPA

MSTL

Bizfund

新增接口 修改接口 现有接口不变

Excashier

网站域

消费记录

风控域CTU

SecurityCore

RDS

业务与资金核算域守护神

MABP

36. 退款申请状态同步 37. 维权状态同步 38. 同步退款申请状态

39. 同步维权状态

Page 31: 商业产品技术部 58 同城项目 架构设计

支付宝

大收单域

总体应用架构 – 风控

新增应用 需修改的应用 无需修改的关联应用 需修改配置的应用 WS/HTTP

网关域 网站域消费记录

安全域CTU

MSG

对外提供服务 / 页面

MNotify

会员域

开放域OpenAuth

MAPI

AuthCenter

账户通

MemberProd

MOA

MPA

Excashier

新增接口 修改接口 现有接口不变

RDS

SecurityCore

Hummock

解绑 / 绑定解绑 / 绑定

确认收货

买家付款

买家付款

买家付款

卖家退款买家付款

确认收货

业务与资金核算域

守护神

担保中间户核对监控

数据仓库

Page 32: 商业产品技术部 58 同城项目 架构设计

安全方案

Page 33: 商业产品技术部 58 同城项目 架构设计

安全方案风险 风险说明 解决方案

信息泄露风险账户信息泄露

1. 在 58 同城站内仅掩码显示支付账户信息;2. 在收银台上隐藏显示账户余额;3. 会员信息共享需要会员授权;

批量扫号1. 收银台上使用图片验证码;2. 接入 RDS;3. 接入 hummock;

资金安全风险 买卖家 58 账号被伪冒使用

1. 买家付款环节验证支付密码、接入安全服务化、接入 CTU 防火墙;2. 买家确认收货环节验证支付密码、接入安全服务化、接入 CTU 防火墙;3. 部分退款环节,剩余资金打入卖家账户,如有卖家冒用买家账户风险,合同约定由 58 承担4. 绑定 / 解绑需要输入登录密码;

买卖家支付宝账号被伪冒使用 1. 卖家退款环节需要验证支付密码、接入安全服务化、接入 CTU 防火墙;伪交易 / 销赃风险

在 58 同城上创建伪交易来销赃

按照全站防销赃策略处理

担保中间户担保中间户是公共资金账户,存在资金流入 / 流出不平衡风险

接入数据仓库守护神系统,监控并核对担保中间户资金流入流出。

Page 34: 商业产品技术部 58 同城项目 架构设计

担保账户核对 – 目标发现程序缺陷

发现人为篡改

数据

Page 35: 商业产品技术部 58 同城项目 架构设计

担保账户核对 – 核心单据

Page 36: 商业产品技术部 58 同城项目 架构设计

担保金业务过渡账户核对思路 – 双向汇总核对

业务到帐务核对

帐务到业务核对

• 建立两个方向的收单订单与账务流水的关联关系;• 关注影响到与担保金业务过渡户相关资金变动的业务事件点

< 过渡类账户 >支付宝过渡户-担保金业务过渡户

1 、支付成功3 、(尚未确认收货)支付退款

2 、(确认收货)打款

前提条件

• 以收单订单的创建时间来统计关联的业务数据;• 重点建立已经发生的资金流流入流出的收单订单的业务幂等性核对模型;• 以账务流水的账务日期来统计关联的业务数据 ;• 重点建立对留存在业务过渡户的资金,以理论上应该发生的业务可能性的资金归类汇总核对;

Page 37: 商业产品技术部 58 同城项目 架构设计

业务对账及业务交易幂等性核对• 以业务订单创建的时间为准,进行业务数据的统计;• 建立收单订单与实际发生账务流水的关联关系;• 以业务交易幂等性监控核对模型的要素:

• 业务监控点(任何一个业务异常或系统异常,都应反映到业务过渡户余额监控模型里,参见附件模板)

查询业务交易日期担保交易收单订单(涉及到业务过渡户) 违反业务交易幂等性

支付成功笔数

支付成功总金额

未确认而已退款的总笔

数未确认而已退款的

总金额确认收货而已打款的总

笔数确认收货而已打款的总

金额

未支付成功而发起退款的总

笔数

未支付成功而发起打款的总

笔数重复支付

总笔数重复(多退)退款

的笔数

以业务订单创建的时间为准进行业务数据的统计,

订单状态为[ 已支付 ]的总笔数

订单状态为 [ 已支付 ] 的总金额

订单状态为[ 等待卖家发货 ] 的总笔数

订单状态为 [ 等待卖家发货 ] 的总金额

订单状态为[ 确认收货或结束 ] 的总笔数

订单状态为[ 确认收货或结束 ] 的总金额

Page 38: 商业产品技术部 58 同城项目 架构设计

业务过渡户的余额监控模型• 业务过渡户理论余额为零;• 以账务流水的账务时间为准进行业务数据的统计;• 建立实际发生账务流水与收单订单的关联关系;• 业务过渡户账户余额监控模型要素:

查询日期 业务过渡户

理论监控账户余额

实际账户余额 应结给商户(卖

家)的金额 应退款给用户的金额

以账务流水的账务时间为准,进行业务数据的统计

具体的业务过渡户

理论监控账户余额为零

实际查询到业务过渡户的账户余额

以订单支付成功对应的业务过渡户的入账账务流水,并关联到收单订单,收单订单的订单状态为 [ 已支付 ]或 [ 卖家已发货 ] ,且未发起退款受理的订单总金额

以订单支付成功对应的业务过渡户的入账账务流水,并关联到收单订单,收单订单的订单状态为 [ 已支付 ]或 [ 卖家已发货 ] ,且已发起退款(退款状态为 [ 已受理 ] )的订单总金额业务过渡户账户余额监控模型计算平衡关系

业务过渡户账户余额的平衡参考值 =实际账户余额-应结算给商户(卖家)的金额-应退款给用户的金额

Page 39: 商业产品技术部 58 同城项目 架构设计

主流程系统交互

Page 40: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 会员绑定

Page 41: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 下单并支付(包含信任登录)

Page 42: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 买家发货

Page 43: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 确认收货

Page 44: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 维权期结束

Page 45: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 退款 - 卖家发货前

Page 46: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 退款 - 确认收货前

Page 47: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 退款 - 确认收货后

Page 48: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 结束订单

Page 49: 商业产品技术部 58 同城项目 架构设计

系统交互流程 – 同步退款申请状态 / 维权状态