一码付,同一个二维码支持微信和支付宝同时扫码支付?

理由
举报 取消

同一个二维码,既支持支付宝又支持微信是怎么实现的? 求教大神

2017年10月19日 10 条回复 1432 次浏览

回复 ( 10 )

  1. 乔春杰
    理由
    举报 取消

    我算业内人吧,大概说下处理流程。(我说的是正规处理流程,如果希望看到二清等违规方面的方案请无视以下内容)

    商家一码付是通过手机H5页面来处理的。

    众所周知的原因,某些APP有屏蔽竞争对手页面和功能的逻辑,这导致XX宝支付的页面如果在X信里扫一扫,是不会显示页面内容的,反之亦然。

    开发人员首先建立一个H5页面,该页面用于输入支付金额,(也可以做成定额支付,针对特殊场景),金额输入后点确定,需要调用IOS或者安卓的APP判定,判断当前打开H5页面的APP是哪个,然后页面加载属于该APP的支付逻辑(另一种方案是由用户手动选择支付方式,采用APP调用模式切换到对应的APP)。XX宝有自己的网页支付及手机APP调用接口,X信也有自己的手机支付调用接口,其他几个移动支付同样处理。调用成功后进行手机支付,同时将对应的交易记录发送到自己的服务器后台保存,支付完成后可以选择该页面接收支付结果,也可以选择后台通知支付结果(第三方支付一般采用回调地址通知机制和APP返回交易结果这两种方案,如果是回调机制,自己的服务器接到第三方支付通知交易成功后,更新交易记录并推送成功信息到H5页面,如果采用APP返回交易结果方案,则是H5页面接到交易结果后发送服务器进行保存),完成支付过程。

    这是完全符合第三方支付开发规范的方案,但是也是最麻烦的方案……

    底线就是用来突破的……只能说,都是泪啊。

  2. Qiming Gu
    理由
    举报 取消

    看到你们都在一本正经的胡说八道,我就放心了。

    — 一本正经的分割线 —

    终于有明白的人(@)在远方点起一盏灯,可能是灯光太过微弱,大家都看不到

    — 又一条一本正经的分割线 —

    需要前置了解的知识点有:

    • 二维码生成规则(略知)
    • http协议(熟悉)

    Q:首先第一个问题是二维码扫码后为什么会自动跳转到网页上?

    A:因为这个二维码扫码后得到的都是一个字符串,但是针对不同的情况,app(微信、支付宝)、手机会对得到结果进行解析,针对扫码支付这种场景得到的就是带http://前缀的字符串,有这个就会直接调用内置浏览器进行访问。大家可以试试用网上生成二维码的工具分别生成“www(dot)163(dot)com”、“http(colon)//www(dot)163(dot)com”(请自行将(dot)转换成.,(colon)转换成:)用微信、支付宝刷观察结果。

    Q:从上一个问题可知,入口页面只有一个,如何实现同时微信和支付宝支付?

    A:主要用http协议中定义的http报文头中的user-agent的值来判断,有MicroMessenger关键字的即为微信发送的请求,有AlipayClient关键字的即为支付宝发送。然后问题就简单了,通过重定向等方式分别跳转至自行开发的支付宝、微信支付网关即可实现一码多支付方式。代码之前有人提供就不重复了。

    参考:

    蚂蚁金服开放平台 – 文档中心

  3. 张纠结
    理由
    举报 取消

    银行接口开放就可以实现一个二维码支持微信支付宝呀,兴业工商民行都有做,工行的比较坑,消费者也要下载他们的APP才能付款。我个人办理了民行的一码支付产品“乐收银”,支持微信支付宝和信用卡的,但是银行的办事效率实在让人蛋疼,快一个月都没有办下来,催了几次工作人员直接给我推荐了他们的合作产品“在街上收银”,一样是走银行流水款项自动到卡,支持微信支付宝信用卡,多了一个查账功能和手机店铺功能,感觉还可以,申请注册半小时就办下来了。后面客服回访还给送了台卡和海报,挺漂亮的~

  4. 匿名用户
    理由
    举报 取消

    一码支付,确实很方便,在厦门这边,大部分商家都是用【在街上收银】,不用提现,资金都是由银行清算,不经过第三方

  5. Jeffchen
    理由
    举报 取消

    我写过一篇文章:

    微信支付和支付宝使用同一个二维码

    欢迎关注我的订阅号:移动开发技术

  6. easy
    理由
    举报 取消

    二维码支付分为用户主扫和被扫,一码付是主扫的场景。

    二维码又分为三方系和银联系,三方系以支付宝、微信等为代表,银联系基本是银行的手机银行或是掌上生活类app的基于银联二维码规范生成的二维码。

    三方系二维码,内容其实都是一个字符串或是链接地址,这些内容都是微信和支付宝给定的规则,要实现一码付,需要自己做一个页面,用这个页面的地址生成二维码,用户扫描二维码,其实就是在app中打开这个页面的地址,页面根据不同的来源的app,调用不同的sdk进行支付。商户需要和各个渠道签约。

    银联系的二维码,其实是一串19位的数字,由收款方调用银联的二维码系统生成的,任意家银行的手机银行都可以扫码付款,也可以叫一码付,不过由于出来时间不长,目前只有民生和交通实现了互扫互通,不过以后各家银行也都会实现的。银联系的商户签约只需要找一家银行签约就可以实现。

    上面是主扫的场景,被扫的也整合,时间有限,等下次在专门说被扫的机制。

  7. C先生
    理由
    举报 取消

    一码付的逻辑是,生成的二维码不直接指向微信或者支付宝,而是指向一码多付服务商自定义的地址,一码付服务商系统来判断根据扫码工具来重构h5支付页面完成支付。目前的成熟方案是由于技术方不持牌转而采用银行间连模式,通过银行清分资金,目前我这边已经是支付宝前五大规模银行,有这方面的小伙伴可以加我好友共同探讨

  8. 唐人
    理由
    举报 取消

    现在的一码付也不都是二清,二清现在的处境很尴尬政府是不允许的,正所谓上有政策下有对策,于是三方公司二清转变成银行体系的”二清”,什么意思呢,就是三方公司找到银行说咱俩合作我给你提供商户你给我提供保障,商户所得当天收益其实也是T+1提现,只不过有了银行做支持就不会存在什么之前的二清风险。

    技术实现:一码付其实很简单无非就是H5页面判断是那一种支付方式,那么如何判断呢?大家可以随便这个demo看看微信支付宝扫码后的请求头信息就一看便知了。

  9. 海泽
    理由
    举报 取消

    二维码支付,央行已经放开,如果说有风险,你自己的银行卡都可能被复制,一样有风险。新生事物,但是合法合规,感觉可以放心使用!

  10. 用户头像
    理由
    举报 取消

    个人觉得这个市场获得了广大使用者的支持,无卡支付,前景不错

我来回答

Captcha 点击图片更换验证码