凤凰牌老熊

知行合一

支付风控场景分析

支付风控系统设计-1

风控是一个让人爱恨交加的话题。 对支付来说风控是必不可少的功能。只要老板不想把底裤都赔掉,那就必须上风控。可对互联网公司来说,风控是一个谜一般的话题,无论是对风控专家还是IT工程师而言。随着互联网和大数据技术的引入,风控变成了一个跨学科的领域,可这无疑是互联网公司里面最同床异梦的跨学科。机器学习,深度学习,规则推理,随机森林….光这些名词就足以让人风控专家望而怯步;而风险事件、尽职调查、巴塞...

现有系统做微服务架构改进经验分享

2016年11月29日在Docker社区的讲稿

背景介绍 应dockone社区邀请,于2016年11月29日晚在社区做关于微服务架构改造的技术分享。这里特别感谢docker社区的同学们的热心帮助,以及诸位技术同好们的热心捧场。 讲稿内容 大家好,我是凤凰牌老熊,很高兴能有机会和大家交流关于微服务系统建设相关的话题。 近期和微服务相关的话题非常地火,大家看到的各种开发技术网站,微服务都是一个热门的话题。 今天我也来凑凑热闹吧。 将要和...

支付系统的基础设施建设

支付系统设计-8

基础设施是为了支持支付开发的软件过程。在进入主题之前,先吐槽下软件过程。软件过程在这几年都越来越不受人待见了。在一些互联网公司里面,软件过程的概念往往被等同于拖拉、延期、冗长。他们为自己的软件过程往往都会贴上敏捷的标签,并为各种混乱的管理提供了一个非常好的借口。就算是先写代码再补需求,也能够套上敏捷开发借口。可是这一套路,拿到金融软件,特别是和钱打交道的支付系统开发上,却是行不通的。且不用说...

支付网关的设计

支付系统设计-7

在支付系统中,支付网关和支付渠道的对接是最核心的功能。其中支付网关是对外提供服务的接口,所有需要渠道支持的资金操作都需要通过网关分发到对应的渠道模块上。一旦定型,后续就很少,也很难调整。而支付渠道模块是接收网关的请求,调用渠道接口执行真正的资金操作。每个渠道的接口,传输方式都不尽相同,所以在这里,支付网关相对于支付渠道模块的作用,类似设计模式中的wrapper,封装各个渠道的差异,对网关呈现...

支付系统的监控与报警

支付系统设计-6

关于监控,在各个技术网站,几乎都是一搜一大把。几个大的互联网公司,也都有开发自己的监控系统。 关于这方面也有不少分享。 这里介绍针对支付系统的监控和报警,但大部分内容,应该来说,对其他系统也是通用的 。 现在基本上 Zabbix 成为监控的标配了。 一个常规的 Zabbix 监控实现, 是在被监控的机器上部署Zabbix Agent,从日志中收集所需要的数据,分析出监控指标,发送到zabb...

支付系统之应用内支付

支付系统设计-5

应用内支付指使用手机操作系统自带的支付功能来支持支付。目前国内主要的应用内支付有 Google Pay, Apple Pay, 小米支付、华为支付等。 其中Apple Pay是典型的一个应用内支付,Android平台的各种支付也一般是沿用Apple Pay的设计。 2016.11.17,补充和苹果公司沟通的一些结果。 为什么要IAP 相对来说,应用内支付的用户体验,和微信...

支付系统之绑卡、签约和身份验证

支付系统设计-4

在上一篇 支付系统之银行卡支付中,挖了个坑,就是关于绑卡的坑。 在用户使用银行卡做支付之前,首先需要完成绑卡的操作。怎么实现绑卡,怎么验证用户绑的是自己的而不是隔壁老王的卡,这就是本期的重点。 为什么要求用户绑卡?这和快捷支付有关。参见上一篇文章的分析,绑卡是将用户卡信息提供给电商,以后电商就用这个信息去银行完成支付。绑卡实际上是一个授权,让用户允许商家自动从他的账户上扣除资金。所...

支付系统之银行卡支付

支付系统设计-3

这一期,回到支付系统的核心业务,即支付。每个电商公司的支付系统都已经或多或少的实现了交易核心功能,可也都是一直在改进,总是不断的有新的需求冒出来。所以这一期开始,我们梳理一下,到底有哪些支付方式,每种支付方式都是怎么运作的。 支付和交易 说到支付就不得不提交易。这两个概念在不同公司中是不一样的。我们的定义是,交易是生成订单;支付是对订单进行付款。 订单生成过程我们以后另开话题来说...

支付系统的对账处理

支付系统设计-2

可以说,对账是支付系统最头疼的事情。每一笔交易,都要做到各参与者的记录能够吻合,没有偏差。对账系统的工作,是发现有差异的记录,即轧帐;然后通过人工或者自动的方式,解决这些差异,即平帐。 对电商系统来说,每一笔交易,在所有相关主体侧都要能对得上: 交易主体,如果发起人是个人,必须能够从个人交易历史记录中找到这笔交易。但大部分人不会保留电子记录,所以一般是提供可以下载的账单或交...

账户模型

支付系统设计

账户体系是支付系统的基础,它的设计直接影响整个系统的特性。这里探讨如何针对电子商务系统的账户体系设计。我们从一些基本概念开始入手,了解怎么建模。 支付账户和登录账号 账户体系设计首先要区分两个概念,支付账户和登录账号。 这是两个不同业务领域的概念。 支付账户 指用户在支付系统中用于交易的资金所有者权益的凭证。 登录账号 指用户在系统中的登录的凭证和个人信息。 一个用户可以有多个登录...