拆解扫码支付的实现原理

目前在大街小巷,扫码支付已经成为了最受欢迎的支付方式,那么大家是否会好奇这背后的支付原理是怎样的宝博棋牌手机版


同时我近期看到央行开始主推“标准条码互联互通”的新闻,感觉还挺有趣的,于是抽空对扫码支付进行了一次大梳理,也顺便分享出来。那么通过这篇文章,我将主要介绍三件事:


 常见主扫和被扫支付的原理宝博棋牌手机版

 常见的静态聚合码是如何实现一码多付的宝博棋牌手机版

 条码支付互联互通是什么宝博棋牌手机版 有什么价值宝博棋牌手机版 以及可能会如何实现的宝博棋牌手机版

一、扫码支付

我们常见的扫码支付主要分为主扫(你扫商家)和被扫 (商家扫你)两种;


要特别讲明白扫码支付,就不得不提一下二维码这个plus的东西。我们生活中存在各种应用二维码的东西,如扫码加好友,扫码下载app,扫码支付等,同时也存在条形码,类似超市的付款条码,商品条码等。


与条码相比,二维码记录信息容量更大,具有容错性,所以是当前最受欢迎的一种记录形式。


二维码/条码都是一种加密的信息承接载体,都是将复杂的东西简化给我们呈现出来。


当我们通过扫一扫进行扫描二维码的时候,实际上就是通过一定的规则将二维码里面的内容解析出来,比如地址合法性,是不是支付链接,还是外链网址之类的。

20200516141934_85952.jpg

1. 主扫的原理

1)先睹为快

3)主扫的核心逻辑


在我们实际的过程中,经常会出现支付宝扫支付宝二维码有时会提示已失效,扫其他二维码会告知不可用,那么这里扫码的原理是怎样的,做了哪些具体判断呢宝博棋牌手机版


判断二维码链接是不是支付链接;

判断该支付链接是不是自家的。如果不是,则拦截,目前支付宝的支付链接是“//qr.alipay.com…”,则允许通过请求服务器,但如果检测是“//qr.wx.com…”,说明是微信支付链接,支付宝则反手就给你屏蔽了~

之后再去解析二维码是否符合自家规则,目前支付宝的二维码是“28”开头,微信一般是”13“开头;解析之后,再判断二维码是否有效;有效则进行支付即可;无效则提示二维码失效。

2. 被扫的原理

场景:我们去超市买东西经常都会要求打开付款码,然后扫码枪进行扫码支付。


特点:操作步骤简单、支持离线付款、付款效率高


1)先睹为快

或许在这里很多人会纳闷这里有条形码和二维码,最终的支付到底是扫条形码还是二维码呢宝博棋牌手机版


其实这里取决于扫码枪,现阶段市面上有两类:一维扫码枪 (仅可以支持扫条形码)和二维扫码枪(两个都可以扫)。


2)被扫付款逻辑

用户打开付款码;

收银员输入用户应付款金额,并生成订单;

扫码枪扫码之后,将订单提交给商家收银台系统;

商家收银台系统将订单推给商家后台;

商家后台将订单推给支付宝请求完成扣款;

支付宝扣款成功,通知商家后台系统,同时给用户发送消息通知。

以上如果商家不是直连支付宝/微信,而是对接其他三方支付公司,那么支付订单可由商家推给支付宝/微信官方,改为推给对接的三方支付公司即可。一旦支付宝扣款成功,那么对接的支付公司会回调通知商家这笔订单的支付结果。


3. 主扫和被扫的对比

相同点:


两者的基本原理都是一样的;

扫码支付的限额都比较低,远低于网银支付;

不同点:


用户主动操作对象不一样,一个是用户,一个是商家;

被扫的话,在用户付款码中就会包含用户的唯一ID标识,支付宝/微信可以直接找到该用户完成扣款操作。

4. 异常情况处理

在我们进行扫码支付时,其实也会出现一些故障,那么针对这些故障,一般会有什么补救措施呢宝博棋牌手机版


1)扫码枪付款时,突然网络不稳定不确定是否已付款了怎么办宝博棋牌手机版


答:出现网络不稳定,可以由两种处理方式:


可以调用查询接口去主动查询微信/支付宝渠道该笔订单是否已支付;如已支付,则就会更新订单状态;

直接调用订单撤销接口,即不管用户有没有完成付款,这笔订单终止,已付款则会退回余额;

2)出现重复支付的问题怎么办宝博棋牌手机版


答:系统作自动退款处理。一般重复支付指的是一个商品重复请求多次,并且多次完成支付了。针对这种情况,商家所接入的支付机构会判断出来,同时会作自动退款处理的。


二、静态聚合码

正常来讲:支付宝和微信的二维码是不互通的,支付宝不会支持微信的二维码进行付款。而近几年我们经常看到商家贴出静态聚合码,消费者通过这个码使用微信付款,也可以使用支付宝付款,那么这里面的逻辑是怎样的呢宝博棋牌手机版

1. 实现原理

任何支付行为都是通过一个支付链接来完成,而支付链接内容会包括必要信息,如来源、金额、商户信息等。


而每个支付链接只能其对应的服务端处理,即用户使用支付宝二维码完成支付行为的,最终付款会指向支付宝的服务端的;而微信二维码则会指向微信的服务端。


要实现上述的聚合码付款,那么就需要一个前置的中间环节,需要这样的一个通用的二维码来优先判断付款来源方。在技术实现上会有userAgent来判断用户来自哪种客户端。如果是MicroMessenger 则表示微信;AlipayClient是支付宝。


1) 时序图如下

用户通过微信/支付宝扫描静态聚合码;

系统判断扫码来源是微信还是支付宝;技术层面一般会用userAgent进行区分;

确认来源后请求对应的渠道,如确认是支付宝,则直接请求支付宝进行支付即可;

支付完成,异步通知商户对应的支付结果;

聚合二维码的推出,的确提高用户和商户的便利性;同时也会帮助商户实现统一对账功能,解决财务上对账难的烦恼。


相关推荐
关闭

用微信“扫一扫”

ybqwzz.com sodhj.com app998.com kuwkk.com 0755bna.com alw168.com chxwh.com yyqiji.com syzcbjbj.com