聚合支付二维码生成原理

聚合支付二维码生成原理

聚合支付平台提供平台支付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

猜你喜欢

转载自blog.csdn.net/zjcjava/article/details/106630041