精华内容
下载资源
问答
  • php的,部署难度不高,监控实测是ok的,能看到。没有接口demo需要自己写。
  • 免签个人支付通道

    2018-08-23 13:32:55
    免签个人支付通道,可以添加支付宝微信qq钱包等支付二维码。
  • 2018最新第三方api第四方支付平台程序源码完整开源全套完美运营版 ,建立独立站点运行,支持代付D0,T1,微信支付宝扫码支付
  • zencart支付通道快速开启或关闭已过
  • 支付通道大全 支付FM整理出了一套比较宏观的支付体系模型,希望对刚接触支付的产品经理有一些帮助。 支付体系模型 模型是复杂体系的简化,也是认识复杂体系的思维脚手架。支付体系的核心模型可以抽象为:信息流、...

    支付通道大全

    支付FM整理出了一套比较宏观的支付体系模型,希望对刚接触支付的产品经理有一些帮助。

    支付体系模型

    模型是复杂体系的简化,也是认识复杂体系的思维脚手架。支付体系的核心模型可以抽象为:信息流、现金流、支付规则。

    信息流:明确支付过程中每个环节的信息流转和状态响应,一些信息的流转最终会导致资金的在各银行账户之间的转移,只不过在信息的传递和价值的传递上有时间上的延迟,通常表现为T+1,D+1等(当然数字货币很好的解决了这个问题)。

    资金流:这里了定义的资金流指的是我们应该明确支付完成后具体的钱(也是数字)是怎么在银行与银行之间进行清结算的,资金流转发生在各银行账户之间。

    任何的支付的具体场景和表现形式,都应该明确信息流&资金流具体的流转过程,是我们梳理支付逻辑最基本的方法论。

    举一个简单的例子:微信公众号支付

    商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程。

    步骤1:商户下发图文消息或者通过自定义菜单吸引用户点击进入商户网页。

    步骤2:进入商户网页,用户选择购买,完成选购流程。

    步骤3:调起微信支付控件,用户开始输入支付密码。

    步骤4:密码验证通过,支付成功。商户后台得到支付成功的通知。

    步骤5:返回商户页面,显示购买成功,该页面由商户自定义。

    步骤6:微信支付公众号下发支付凭证。

    上述是一个完整的支付流程,能清楚地看到各种信息状态的流转以及响应。

    能够直观感知的是账号余额的减少&话费增加这样的信息,实际支付背后资金的流转逻辑是:

    用户账户里面的钱,经过清结算系统支付给了微信所拥有的第三方银行账户,暂存在该账户里,微信的银行账户会按照一定的周期(T+1)自动结算到运营商的银行账户,微信在以上整个支付逻辑中扮演了第三方支付服务提供商的角色。

    支付规则:我们应该清楚支付体系的所有基本规则,从基本的名词概念出发,到具体的产品逻辑实践,积累中慢慢地让我们看到整个支付体系的全貌。

    二、支付规则详解

    1.支付渠道

    支付渠道,顾名思义就是平台上支持用户支付的通道,这些支付渠道帮助平台用户完成交易金额的支付,并且支持平台与银行之间进行资金流转、对账和清分。

    比如:微信、支付宝、通联、易宝等。一般交易平台都会对接多家支付渠道公司。

    (1)第三方支付

    对于目前的市场情况来说,首先而且必选的第三方支付渠道就是支付宝和微信支付。

    这两种支付渠道几乎占据了在线支付第三方渠道的90%以上的市场份额,并且这两个渠道支持各种业务的平台,对接的银行非常多,性能和稳定性都非常高。

    (2)银联

    银联作为第三方的支付渠道,为平台对接银行起到非常大的帮助作用。平台对接银联的支付渠道后(快捷支付),用户在平台消费时需要绑银行卡,首次需要上传银行卡号、手机号、身份证号码,银行卡绑定后,后续的操作步骤会相对便捷一些,只需在每次支付时输入密码即可。

    后续的支付扣款流程跟其他第三方支付一样需要内嵌SDK,而是都在服务端完成校验。

    (3)银行

    截止到2015年底,我国银行业金融机构包括6家大型的商业银行、12家股份制商业银行、133家城市商业银行和5家民营银行等1000多家银行。

    其中首选的就是5家商业银行,其累计占40%的交易量,其次就是各种股份制银行和邮政储蓄银行等。

    一般情况下,对接一个银行的话预期需要2-3周的工作量,不同银行对接入环境有不同要求,这也是成本。

    比如:大部分银行需要专线接入,费用和带宽有关,一年也得几万费用。

    (4)第四方支付

    第四方支付是相对第三方而言的,作为对第三方支付平台服务的拓展。

    第三方支付介于银行和商户之间,而第四方支付是介于第三方支付和商户之间,没有支付许可牌照的限制。

    第四方支付集成了各种三方支付平台/合作银行/合作电信运营商/其他服务商接口,也就是说集合了各个第三方支付及多种支付渠道的优势,能够根据商户的需求进行个性化定制,形成支付通道资源互补优势,满足商户需求,提供适合商户的支付解决方案。

    总体来讲,第四方支付属于支付服务集成商,具有无可比拟的灵活性,便捷性和支付服务互补性。而且第四方支付具有中立性优势,可以一定程度上调和支付机构恶意竞争的状况,保证支付行业健康发展。

    (6)卡外支付

    对于由海外支付的需求,还需要提供外卡支付支持。

    国内不少支付渠道都能支持外卡支付,如:支付宝全球购等,直接对接Paypal,也是目前用的最多的外卡支付渠道。

    (7)其他支付

    支付渠道还有一些小众和特殊的存在,比如:话费支付。这一块容易被人忽略,但考虑到国内不少职场人士,话费是公司报销的,每个月多的用不完,所以这块支付还是相当有市场的。

    问题是,联通和移动两大运营商,不仅接口不能互通,内部各个地域也是各自为政,所以对接起来还是有点麻烦。

    不过话费支付领域也有类似支付宝微信的第三方支付公司,比如:虹软、联动优势等公司。

    2.支付通道

    支付通道是指用户在交易平台进行支付操作时选用的支付方式,常见的有网银支付、快捷支付、认证支付&账户支付等。

    (1)网银支付

    网银支付,即网上银行支付,是即时到帐交易。

    网银支付是银联最为成熟的在线支付功能之一,也是网民在线支付的首选方式,是国内电子商务企业提供在线交易服务不可或缺的功能之一。

    其特点是:银行卡需事先开通网银支付功能,且在支付时完全是在银行网银页面输入银行卡信息并验证支付密码,具有稳定易用,安全可靠的特点。

    目前可以支持国内20多家银行的借记卡和信用卡,网银支付分为:银行网银&银联网银。

    第三方支付平台接了银行网银接口后,从银行的角度讲,其只是对外开放了一个网银接口。

    网银和网关其实是两个不同的概念,二者是针对不同的主体来说的,所起的作用也不一样。

    但是因为第三方支付平台连接网银接口,进行支付跳转时,第三方支付平台充当了一个网关的角色,或者充当了银行的代理,所以经常有人弄混。

    从普通用户的感知来讲,这就是平时经常所说的第三方支付平台的网银支付,但是注意网银与网关不是一码事。

    (2)认证支付

    “认证支付”,是指付款人通过第三方支付平台接收输入的银行卡相关信息(如:卡号、密码、CVN2、有效期、预留手机号等要素),由第三方支付平台经过付款人发卡行进行验证,使用第三方支付平台短信验证或发卡行手机短信验证等辅助认证以完成支付交易的支付方式。

    (3)快捷支付

    “快捷支付”,一种是与“认证支付”模式相同;另一种,是指付款人在第三方支付平台的注册用户账户并付款人的银行卡账户实现关联(一般情况下关联时需由发卡行验证),在交易时付款人使用在第三方支付平台的用户账户发起交易,由第三方支付平台联动付款热绑定的银行,由发卡银行进行交易授权的支付方式。

    “从银行角度讲,这是其对外开放的快捷支付接口,而对于普通用户的感知来说,也是我们经常所说的快捷支付。

    进行快捷支付时,第三方支付平台往往会要求用户先在第三方支付平台注册成为会员,然后进行四要素绑卡(姓名、身份证、卡号、银行预留手机),最后才能完成付款。

    注:有些商户平台(如P2P)与第三方支付平台深度合作,用户只需要在商户平台界面上完成绑卡即可,整个绑卡流程下来都不会出现第三方支付平台的界面,这是由于用户在商户平台填写的信息都在后台传给了第三方支付平台,然后第三方支付平台为用户隐式注册了第三方平台账户。这么做只是为了让用户的绑卡流程不会被打断,让用户体验好一点而已,原理还是与用户在第三方支付平台显式注册一样。

    (4)账户支付模式

    账户支付指买卖双方必须先到第三方支付平台注册成为第三方支付平台的会员,用户通过网银或其它方式先往虚拟账户中充值(资金流:钱从用户的银行卡划转到第三方支付公司银行账户),用户消费付款时,从虚拟账户直接扣除(这里并不涉及实际的资金划转,只是数据层面上数字的减少),典型的如:Paypal。

    3.支付方式

    以为支付方式&支付载体来划分支付类型,这里用微信支付来举例。

    (1)刷卡支付

    步骤1:用户选择刷卡支付付款并打开微信,进入“我”->“钱包”->“收付款”条码界面;

    步骤2:收银员在商户系统操作生成支付订单,用户确认支付金额;

    步骤3:商户收银员用扫码设备扫描用户的条码/二维码,商户收银系统提交支付;

    步骤4:微信支付后台系统收到支付请求,根据验证密码规则判断是否验证用户的支付密码,不需要验证密码的交易直接发起扣款,需要验证密码的交易会弹出密码输入框。支付成功后微信端会弹出成功页面,支付失败会弹出错误提示。

    (2)公众号支付

    商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程。

    步骤(1):商户下发图文消息或者通过自定义菜单吸引用户点击进入商户网页。

    步骤(2):进入商户网页,用户选择购买,完成选购流程。

    步骤(3):调起微信支付控件,用户开始输入支付密码。

    步骤(4):密码验证通过,支付成功。商户后台得到支付成功的通知。

    步骤(5):返回商户页面,显示购买成功。该页面由商户自定义。

    步骤(6):微信支付公众号下发支付凭证。

    (3)扫码支付

    用户扫描商户展示在各种场景的二维码进行支付。

    步骤(1):商户根据微信支付的规则,为不同商品生成不同的二维码,展示在各种场景,用于用户扫描购买。

    步骤(2):用户使用微信“扫一扫”扫描二维码后,获取商品支付信息,引导用户完成支付

    步骤(3):用户确认支付,输入支付密码。

    步骤(4):支付完成后会提示用户支付成功,商户后台得到支付成功的通知,然后进行发货处理。

    (4)APP支付

    适用于商户在移动端APP中集成微信支付功能。

    商户APP调用微信提供的SDK调用微信支付模块,商户APP会跳转到微信中完成支付,支付完后跳回到商户APP内,最后展示支付结果。

    目前微信支付支持手机系统有:iOS(苹果)、Android(安卓)和WP(Windows Phone)。

    交互细节如下:

    步骤(1):用户进入商户APP,选择商品下单、确认购买,进入支付环节。商户服务后台生成支付订单,签名后将数据传输到APP端。以微信提供的DEMO为例。

    步骤(2):用户点击后发起支付操作,进入到微信界面,调起微信支付,出现确认支付界面。

    步骤(3):用户确认收款方和金额,点击立即支付后出现输入密码界面,可选择零钱或银行卡支付见。

    步骤(4):输入正确密码后,支付完成,用户端微信出现支付详情页面。

    步骤(5):回跳到商户APP中,商户APP根据支付结果个性化展示订单处理结果。

    (5)H5支付

    H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。

    主要用于触屏版的手机浏览器请求微信支付的场景,可以方便的从外部浏览器唤起微信支付。

    (6)应用内支付

    应用内支付指使用手机操作系统自带的支付功能来支持支付,目前国内主要的应用内支付有Google Pay、Apple Pay、小米支付、华为支付等。

    其中Apple Pay是典型的一个应用内支付,Android平台的各种支付也一般是沿用Apple Pay的设计。

    很多手机厂商都内置了各种支付,比如:苹果的App-pay支付,三星支付、华为支付等;这些支付仅针对特定的手机型号,支持NFC等,根据业务需要也可以接入;就是目前用户群不大,收益不明显。

    4.支付类型

    以支付标的物来划分,支付类型分为:银行卡支付、余额支付、零钱支付、积分支付、代币支付、话费支付等。

    (1)银行卡支付

    银行卡支付指的是我们直接使用微信、支付宝、网银、快捷支付等绑定的银行卡作为支付标的,银行卡分为线上支付(我们通常使用的在线支付)&线下刷卡(POS)支付。

    (2)余额支付

    有的交易平台为了增加用户粘性会设立余额账户,用户可以给自己的余额账户充钱,在后续的支付过程中可以直接使用余额支付。

    背后的资金流转只在用户充值,提现的时候提现,平时的余额支付仅仅只是信息的流转。

    (3)零钱支付

    和余额支付原理一样,例如微信零钱包,收到的红包存入零钱可以用来支付,或者提现,还可以对零钱进行充值。

    (4)积分支付

    用户在交易平台获得的积分,可以用来购买支付平台商品,这个时候只有信息流的流转,背后并不会有实际资金流的流转。

    (5)代币支付

    交易平台会发行自己的代币,用户充值购买代币后,可以在平台商城进行消费,背后的支付逻辑和余额支付是一样的。

    (6)话费支付

    话费支付这一块容易被人忽略,但考虑到国内不少职场人士,话费是公司报销的,每个月多的用不完,所以这块支付还是相当有市场的。

    问题是:联通和移动两大运营商,不仅接口不能互通,内部各个地域也是各自为政,所以对接起来还是有点麻烦。

    不过话费支付领域也有类似支付宝微信的第三方支付公司,比如:虹软、联动优势等公司。

    5.银行接口

    任何一家支付机构后台都要接入一堆银行,来完成代收的操作。

    目前银行开放给第三方机构(包括第三方支付平台)的接口大概有四类:POS收单接口,网银接口,快捷支付接口和代扣接口,这四类接口的作用就是把资金从用户的银行卡划转出来。

    我们经常所说的网银支付,快捷支付其实是针对银行接口来说的,并不是第三方支付方式,只不过第三方支付平台要完成扣款的操作,必须要接入这些银行接口。

    用户在第三方支付平台选择网银进行支付时,此时的第三方支付平台其实也是充当了银行网关的作用。

    但是并不能说网关支付就是网银支付,这是两个不同的概念,网关支付是针对第三方支付平台来说的,网银是针对银行来说的,只不过因为使用银行网银进行支付时,第三方支付平台充当了一个网关的角色,所以经常有人把这两个概念混淆。

    6.支付应用

    常见的支付应用有:支付、转账、充值、提现、红包,基于以上规则还会衍生出很多的支付场景和应用。

    7.支付系统

    支付系统比较复杂,每一个大的模块都需要用整篇文章来说明,本文暂不讨论支付系统,但是支付系统是支付体系的具象表达,所以设计&研习的基本模型不变。明确具体业务和场景的信息流&现金流以及基本规则,基于框架设计出业务闭环&逻辑闭环的系统模块。例支付FM支付系统,就是一个非常稳定的聚合系统。

    三、支付模型总结

    综上,我们可以得出支付产品设计的高阶方法论:基于基本的支付规则,明确每个支付场景和应用下的信息流&资金流转,结合可操作性的用户支付流程,从而设计出逻辑闭环的支付产品。

    四、小公司如何对接第三方支付

    1.选择合适的支付公司&支付渠道

    寻找合适的支付公司,可以通过百度去搜索相关第三方支付公司的资料以及排名等,看支付公司的背景和应用的商户的体量,支付渠道公司在支付行业内的知名度和沉淀(经验),这些可以从侧面体现支付公司的技术稳定性,产品稳定性。

    在大前提的OK的情况下,具体了解其支付业务都有哪些,而平台需要的支付业务都有哪些,然后进行匹配。

    此外,还要考虑是否需要对接钱包和账户体系等。

    准确传达目前公司的业务逻辑和支付需求场景,让支付公司推荐最优的解决方案。

    同时,洽谈范围中非常重要的还需要包含支取渠道收取平台的手续费的问题,还有就是支付渠道的分账是T+1(仅工作日次日)还是D+1(无论工作日与非工作日的次日)等等细节也都是需要在此阶段最终明确的。

    下面是一些第三方公司支付渠道的一些性能参数,可以作为筛选的评判标准。

    1.1稳定性

    支付渠道首先需要保持足够的稳定性,不稳定的支付渠道可能会导致支付流程崩溃、掉单等情况的发生。

    1.2成功率

    支付渠道的成功率也是非常重要的,支付渠道的成功率较低的话会很容易导致大量的掉单的情况,用户的支付体验较差。

    1.3手续费

    支付渠道的使用并非免费的,通过支付渠道的每一笔交易都会被支付渠道公司收取一定百分比的手续费,平台存在大量交易的情况下,选择手续费高的支付渠道会导致平台支付渠道的成本变高。

    因此,对比多家支付渠道的情况下,选择手续费较低且稳定性和成功率有保障的公司是最佳的。

    一般大流量的平台往往可以拿到较低的手续费率,比如:支付宝和微信等第三方支付渠道给大型交易平台的支付手续费一般会在0.3%以下,甚至更低。

    而个人商户或者小平台的费率比较高,可能达到0.6%左右。

    1.4支付限额

    出于资金安全和风控的角度考虑,很多支付渠道都会定义其对应银行支付的支付限额,比如:使用某支付渠道单日支付金额限制不超过5W。

    平台在选择支付渠道时,支付限额较高的渠道相对来讲具有更大的支付便捷性,在用户支付大额的订单金额时,不会很容易被限制而无法完成单笔支付。

    1.5其他因素(支付流程)

    支付流程主要是关于支付渠道的的产品细节沟通,比如:该支付渠道公司的支付走的是认证支付还是快捷支付,还是两者都有?是通过API接口形式还是SDK嵌入的形式?

    SDK嵌入形式会导致底层数据平台端无法获取,平台可以获得到的就是一个支付结果,但是API的对接形式平台自己可以监控整个的支付流程,包含支付中发生的异常情况监测,比如响应超时的情况等。

    还有,需要确认字段信息,支付四要素(姓名、身份证、银行卡号、预留手机号)等。

    以上信息都是综合判断选择一家支付公司的评判标准。

    2.选择合适的支付公司后进行商务对接

    确定支付渠道&形成支付产品逻辑闭环,在初步确定好支付公司后,平台方公司支付产品需要梳理出支付全流程业务需求,然后跟支付渠道公司做具体方案的对接和讨论,形成从用户的支付场景闭环到技术的闭环。

    3.技术对接

    在确认好业务支付流程和具体的产品方案细节后,就将进入技术对接的阶段。

    这个阶段内双方公司的研发同学会进行技术层面的对接和调试,根据确定的支付流程细节的方案来确定需要开发的内容,并按照支付公司提供的接口文档和流程图等资料来进行支付功能的开发。

    比较核心的内容就是“支付”和“对账”:关于支付主要考虑支付在交易流程中如何调用来唤起支付,而对账主要是进行公司内部对账、公司与商家对账、公司与支付渠道对账的数据记录。

    PS:一般这种支付信息对账都是T+1进行的。

    4.测试调通

    技术对接阶段完成基本对接和调试后,将进入双方协同的测试阶段。在遍历了全部业务流程的全部支付场景无误之后(包含异常流程的测试,比如:故意吧把四要素信息填写错了,银行卡余额不足来测试等等),完成测试,并确定支付渠道产品上线。产品上线后,还需要一段时间的跟踪验证,对于出现的线上问题及时修复和处理,以保证支付渠道无BUG。

    例:

    平台型企业

    小赵有一家公司,这家公司类似于淘宝,连接店主和C端客户的交易。这个时候小赵需要对接一家支付公司,可以满足C端用户在店主商城支付的场景,同时能满足店主的充值提现需求。这个时候小赵公司如果有支付牌照,那样就可以完全可以满足以上的支付需求。如果小赵公司没有支付牌照,那么他可以这样选择:

    对接支付FM平台的聚合支付接口,店主获得的收益会自动由第三方公司结算。优点是小赵的公司没有形成资金池,也不存在“二清”的违规操作,缺点是各个商户渠道侧的支付数据小赵的公司是拿不到的,如果店主出现对账问题,小赵的公司要第一时间解决是一件很麻烦的事情。

    展开全文
  • 支付通道

    2019-07-10 11:30:10
    支付通道:是指提供支付受理能力的具体提供方或者三方跳转的通道方,也是收单方,清算方。比如工行直连通道、银联通道,就像你去超市买东西的时候看到的康师傅方便面是品牌,江西的供货商还是江苏的供货商,消费者看...

    支付通道:是指提供支付受理能力的具体提供方或者三方跳转的通道方,也是收单方,清算方。比如工行直连通道、银联通道,就像你去超市买东西的时候看到的康师傅方便面是品牌,江西的供货商还是江苏的供货商,消费者看不到,对于商家来说那就是通道。
      从通道的用途、通道支持的对象、通道支持的形式、支持发卡行地区可以做如下图归类划分:
      一、 根据通道的用途:我们分为出款通道、入款通道、鉴权通道。
      出款通道:就是能够实现自己把钱付给别人的通道,有代发(代付)类、转账类通道。主要应用于提现、发工资、退款等场景。
      收款通道:就是能够实现别人把钱付给自己的通道,有很多,如代扣、Moto、无磁无密、网银、快捷、转账、Pos支付、扫码支付、账户支付、近场支付。应用场景很多,网上支付、扣款、信用卡代扣、水电煤代缴等等都是。
      鉴权通道:就是和支付无关,只验证信息是否正确的通道。比如卡信息验证、身份信息认证。像账户的一些实名认证以及银行卡的绑定都需要用到鉴权通道。
      二、 根据通道支持对象:我们分为对公支付、对私支付。
      对公支付:用于企业账户支付,包括企业网银,企业账户代扣,企业转账等等。
      对私支付:用于个人账户支付,包括银行卡支付,微信、支付宝等三方个人账户支付。
      三、 根据通道支持形式:我们分为卡基支付、账基支付。
      卡基支付:以卡片作为支付工具通过各种媒介提供并验证卡信息进行支付的行为。各种媒介包括Pos、闪付、电话支付、无磁无密等方式。
      卡基特性:
      1、卡基的核心是卡号;
      2、资产存储在卡号;
      3、支付媒介不仅是刷卡,包括Pos、闪付、电话支付、网银支付、线上无磁无密支付等通过卡信息进行支付的媒介。
      账基支付:以账户作为支付工具提供并验证账户信息进行支付的行为。
      账基特性:
      1、账基的核心是实名认证+密码验证,密码可以是密钥,可以是数字,可以是指纹,可以是短信;
      2、资产存储在账户里;
    在这里插入图片描述
    如何选择支付通道?
    1.稳定性
    不稳定的支付渠道可能会导致支付流程崩溃、掉单等情况的发生。
    2.成功率
    支付渠道的成功率较低的话会很容易导致大量的掉单的情况,用户的支付体验较差。
    3.手续费
    通过支付渠道的每一笔交易都会被支付渠道公司收取一定百分比的手续费,平台存在大量交易的情况下,选择手续费高的支付渠道会导致平台支付渠道的成本变高。
    因此,对比多家支付渠道的情况下,选择手续费较低且稳定性和成功率有保障的公司是最佳的。
    一般大流量的平台往往可以拿到较低的手续费率,比如支付宝和微信等第三方支付渠道给大型交易平台的支付手续费一般会在0.3%以下,甚至更低;而个人商户或者小平台的费率比较高,可能达到0.6%左右。
    4.支付限额
    出于资金安全和风控的角度考虑,很多支付渠道都会定义其对应银行支付的支付限额,比如使用某支付渠道单日支付金额限制不超过5W。平台在选择支付渠道时,支付限额较高的渠道相对来讲具有更大的支付便捷性,在用户支付大额的订单金额时,不会很容易被限制而无法完成单笔支付。
    5.其他因素(支付流程)
    支付流程主要是关于支付渠道的的产品细节沟通,比如该支付渠道公司的支付走的是认证支付还是快捷支付,还是两者都有?是通过API接口形式还是SDK嵌入的形式?

    展开全文
  • 为了满足日益增长的业务需求,大量的支付通道逐渐接入,但由于对接的各银行和第三方系统的稳定性参差不齐,支付通道故障时有发生,作为承接上下游的核心系统,要在一系列不稳定的系统之上建立一个可以给上游提供稳定...

    随着支付业务量激增,支付团队不断壮大。为了满足日益增长的业务需求,大量的支付通道逐渐接入,但由于对接的各银行和第三方系统的稳定性参差不齐,支付通道故障时有发生,作为承接上下游的核心系统,要在一系列不稳定的系统之上建立一个可以给上游提供稳定服务的系统,仅依赖人工维护是远远不够的,所以建立一个完善的支付通道自动化管理系统势在必行。本文主要介绍美团点评技术团队支付通道自动化管理的演进之路。

    监控系统初级阶段初级阶段

    初级阶段

    故障处理流程图如下:故障处理流程图

    故障处理流程图

    支付通道自动化管理的初级阶段持续时间是2014.06~2015.09,故障处理手动切走、手动切回,一次支付通道故障的详细处理流程如下: (1) 支付网关监控检测到支付通道成功率异常,发送报警消息到美团点评技术; (2) 美团点评技术立即查看监控页面确认故障,并登陆到渠道路由配置页面去修改对应支付通道的状态,将通道置为不可用; (3) 收银台实时读取支付通道状态,将故障通道的流量全部切走; (4) 美团点评技术联系银行或第三方报故障,对方去查看问题,确认恢复后通知美团点评技术; (5) 美团点评技术修改支付通道状态为可用,收银台实时读取到该支付通道,将线上流量导入; (6) 如果支付通道恢复,则用户可以正常交易,本次故障结束; (7) 如果支付通道未恢复,大量交易失败,美团点评技术需要将该通道重新置为不可用,再次去联系银行或第三方处理,如此往复,直到该通道的所有交易正常,本次故障结束。

    初级阶段存在的问题

    初级阶段系统的主要目标是扩大支付通道的覆盖范围,提高用户支付成功的概率。随着支付通道的不断接入,由于公网环境、银行或第三方系统的不稳定性,导致故障频率升高,故障时间延长。而此时处于初级阶段的监控系统已无法有效保证通道的稳定性: (1) 支付网关监控报警漏报率较高,小流量通道故障无法及时发现; (2) 支付通道切换都是人来手动处理,一方面技术的工作量严重增加,另一方面无法保证在处理故障过程中没有任何误操作; (3) 故障解决花费的时间较长,故障对用户造成的影响就更大,同时用户的不断重试对支付系统本身也造成很大的压力; (4) 故障通道尝试恢复时,只能全部打开用线上真实交易来检测,可能会因为通道尚未恢复,造成二次故障,扩大影响范围。

    系统优化

    优化监控系统

    (1) 优化监控算法:优化监控算法,将报警的准确度提高到95%,基本做到无误报、无漏报; (2) 新增自动置通道为不可用功能:监控检测到支付通道故障时,一方面发送报警消息给技术人员,另一方面调用渠道路由的接口将支付通道置为不可用,实现支付通道故障的快速降级。

    此时的监控系统如下图所示:中级阶段

    中级阶段

    渠道路由支持实时通道变更

    在初级系统中,渠道路由的主要功能是提供通过页面修改支付通道配置来实现人为管理支付通道的功能。随着监控系统的完善,监控准确度和灵敏度提升,此时监控系统已经具备支付通道管理的决策力,需要渠道路由提供一个可以实时更新支付通道状态的接口,以实现支付通道的自动化管理。而作为自动通道切换的补偿机制,渠道路由还实现了基于移动App人工一键切换的功能,尽最大可能保证故障的快速解决。

    渠道路由提供的接口除了具备实时通道状态变更功能以外,还需要进行了以下几个方面的控制: (1) 一键切换功能,必须控制访问权限; (2) 具有事务控制和时效性控制,无论是自动还是一键切换,一次故障必须能且只能切走通道流量一次; (3) 必须保证通道状态变化可以通过各种途径通知到相关的技术人员。

    故障处理流程图

    中级阶段

    中级阶段

    支付通道自动化管理的半自动化阶段持续时间是2015.10~2016.10,故障处理自动切走、手动切回,一次通道故障的详细处理流程如下: (1) 监控检测到通道成功率异常发送报警消息给美团点评技术,同时自动将通道置为不可用; (2) 美团收银台实时读取通道状态,将故障通道的流量全部切走; (3) 美团点评技术立即联系银行和第三方报故障,对方确认问题和恢复情况后反馈到美团; (4) 美团点评技术修改通道状态为可用,收银台实时读取到通道状态为正常后,将线上流量放入该通道; (5) 如果通道恢复,则用户可以正常交易,本次故障结束; (6) 如果通道未恢复,大量交易失败,美团点评技术或监控会再次将通道状态为不可用; (7) 美团点评技术再次联系银行或第三方处理故障,如此往复,直到线上交易正常,本次故障结束。

    主要完成的改进点

    (1) 优化报警监控算法,并支持一键查看通道状态,保证支付通道故障的快速发现; (2) 实现故障通道一键切换和自动切换,从各方面保证通道故障快速处理; (3) 大幅降低处理支付通道故障的人力成本。

    半自动化阶段存在的问题

    半自动化阶段已将故障处理流程大幅简化,但此时的系统中还存在以下问题: (1) 通道恢复依赖于银行或第三方的反馈,导致支付通道恢复延时较久; (2) 一次通道故障涉及到的系统和人员较多,人工无法保证全面和及时的周知。

    但渠道路由由于早期设计的局限性,无法实现全自动化,需要优化监控系统和渠道路由系统。

    系统优化

    实现监控自动回切

    监控自动回切的主要思想是对故障通道进行小幅放量,通过检测放量交易的成功率判断通道是否恢复正常。如果小幅放量的交易成功率正常则继续放量,反之则直接将通道切回故障,隔一段时间再重新开始进行放量测试,直到将通道置为正常为止。自动回切状态机如下图所示:通道状态变化状态机

    通道状态变化状态机

    此过程的关键点是通道放量节奏的控制,通道放量节奏的影响要素有三个:首次放量的大小、两次放量时间间隔、通道放量速度,放量节奏太快则易造成二次故障,太慢则通道恢复过慢,无法达到缩短故障影响时间的效果。以下是最终实现的一次通道回切过程示例:

    (1) 通道放量,但放量失败通道放量但放量失败

    通道放量但放量失败

    (2) 再次放量,如果成功则扩大放量再次放量

    再次放量

    (3) 通道切回正常通道放量但放量失败

    通道放量但放量失败

    实现通道相关系统间联动

    支付通道故障时,一方面通过消息组件通知到营销活动、退款等系统,协助进行活动下线、通道退款关闭等处理,减少通道故障对其他系统的影响;另一方面以接口方式通知业务方系统,协助业务方系统进行故障分析。

    渠道路由重构和优化

    解决业务问题

    支付通道有两种通道类型,第一种定义为“单卡通道”,只给指定银行的指定卡种使用的通道,比如“中国银行储蓄卡快捷通道”就只能给输入了中国银行储蓄卡卡号的请求使用;第二种定义为“跨卡通道”,能给多个银行的指定卡种使用的通道,比如“银联API储蓄卡”就可以给“中国银行储蓄卡”、“中国建设银行储蓄卡”等多个银行的储蓄卡账号使用。

    (1) 处理“跨卡通道”上某家银行故障的情况

    由于老路由系统设计之初,只简单从“银行渠道”和“支付通道”两个维度考虑存储信息,设计的表结构比较简单,对于支付通道故障的情况只能切换整个通道。如果是“跨卡通道”的单个银行故障,老系统无法做到只把这故障银行流量切走——要么放任整个“跨卡通道”因为单个故障银行拉低成功率,要么切走整体通道的流量。在新路由系统中,针对每家银行的指定卡种,分别记录“跨卡通道本身不支持”和“跨卡通道支持但是银行系统故障”的两类数据,在执行路由逻辑筛选的时候就根据这些信息进行过滤,实现“跨卡通道”切走单个故障银行。

    (2) 配合通道监控系统实现通道的回切放量,试探性逐步恢复通道

    解决技术问题

    (1) 收敛分散的业务和存储逻辑

    驱使重构路由系统的一大原因是老路由系统业务逻辑和数据存储分散、系统间的逻辑严重耦合、边界不清晰,经常在系统间模糊地段踩坑。因此,重构后需要将路由逻辑全部收敛到路由系统,这包含两个层面:

    代码层面——新路由系统需要整合老路由系统逻辑(Java代码)和上游收银台中的路由逻辑(PHP),划清上下游的职责边界。 存储层面——原来收银台或者交易系统会分别从配置中心、缓存、数据库表、代码配置文件、老路由系统接口中获取不同的数据,数据无法被集中管理。重构之后,全部数据都由新路由管理集中管理,任何上游的数据需求都通过RPC接口请求路由系统。

    (2) 系统容量和时效性

    由于路由逻辑和基础数据都收敛到新系统,重构后的路由将成为支付路径上的关键环节,用户在美团点评的每次支付交易至少会调用一次路由系统。根据目前美团点评的体量,这对路由系统的峰值容量提出考验。另一方面,由于重构系统需要兼容之前的老逻辑,这会导致有些接口的响应时间达到几百毫秒甚至超过一秒,对内网调用来说是不可接受的。

    水平扩容机器是可以解决第一个问题的,但是无法解决第二个问题。基于路由的业务场景是典型的“读多写少”、且基础数据总量有限的情况,数据完全可以缓存在业务机器上,这样能极大地减少对数据库的读取次数。采用本地缓存的方案后,系统接口响应时间由秒级降为毫秒级。由于降低了请求处理时间,一个线程的处理能力也相应提高了数十倍,系统的整体处理能力得到量级提升。

    (3) 系统容灾方案

    路由系统的容灾主要从两方面实现:

    降低对外部组件的依赖性——“本地缓存”的引入使得路由系统处理实时业务请求时,不直接读取外部的缓存中心或者数据库,这样避免了这些基础组件可能带来的风险。

    制定服务异常时的备用方案——如果路由系统异常将会直接导致用户无法支付,因而收银台系统需要对路由进行依赖降级,采用的方案是: a. 路由系统定时从数据库中读取基础数据,并根据路由策略产生兜底数据,同步到配置中心; b. 当路由系统异常,收银台系统将降级读取兜底数据,保证用户完成支付。

    故障处理流程

    通道放量但放量失败

    通道放量但放量失败

    支付通道自动化管理的半自动化阶段持续时间是2016.11至今,故障处理自动切走、自动切回,一次通道故障的处理流程如下: (1) 监控检测到通道成功率异常发送报警消息给美团点评技术人员,同时自动将通道置为不可用; (2) 收银台实时读取通道配置,收银台不会再将流量放入该通道,从而将故障通道的流量全部切走; (3) 监控在将通道置为不可用一段时间后,尝试对故障通道放部分量进来用以检测通道是否正常; (4) 如果放进来的这部分量成功率正常,监控则继续放2倍的量,直到通道全量,监控将通道置为可用; (5) 如果放进来的这部分量成功率异常,则将通道直接置为不可用,监控隔一段时间后再继续进行放量,直到通道恢复为可用; (6) 美团点评技术在发现通道故障后,可以向银行或第三方询问故障原因,并记录,留作日后分析使用。

    系统演进到这里,支付通道的管理已经基本实现了完全自动化,只有故障原因等附加信息需要人工获取。

    主要解决的问题

    (1) 渠道路由重构和优化后提供了根据配比放量的功能和通道故障发送推送消息到各个需要知道通道状态变化的系统; (2) 监控可以根据通道当前状态和成功率情况,可以主动选择将通道置为故障、开始放量、继续放量、切回故障、置为正常等操作,检测通道是否恢复,以实现支付通道自动管理的功能; (3) 释放了大量需要处理通道故障的人力资源; (4) 及时周知到相关系统,降低故障影响,协助业务方系统进行故障分析。

    支付通道管理系统在故障处理上的性能对比数据如下:

    阶段初级阶段半自动阶段全自动阶段
    平均故障响应时间20min1min1min
    平均人力成本60min43min2min
    平均故障恢复延迟180min180min20min

    注: 故障响应时间:从通道发生故障到通道被置为不可用的时间; 平均人力成本:故障发生期间需要耗费人力; 平均故障恢复延迟:银行或第三方真正恢复到美团打开通道入口的时间。

    支付通道管理系统的演进过程就是一个完整的支付通道自动化管理的实践之路,自动化不仅提升了系统故障处理能力,提升系统可用性,还释放了大量人力。随着支付系统的发展,后续支付通道自动化管理系统还将面临新的问题和挑战。总结实践的过程,主要有以下两点:

    监控系统的完善和优化

    从监控系统从单一的成功率计算到覆盖几乎所有维度,以及后续的与其他系统联动实现支付通道自动化管理的功能,对于维护和提升系统可用性和稳定性起到了非常重要的作用。

    渠道路由功能的完善

    渠道路由提供了通道切走和回切放量功能,与监控系统完美的配合,实现支付通道的自动化管理功能。

    目前的支付通道自动化管理还需要在以下四个方面进行优化:

    (1) 优化监控算法,将报警准确率95%提升到99%以上; (2) 故障自动通知到银行或第三方技术人员,完全释放故障处理耗费的人力; (3) 实现银行和第三方网关网络异常的自动化处理; (4) 渠道路由的回切放量,优先命中耐受力比较强(统计维度上客诉少)的用户进行成功率探测,以减少对业务的影响。

    转载于:https://my.oschina.net/u/4060687/blog/3004629

    展开全文
  • 支付通道基本原理

    千次阅读 2020-07-22 21:21:42
    支付通道是指双方或多方无需信任地交换和更新tx的机制。在支付通道技术里,tx会在多方之间多次更新,除了最后一次更新需要上链,其他的更新都可以链下进行。这个特点特别适合需要快速更新tx的场景,比如频繁快速的...

    支付通道是指双方或多方无需信任地交换和更新tx的机制。在支付通道技术里,tx会在多方之间多次更新,除了最后一次更新需要上链,其他的更新都可以链下进行。这个特点特别适合需要快速更新tx的场景,比如频繁快速的支付等。相比每次支付都上链,支付通道的优势之一是可以节省手续费。

    必备知识:nSequence和nLockTime

    在了解支付通道之前,需要先了解比特币的两个技术点:nSequence和nLockTime

    nSequence约束tx更新

    每个tx的每个input都有一个nSequence字段,可以把该字段理解为input的版本号,版本号越大表示版本越新。该字段为最大值0xFFFFFFFF时,表示已经是最新版本了,不会再更新了。

    矿池内存池可以接受nSequence大的tx替换nSequence小的tx,但反过来不行。

    nLockTime和nSequence联合约束tx的打包时间

    每个tx都有一个nLockTime字段,该字段的数值表示一个时间,含义为:在这个时间之前,该tx可能会更新。

    一个tx中,如果至少有一个input的nSequence值不是最大值,那么就表示说:这个tx不是最终版本,可能还会更新,先别打包进区块。什么时候打包呢?等当前时间超过nLockTime时,无论是不是最终版本,都可以打包进区块了。也就是说,如果nLockTime是未来的某个时间,那么该tx就只能在内存池里等待被更新,一直到当前时间超过nLockTime。

    案例分析:微支付

    有了nSequence和nLockTime,就可以实现支付通道了,我们设想如下场景:

    Alice是一个论坛的管理员,她的老板你不用猜就知道,叫Bob。每当有人在论坛上发帖时,Alice都会审核帖子是否符合论坛规定。Alice领的是计件工资,审核一个帖子获得0.0001BSV,一天结算一次。但Bob老拖欠工资,Alice就说我每审核完一个帖子,你就得给我付一个帖子的钱,你不给钱,后面的帖子我就不审了。Bob说行是行,但这手续费占比可就太高了,不划算啊。要不这样,咱用支付通道吧,可省手续费了。
    流程图

    1. 创建“抵押tx”

      • Bob:先转了0.1BSV到一个Alice和Bob 2/2签名的output里,作为抵押款。这个tx他自己留着没公开,也没给Alice。
    2. 创建“退款tx”

      • Bob:又创建了一个tx,把抵押款作为输入,把所有抵押款(除去手续费)转到自己的地址。但该tx的nLockTime是24小时后,并且input的nSequence设置为1。这个tx的意思是说:如果24小时时间里,Alice啥也没干,那就全额退款给Bob。并且,这个tx后续可能会有更新。但这个tx要花抵押款,只有Bob一个人签名是做不到的,所以他签名后把该tx发给Alice签名。

      • Alice:检查是24小时后退款才会生效,就放心签了名给了Bob。然后,要求Bob把抵押tx发给自己。

    3. 广播“抵押tx”

      • Bob:应Alice要求,把抵押tx给了Alice。

      • Alice:确定抵押tx的output里的确有2/2签名的0.1BSV抵押款,并且退款tx也的确是花的抵押tx里的钱。于是,Alice把抵押tx提交给矿池。

    4. 更新“退款tx”,以支付工资

      • Alice:审核了一个帖子,需要Bob付款了。所以她更新了“退款tx”,增加了一个新的output,放了0.0001到这个output,该output Alice自己可以独立花费。并把input的nSequence加1。现在,新版本的“退款tx”的功能已经不仅仅是退款,而且还有支付给Alice工钱的功能。Alice先对新版本的tx签名,然后发给Bob也进行签名。

      • Bob:收到新版本的退款tx后,检查确实只有0.0001BSV转给Alice,剩下的还是转给自己,就放心签名并发给Alice。

    Alice和Bob可以一直重复第4步,每次都给Alice的output多加0.0001BSV,从Bob的output减少0.0001BSV,直到一天工作结束。任何一个人都可以把最新的tx提交给矿池,等待24小时到期后各得其所。

    或者中间有一方不满意了,直接中断了合作,把最新tx提交给矿池,此时每个人仍然得到结束前最新的那次协商的资金。因为每次协商只有0.0001BSV的差距,所以双方也不会有大损失。

    总结

    通过支付通道,可以多方无需信任地快速更新tx,并节省上链手续费。

    本文只举了一个基本的例子来介绍原理。用支付通道还可以实现更复杂的功能,后续文章会继续介绍其他复杂的应用场景。


    参考资料:

    1. Micropayment Channel
    2. Payment Channels
    3. nLocktime and nSequence
    展开全文
  • 对接支付宝支付通道接口

    千次阅读 2019-01-10 11:04:55
    最近公司接的项目到了后期,我负责结算这块对接了支付宝和微信的支付通道,支付宝接口比微信调起来舒服的多 首先商户在蚂蚁金服开发平台申请开发权限,配好密钥下载支付宝工具jar包,然后对接相应的接口 这几个都...
  • 这个支付平台基本包含了所有的支付通道,详情看截图,有喜欢的拿去研究
  • 支付通道 首先在介绍微支付之前,说说我对于区块链世界的理解。我们可以这样认为:首先区块链世界是去中心化的,也就是说没有一个中心机构。在现实世界中,中心机构可以作为一种权威,比如银行,你转账通过银行,...
  • 以太坊支付通道

    万次阅读 2019-05-12 08:33:58
    本文讨论了小额交易的问题,介绍了支付通道,并概述了支付通道的工作方式。 下图的交易流程可大致反映以太坊的简单支付流程: 先由发送方(sender)将钱包里的以太币发送给以太坊网络,再由后者将一定数量的以太...
  • 银行卡在线支付网关是网银在线推出的基于银行卡在线支付的第三方电子支付系统,通过整合各家银行的支付接口,支持国内银行借记卡和信用卡的在线支付,致力于为国内外从事电子商务的企业或个人提供安全、快捷、稳定的...
  • 第三方支付通道_USDT通道H5支付

    千次阅读 2019-05-31 13:25:15
    采用区块链2.0技术开发的数字货币USDT支付通道,安全快捷稳定,秒回调。 [需要通道看名字] 区块链支付通道,D0出入金,不冻结,没有资金池。 数字货币支付通道对接各行各平台,开放式API支持所以语言。 USDT支付通道...
  • 提供支付端口通道,场景包装 日常交易,查账对账,数据分析 现场测试搭建对接,当日可下号 数据自动回调,技术支持辅助 支持对公、对私结算,费率低 游戏商城 电商 小程序 app 公众号 跳转扫码等支付体系 对接正规...
  • 最近市面上很受欢迎的网银支付接口也比较稳定的网银接口就属,支付宝包装的网银接口了,目前市面上三方网银接口能够去用的不多几乎很少,也很难去寻找一条稳定的通道。 支付宝包装网银/支付宝网关/支付宝网银/网银...
  • 有聚合支付系统就有支付通道,有交易量才会有费率支出问题。 对于还不是特别了解的大家来说,一定要明白通道的价值。扣:2560852314 V号:gaqi12345678 什么是支付通道呢?支付通道是指提供支付受理能力的具体提供方...
  • 揭秘月入上千万的互联网黑产(支付通道)的运作模式及python Django框架支付平台实战原理 闲着无聊,给大家介绍一下,互联网黑产其中之一的私人支付公司如何月入几千万,希望大家别远离黑产,避免入坑,在日常生活中...
  • .net便捷的支付通道 一个接口集成支付宝,微信,网银支付,支行手机,电脑,APP,简单易操作 2、费率比微信支付宝官网要低 4、分T+0,T+1两种形式即秒到,第二天到账
  • 现在支付通道主流的就是微信和支付宝了。原生支付需要企业资质或者是个体资质。不合适个人使用。那个人能不能使用微信或者支付宝进行网上收款呢,肯定是可以的。 支付宝免签D0笔笔秒到账模式分为转账模式,网关模式...
  • 关于支付通道(一)

    2021-04-14 13:41:37
    支付通道:是指提供支付受理能力的具体提供方或者三方支付跳转的通道方,也是支付收单机构,清算方。比如工行直连通道、银联通道,就像你去超市买东西的时候看到的康师傅方便面是品牌,江西的供货商还是江苏的供货商...
  • D0——区块链支付通道

    千次阅读 热门讨论 2019-05-29 14:40:42
    采用区块链2.0技术开发的数字货币USDT支付通道,安全快捷稳定,秒回调。 区块链支付通道,D0出入金,不冻结,没有资金池。 数字货币支付通道对接各行各平台,开放式API支持所以语言。 USDT支付通道基于以太坊底层...
  • 支付系统从架构上来说,分为三层; 支撑层: 用来支持核心系统的基础软件包和基础设施, 包括运维监控系统、日志分析系统等。 核心层: 支付系统的核心模块,内部又分为两个部分: 支付核心模块以及支付服务模块。 ...
  • 支付方式且轻量易用的支付收款系统,满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能。 主要特点: 拥有支付系统通用的支付通道接收,用户管理,资金账户管理,对账清算管理,支付订单管理等功能;...
  • 区块链-简单的支付通道

    千次阅读 2019-05-28 20:28:30
    摘自《精通比特币》 要说明状态通道,我们必须从一个非常简单的例子开始。 我们展示一个单向通道,意味着价值只向着一个方向流动...一旦我们解释了基本的通道概念, 我们将会接着看看是什么使得支付通道可以无信...
  • 区块链与支付通道

    2020-07-05 10:35:27
    区块链与支付通道区块链中支付通道相关论文A Fast and Scalable Payment Network with Bitcoin Duplex Micropayment ChannelsThe bitcoin lightning network Scalable off-chain instant paymentsFlare An Approach ...
  • 支付通道一般都有两种通知应用程序支付结果,一个叫PDT,一个叫IPN,有些名称不一定叫这个,但是一般来说,原理是一致的,我们这里采用的是Paypal 的叫法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,696
精华内容 10,278
关键字:

支付通道