聚合支付二维码生成原理

聚合支付平台提供平台支付URL,生成统一的支付二维码。当消费者根据二维码扫描时,聚合支付平台根据扫描者浏览器类型判断支付类型,并提交参数给聚合支付平台支付处理接口处理。平台支付处理接口根据支付类型和商户ID,调用相应的支付渠道支付接口进行支付处理

1.商户分别开通微信、支付宝、京东金融等支付渠道,各个平台审核通过后会生成微信商户编码,支付宝商户编码和京东金融商户编码
2.商户将这些渠道的支付账号配置到聚合平台中,并分配给用户一个聚合唯一用户标识ID
3.聚合平台通过微信、支付宝和京东金融第三方API调用形成具体支付过程(这个过程商户不用关注),当其他消费者扫描带有用户标识的聚合平台URL时,根据扫描者手机使用的内置UAG判断是哪个支付平台,前端获取到后把商户标识和支付方式传递给聚合支付平台的支付API,
4.聚合平台的支付API根据参数生成相应的平台支付订单
5.消费者确认支付完成
6.商户定期在聚合支付后台提现金额到对应账号即可。

简单的 demo

扫描二维码本质上就是通过扫描得到一个网址,所以,我们要写一个页面。
支付宝的链接可以通过 js 直接跳转;微信的不能直接跳转到支付,只能通过微信的扫描接口唤起支付模块,所以变通一下,让微信的链接变成微信的支付二维码,再扫描一次。

其实,像美团的二维码是可以直接跳转到微信的支付模块的,并不用扫描第二次,笔者尝试了很多方法仍然不能直接跳转,推测是美团和微信有相关协议让他们可以直接跳转,如果有了解的读者能赐教一二将不胜感激。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" /><title>jasonPayTestDemo</title>
</head>
<body><!-- 隐藏微信支付的二维码,可以是个的也可以是企业的,如果做统一聚合一般都是做企业的,支付成功到企业账户后再转给个人用户或者个人用户使用提现再转到其个人微信或者其他账户中去 -->
<div class="container" id="wechat" style="display: none;"><div style="text-align: center;"><img src="http://qr.liantu.com/api.php?text=wxp://f2f0lGxS0y-AT4xJ9IIXI_nKcp3U2b2b_W0L"><h3>please use wechat, long presh and pay</h3></div>
</div>
</body>
</html>
<script language="javascript">var ua = navigator.userAgent.toLowerCase();if(ua.match(/MicroMessenger/i)=="micromessenger") {goAndPayByWechat();} else if(ua.match(/AlipayClient/i)=="alipayclient"){goAndPayByAli();} else{alert("please use wechat or alipay");}function goAndPayByAli(){window.location.href="HTTPS://QR.ALIPAY.COM/FKX09508CLUZB0JA2UHC36";}function goAndPayByWechat(){document.getElementById("wechat").removeAttribute("style");}
</script>

参考资料

作者:Jason_M_Ho
链接:https://www.jianshu.com/p/ec23449820ba

聚合支付二维码生成原理相关推荐

  1. 聚合支付二维码如何实现自动识别扫码客户端跳转相应支付页面

    前言 前面有一篇<聚合支付之流程概述>和大家聊了一下关于聚 合 支 付的一个简单流程.很多小伙伴私信我,如何实现聚合支付码的自动跳转呢? 其实,刚开始接触的时候我也很迷茫,一个静态的二维码 ...

  2. 微信支付:支付流程分析、微信扫码支付(HttpClient)、微信支付二维码生成、检测支付状态、订单状态操作准备工作、支付信息回调、MQ处理支付回调状态、定时处理订单状态

    微信支付 微信支付开发的整体思路 生成支付二维码 查询支付状态(微信的服务器) 实现订单状态的修改.删除订单 支付状态回查->微信服务器将支付状态返回给支付微服务 MQ处理支付回调状态 Rabb ...

  3. 8.3 综合案例2.0-扫码支付二维码生成

    综合案例2.0-扫码支付二维码生成 扫码支付完整流程 案例说明 1.硬件 2.连线图 搭建云平台环境 1.添加设备 2.创建设备类型 3.功能定义(创建物模型) 代码 1.更改MQTT信息 2.测试 ...

  4. 移动互联网的入口-二维码(二维码生成原理及流程)

    目录 1 引入 2 历史 2.1 一维码 2.2 二维码 3 分类 3.1 线性堆叠式二维码 3.2 矩阵式二维码 3.3 邮政码 4 QR code二维码结构 5 QR code二维码生成流程及原理 ...

  5. PC端微信扫码支付二维码生成接口的调整

    目前原有的example下面的在线二维码生成接口被微信取消了,从而需要各个电商系统自己生成. 可参考开发文章demo中的phpqrcode.php程序进行生成并保存到电商系统本身的服务器上,然后取出进 ...

  6. (转载)二维码生成原理

    基础知识 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.Version 1是21 x 21的矩阵,Version 2是 25 x 25的矩阵,Version 3是29的尺寸,每增 ...

  7. 微信小程序订单生成支付二维码接口 code

    手机的小程序订单是直接拉起支付界面的,有些朋友需要生成支付二维码 这边就需要去调用微信的支付二维码接口了 需要的参数是 session_id, timeStamp, nonceStr, package ...

  8. 支付宝支付 第六集:生成支付二维码

    支付宝支付 第六集:生成支付二维码 一.资源 支付宝沙箱显示APP-ID错误:我的原因是支付宝网关地址写错了 支付宝沙箱环境报 invalid-app-id 错误原因: 无效的AppID参数 错误 支 ...

  9. 支付宝支付 第五集:二维码生成工具

    支付宝支付 第五集:二维码生成工具 一.代码 目录结构 BufferedImageLuminanceSource.java package com.dzy.alipay.qrcode;import c ...

最新文章

  1. html左浮动不管用图片往下放,html - 如何在HTML / CSS中水平对齐图像(浮动和显示内联块不起作用) - 堆栈内存溢出...
  2. AI啊,我这里有些羞羞的东西,你要不要看一眼?
  3. Python基础之条件判断
  4. (三)Redis for StackExchange.Redis
  5. 返回指针_C语言面试中的问题指针和引用的使用场景?
  6. 配置 Powerline 到 Vim
  7. 内联元素(display:inline-block)注意事项
  8. 使用Vscode进行Python开发环境配置
  9. leetcode - 983. 最低票价
  10. php判断访问的当前设备是手机还是电脑
  11. 并发编程(读书笔记)
  12. 结构化分析方法是一种自下而上逐步求精的分析方法【软件项目管理】
  13. 【Oracle】闪回表
  14. MFC应用程序中嵌入一个谷歌cef浏览器
  15. 真正的程序员就应该这样.
  16. QQ表情包,动态的那种
  17. Landsat8遥感影像批量分割(Arcmap实现)
  18. Unity+Vuforia+Hololens2 AR开发
  19. 【C】递归之整数转换字符串
  20. python--计数算法

热门文章

  1. 【Hack The Box】linux练习-- Blunder
  2. Effective C++ 总结
  3. Windows下维基百科中文语料库词向量训练
  4. 硕士研究生毕业计算机水平,计算机硕士毕业论文答辩自述
  5. 搞个服务器安装黑群晖系统,牛人闲置电脑大改造!超低成本组建家用黑群晖NAS...
  6. 大学生计算机基础大难,大学生计算机基础实训六样文
  7. Cloud IDEs For Web Developers – Best Of
  8. 如何帮助公司设计一个优秀的品牌标志?
  9. js获取当前时间 年月日 分秒
  10. 性能优化检测Instruments-time profile的使用