ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

快捷支付与网关支付的区别:从交易流程到接入选型全解析

快捷支付与网关支付的区别:从交易流程到接入选型全解析 做支付接入这几年被问得最多的问题不是怎么对接银行而是快捷支付和网关支付到底有什么区别。尤其是刚入行的朋友看着商户后台里一堆支付方式什么快捷、网关、代扣、协议支付、聚合支付整个人都是懵的。今天我就把这两个概念彻底拆开从交易流程、技术原理到选型和踩坑一次性讲透。先说结论网关支付是把用户带到银行页面去付钱快捷支付是把银行卡绑到支付平台上直接扣钱。这两句话理解透了后面的细节都好说。1. 先搞明白一件事线上支付到底在干什么1.1 一笔线上付款背后是怎么流转的要理解快捷支付和网关支付的区别不能只看前端页面你得把一笔钱怎么从用户的银行卡到商户账户这条链路看明白。假设一个用户在你的网站或App上买东西他用的是一张A银行的卡他自己的钱存在A银行。你的商户收款账户开在B银行或者开在某支付机构。那么这笔钱要从A银行账户扣出来经过清算环节最后进到B银行账户。中间至少涉及持卡人、商户、支付机构、清算组织、发卡行、收单行这几个角色。把这条链路比作实体店的买房流程顾客拿着一张银行卡到收银台收银员把卡插进POS机POS机通过银联或网联渠道把扣款指令发给顾客的开卡银行银行确认密码和余额后扣款再通过清算网络把钱划给商户的银行账户。线上支付无非是把这套线下流程放到了网页和手机App里区别在于谁来替用户输入银行卡信息以及用户在哪里完成身份验证。网关支付和快捷支付的分水岭恰好就在这两个问题上。1.2 名词为什么这么乱很多新人最大的困惑不是流程复杂而是名词太多。快捷支付、网银支付、网关支付、协议支付、代扣、无磁无密、绑卡支付每个词在不同场合含义还不完全一样。这其实是因为行业里的参与者太多银行管它叫快捷支付支付机构管它叫协议支付银联管它叫无卡快捷电商运营的人又管它叫一键支付。同一件事几个体系各说各话。我的习惯是不管别人用哪个词只看一件事用户在付款时是自己跳转到银行页面完成验证还是把卡绑定在商户/支付机构这边由支付机构代发起扣款指令。前者就是网关支付的逻辑后者就是快捷支付的逻辑。这个判断标准放到任何产品上都成立。2. 网关支付用户自己跑了一趟银行网点2.1 网关支付的标准流程网关支付本质上是一种跳转型支付模式它在PC互联网时代非常主流。完整的流程大概是这样的用户在你的网站下单点击去支付后系统把他引导到一个支付机构或银行提供的收银台页面。用户在收银台里选择自己银行卡所在的银行比如招行、工行、建行点击确认后系统再次跳转这次跳到了该银行的网银支付页面或者聚合网银页面。用户在真正的银行页面上输入卡号、取款密码、短信验证码甚至插入U盾完成支付。支付完成后银行页面跳回你的网站同时你的服务端还会收到一条异步通知告诉你这笔钱到账了。整个过程里用户的银行卡信息包括卡号、密码都是直接在银行页面输入的。作为商户你其实不接触、也不知道用户的完整卡号。你把用户送到银行门口剩下的验证和扣款都是银行来干。2.2 网关支付为什么到今天还没被淘汰很多人觉得网关支付是老古董应该被淘汰了。但实际做下来你会发现它依然活得好好的而且不可替代。第一B2B大额对公场景非常依赖它。企业之间的付款往往金额大几十万上百万很常见企业财务需要在网银端用U盾做双重授权这种场景快捷支付做不了因为快捷支付通常有严格的单笔限额和储蓄卡限额而B2C网关支付配合银行网银的额度体系可以支撑大额。第二某些特定用户群体仍然习惯使用网银。我在做保险缴费和装修建材类商户的时候经常遇到中年用户他们手机上没有支付App也不愿意绑定银行卡反而很习惯在电脑上打开网银页面付钱。如果你只接了快捷支付这类客户就直接流失了。第三对于初次交易、信任度不高的用户网关支付的页面在银行里这件事本身就是一种心理保障。用户看到自己进入的是银行的官网域名会天然觉得安全。快捷支付虽然方便但在别人页面上绑定自己的卡这个动作对有些用户来说就是过不去的坎。2.3 网关支付的体验和代价网关支付的体验可以用一句话概括链路长跳转多。多一次跳转就多一次流失的概率。用户可能在选银行的步骤就放弃了也可能在银行页面输入卡号密码时嫌麻烦放弃更可能支付完成后因为回跳失败而以为自己没付成功。但从商户接入角度说网关支付反而最简单。因为商户不需要处理银行卡敏感信息不需要做复杂的签约流程只需要按照支付机构给的接口文档发起一笔支付请求收到同步跳转地址再把异步通知处理好就行。接入周期通常非常短适合那些想快速上线支付功能的独立站和中小商户。从成本角度看网关支付的技术门槛也最低主要问题都集中在跳转和通知环节。我在后面的踩坑部分会专门讲。3. 快捷支付把银行卡拴在平台上的刷卡3.1 从绑卡、签约到一键支付快捷支付的逻辑和网关支付完全不同它把支付这件事拆成了两步第一步是签约绑卡第二步是扣款。先用签约环节举例。用户第一次在商户平台上付款时会被要求输入银行卡号、姓名、身份证号、银行预留手机号也就是所谓的四要素。有些银行和支付机构还会要求输入卡CVC2码或者有效期这就变成了五要素。这些信息被提交到支付机构支付机构再把验证请求发送给发卡行同时给用户的预留手机号发一条短信验证码。用户填上正确验证码后这张银行卡就完成了签约平台和银行之间建立了一道授权通道。在这个环节卡号、证件号被支付机构留了下来。这里要强调合规的支付机构会采用加密存储、令牌化Tokenization等手段保护这些敏感信息。签约完成后这张卡和用户账户之间建立了一种绑定关系之后用户再说要付款支付机构就可以直接向发卡行发起扣款指令而不需要用户再重新输入卡号密码。3.2 后续支付不输卡号怎么扣钱签约之后用户再次支付时流程简化成了三件事发起扣款请求、通过支付密码或短信验证码二次确认、扣款成功。这里有一个很多人不理解的环节叫协议支付或者无磁无密意思是银行卡磁条信息不再参与交易也不再需要用户输入取款密码靠的是签约时建立的授权协议和后续的验证方式来扣款。这也是快捷支付被一些人质疑安全性的原因。所以在移动端支付机构通常会叠加一道验证比如要求用户输入支付密码、接收最新短信验证码或者在大额场景下做生物识别指纹、人脸二次校验。小额场景还会用到免密支付。比如停车扫码、地铁刷闸机、共享单车用户体验是刷一下就走背后走的正是快捷支付的签约通道加上小额免密的验签机制。你会经常看到该笔交易享受300元以下免密快捷支付之类的描述就是这个逻辑。3.3 快捷支付背后的风控与限额快捷支付做了这么多年市场上对它最大的疑虑永远是风险和盗刷。2015年前后盗刷事件频发之后监管和行业把快捷支付的安全框架逐渐收紧。现在的快捷支付在签约环节必须通过四要素验证加银行短信验证码部分银行还会对绑定操作做限制比如同一张卡在不同平台的绑定次数、同一用户在单一平台绑卡数量、新卡绑卡后短期内能否发起大额交易等。交易环节则依赖风控系统识别可疑行为异常交易会触发拦截或追加人脸验证。限额上快捷支付通常分单笔限额、单日限额和月累计限额。商户侧看到的充值上限单笔最大金额往往不是支付机构定的而是发卡行对这个用户在快捷支付通道上设定的风险限额各行标准并不一致。这也是快捷支付接入中比较头疼的一点后面我再展开讲。4. 一张表把两者的区别讲清楚4.1 判断两个模式先问五个问题当你分不清某个产品是网关支付还是快捷支付时直接问自己五个问题基本就能锁定了。第一问用户要不要跳转到银行页面跳基本上是网关不跳在商户/支付机构页面内完成就偏向快捷。第二问要不要先绑卡、签约不需要绑卡、每笔都是全新支付流程的是网关必须先完成一次绑卡验证、之后才能支付的是快捷。第三问商户侧能不能看到用户的完整卡号正常情况下网关支付商户拿不到完整卡号只能拿到卡号后四位快捷支付在签约成功后商户通常也只能看到脱敏后的卡号但支付机构本身是掌握用户绑卡信息的。第四问支付是一次性的还是可重复的网关的每笔交易都独立走银行验证快捷支付一旦签约后续无限次发起扣款。第五问适合大额还是小额高频网关更适合大额低频快捷更适合小额高频和订阅类扣款。这五个问题列完两类支付的边界就非常清晰了。4.2 详细对比表格为了让你能直接保存对照我把两个模式从多个维度做了一个完整对比对比维度网关支付快捷支付交互模式跳转到支付机构收银台再跳转到银行页面在商户/支付机构页面内完成全程不跳转签约绑卡不需要每笔独立必须首次需四要素短信验证用户验证方式网银密码、U盾、短信验证码支付密码、短信验证码、小额免密商户是否接触卡信息不接触卡号在银行页面输入商户侧脱敏支付机构掌握签约卡信息交易属性每笔独立授权无绑定关系签约后可持续扣款接近代扣大额支持较强尤其对公网银、U盾授权较弱受发卡行限额约束小额高频体验差每次跳转繁琐好一键支付主流使用终端PC网站、对公业务移动端、App、小程序成功率受跳转、浏览器兼容性影响相对稳定但受限额和协议状态影响接入复杂度较低较高需处理签约、解约、协议失效典型场景B2B大额、保险缴费、老用户PC支付电商零售、订阅会员、打车外卖、免密停车这张表不是说哪个更好而是说哪个更适合你的场景。如果你做的是PC端企业采购商城网关支付是主力如果你做的是移动端内容付费、会员订阅、社区团购快捷支付是绝对主力。4.3 两者的核心逻辑总结用一句话总结各自的核心逻辑网关支付的核心是迁移验真也就是把用户迁移到银行的真实环境里去完成验真交易的安全边界在银行侧快捷支付的核心是授权委托用户一次性授权给支付机构之后支付机构基于授权代表用户发起扣款交易的安全边界从银行侧转移到了支付机构侧。这个转移既是快捷支付体验好的原因也是它风控压力大的原因。理解了边界在哪里你就知道做支付接入时应该把精力重点放在哪网关支付你要重点盯银行回跳和回调快捷支付你要重点盯签约、限额和协议状态管理。5. 商户选型实操你应该接哪个支付方式5.1 按业务场景快速选型我不喜欢给一个万能答案但可以给你一套非常实用的选型思路。做独立站或者网店客单价中等偏低用户主要用手机购物优先接快捷支付。这类场景用户的可选择性很多谁步骤少、出错少谁的下单转化率就高。吊着一个用户付三分钟他大概率直接不买了。做B2B企业采购、大宗商品交易、或者面对习惯使用电脑的客群网关支付建议保留甚至可以作为唯一通道。我的一个客户做工业设备电商客单价平均十几万买家全是企业采购和财务人员他们根本不用扫码支付那一套反倒要求提供对公网银支付。那时他意识到网关支付在B端不仅是一个支付方式还是一种企业信任凭证。做会员、SaaS续费、知识付费、订阅类产品就必须用快捷支付而且要做好签约留存。订阅类产品的核心指标之一是续费率和扣款成功率只有快捷支付能让你在用户不主动打开App的情况下完成周期性扣款。网关支付根本做不了这种静默扣款。还有一种容易被忽略的场景预授权和信用支付相关。比如酒店预授权、租车押金、二手交易担保这些都需要先把用户的银行卡占住额度后续再实际扣款或取消。网关支付一般只做即时支付指令预授权能力很弱。快捷支付的签约关系加上支付机构提供的预授权接口才能满足这类业务的资金流诉求。所以做平台类业务的朋友实操时优先选快捷支付方案。5.2 成年人不做选择双通道组合更稳很多商户问我到底接哪个我直接说如果是成立几年的业务你完全可以两个都接让用户自己选。这样做的好处非常明显。第一为用户兜底。快捷支付因为限额问题经常出现明明卡里有钱却付不了的场景我在6.2会具体讲。这时候如果商户还有一个网关支付入口用户就可以跳转到自己的网银页面用取款密码完成付款不浪费一笔订单。第二降低单个通道故障风险。支付通道偶尔会维护、升级、出问题双通道给了你一个切换的回旋余地。第三兼顾不同类型用户。年轻用户用快捷支付顺手中老年用户、企业财务用网关放心。具体的组合方法不复杂典型思路是快捷支付为主通道网关支付为兜底通道。用户在支付收银台上默认选中快捷支付支付失败时给出提示您也可以尝试跳转网银支付同时把网关入口放在页面底部不显眼的位置。需要注意双通道意味着你要面对不同的接口、不同的通知格式、不同的对账文件解析后台订单系统中必须有一个通道标识字段记录每笔订单到底走的是哪个通道否则对账和退款会乱。这是很多商户第一次做双通道时最容易犯的错误。5.3 接入前要注意的合规与费率问题说到选型就绕不开费率和合规。电商行业里有个常见误区觉得费率越低越好。我的经验是费率低往往意味着通道稳定性差、服务响应慢、甚至风控能力弱。尤其是快捷支付它的成本中很大一部分是风控体系和运营商短信验证费用正常成本摆在那里贴着成本卖的通道大概率要出问题。关于手机号换绑和身份验证这类细节实践中特别容易被忽略。快捷支付中用户的银行预留手机号和当前接收短信的手机号首次签约的两个号码不一致会导致签约失败这也是商户客服收到咨询最多的一类问题大多数银行的解决方案是用银行预留手机号完成签约验证之后在商户侧补充当前手机号作为业务联系方式。不要让客服在这上面反复折腾你把这个逻辑提前写进帮助文档里可以少一半工单。另外要记住商户不能私自保存用户的银行卡信息哪怕用户是自己输入的。合规的接入方式是用支付机构提供的组件或SDK去收集银行卡要素商户侧只能留存脱敏信息。这一点在对接时的《支付服务协议》里写得很清楚。多少小商户因为图省事自己在后台做了一张银行卡管理功能把用户卡号和身份证明文存到业务数据库里一旦被攻破责任非常重。合规不是空话是给自己兜底。6. 踩坑实录支付接入中的高频问题和我的排查顺序6.1 快捷支付常见疑难快捷支付接入过程中我遇到过的问题排个序大概有以下几类。签约失败是最多的。用户输入了卡号和身份证号提交后提示签约失败或者银行返回错误码。这个问题的根因一般出在四要素不匹配、银行预留手机号不符、卡状态异常。排查时先让用户核对要素再让客服去查支付机构返回的原始错误码大多数错误码能直接定位到是发卡行的哪个校验没过。注意有些银行的信用卡签约要求填写账单地址有些银行的储蓄卡借记卡不支持在某类商户上签约这些都属于银行侧的限制需要和支付机构的技术支持确认清楚。第二个高频问题是短信验证码收不到。这个问题的常见原因是用户手机安全软件拦截了银行短信、手机欠费停机、号段不识别或者是银行侧验证码服务偶发延迟。常用的排查顺序是让用户手动刷新重发、检查垃圾短信、换网络环境再试。如果仍然收不到再看支付机构后台的短信状态回执判断银行侧是否已经下发成功。这里经常出现短信其实下发成功了但用户延迟收到的情况所以不要急着重复发验证码频繁重发反而可能触发银行的风控封禁。第三个问题是单笔限额不足。支付页面明确写着单笔上限五千用户偏要一笔付两万。有的商户遇到这种情况就直接告诉用户不支持这是不对的。正确的做法是优先引导用户分多笔支付但这样体验较差最稳妥的方案是给用户提供升级通道也就是我在5.2里说的兜底通道。另外还要提醒你限额不完全在支付机构侧很多银行对快捷支付在不同场景下的限额是动态调整的支付机构给你的返回码里会带交易金额超过银行限额这类信息你在页面文案里要原样展示给用户才不至于让用户完全归咎于你。第四个问题是签约关系失效。用户某天付款突然提示银行卡已被解绑或者需要重新验证。银行卡解绑的触发条件很多用户在银行侧注销了卡、银行风控自动解除绑定、用户在支付机构里自行解绑、协议到期。这里我特别提醒做订阅产品的朋友一定要做好支付失败、签约失效的用户挽回流程比如失效后主动给用户发一封告诉他要重新绑卡的短信。因为订阅产品的续费失败往往就是一次签约失效处理好能减少不少流失。6.2 网关支付常见疑难网关支付虽然接入简单但运行层面的问题一点也不少。第一个是跳转被拦截。现在很多浏览器和手机App内置了安全策略对外部跳转加了拦截提示。用户点击去支付后没有反应或提示网页风险会被当成异常。常见处理办法是针对不同浏览器和WebView做兼容外跳的配置比如通过统一支付机构的收银台页面来中转而不是直接跳转银行。你在接入时最好把主流浏览器的跳转都测试一遍不要只测了测试机上的Chrome就宣布上线。第二个是支付成功但页面没跳回来。用户明明在银行页面付款成功了却没有自动回到商户网站。这个问题的根因多半是回跳地址失效或浏览器禁用了第三方Cookie导致跳转丢失。我的建议是不要把回跳当作支付成功的最终凭证一切以服务端收到的异步通知为准。用户遇到这种场景时你只要在页面上提示付款成功后订单会在几秒内自动确认再配合服务端主动轮询订单状态就能解决大多数疑虑。第三个是异步通知没收到或者延迟到达。这是网关支付里最要命的问题。通知丢了订单就显示未支付用户却说已经扣款了。你在对接网关联调时一定要把接收通知的接口加上固定重试机制并在业务侧拒绝重复通知。同时支付通知接口必须校验签名和时间戳防止伪造回调把订单状态改成已支付。别嫌这一步麻烦签名校验做不好等于把你的支付接口裸奔在公网上。6.3 我自己的一点经验心得做了这么多年支付给你三条非常朴实的经验。第一支付接入这件事难点从来不在代码怎么写而在于对业务状态的理解。一个订单系统的核心状态机应该是待支付、支付中、已支付、已退款、支付失败这些状态里最难管的是支付中。不管网关还是快捷都有可能出现银行已扣款、通知没送达的中间状态。没有经验的设计会把这种订单直接打成失败导致用户重复付款。正确做法是给支付中状态一个确认流程让用户可以主动刷新订单状态同时后台用订单号去支付机构反查支付结果。第二任何一个支付通道都不应该成为你的唯一依赖。我看到太多小商户因为方便只接一个快捷通道结果通道升级维护时整个网站都不能付款。哪怕只是临时把订单改成线下转账客服确认也比让用户干等强得多。第三无论接什么通道都要把用户授权记录留好。快捷支付的签约成功回执、协议号、签约时间网关支付的银行流水单号这些都是以后处理投诉、纠纷、退款的重要凭证一定要按订单维度妥善归档。等你在后台查一圈找不到凭证才知道平时留痕有多重要。最后再分享一个细节上线前一定要用真钱跑一笔完整流程不要只依赖测试环境。测试环境里没有真实发卡行的限额和风控策略可能测试全绿、上线就飘红。花几块钱真实走一遍快捷支付和网关支付把所有乱序、超时、重复回调的异常流程都模拟一遍后面几周能省下的烦恼远超这点测试成本。
返回列表