Thinkphp实现的扫码支付微信登录等功能

浏览:1539 发布日期:2019/03/15 分类:功能实现 关键字: 常用的扫码支付微信登录等功能
自己学习了8年PHP,平常用Thinkphp做的一些常用的扫码支付微信登录等功能
大家好,这篇文章是继微信支付jsapi篇之后的微信支付系列教程第二篇:扫码支付之模式一
介绍下扫码支付目前有两种模式,模式一比模式二稍微复杂点,至于模式一与模式二的具体内容,流程,微信开发文档都有详细介绍,这里就不多说废话,接下来赶紧上教程!
自己学习了8年PHP,平常用Thinkphp做的一些常用的扫码支付微信登录等功能step1:同样,先初始化引入WxPayPubHelper类库

    /**
         * 初始化
         */
        public function _initialize()
        {
            //引入WxPayPubHelper
            vendor('WxPayPubHelper.WxPayPubHelper');
        }

复制代码
step2:展示扫码页面需要先生存二维码链接

    public function native_pay()
        {
            //设置静态链接
            $nativeLink = new \NativeLink_pub();
            
            //设置静态链接参数
            //设置必填参数
            //appid已填,商户无需重复填写
            //mch_id已填,商户无需重复填写
            //noncestr已填,商户无需重复填写
            //time_stamp已填,商户无需重复填写
            //sign已填,商户无需重复填写
            $product_id = C('WxPayConf_pub.APPID')."static";//自定义商品id
            $nativeLink->setParameter("product_id",$product_id);//商品id
            //获取链接
            $product_url = $nativeLink->getUrl();
            //使用短链接转换接口
            $shortUrl = new \ShortUrl_pub();
            //设置必填参数
            //appid已填,商户无需重复填写
            //mch_id已填,商户无需重复填写
            //noncestr已填,商户无需重复填写
            //sign已填,商户无需重复填写
            $shortUrl->setParameter("long_url",$product_url);//URL链接
            //获取短链接
            $codeUrl = $shortUrl->getShortUrl();
            $this->assign('product_url',$product_url);
            $this->assign('codeUrl',$codeUrl);
            $this->display();
            
        }

以上代码对应native_pay.html页面

    <!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>微信安全支付</title>
    </head>
    <body>
        <div align="center" id="qrcode">
            <p >扫我,扫我</p>
        </div>
        <div align="center">
            <a href="#">返回首页</a>
        </div>
    </body>
        <script src="__PUBLIC__/js/qrcode.js"></script>
        <script>
            var url = "<?php echo $product_url;?>";
            //参数1表示图像大小,取值范围1-10;参数2表示质量,取值范围'L','M','Q','H'
            var qr = qrcode(10, 'M');
            qr.addData(url);
            qr.make();
            var dom=document.createElement('DIV');
            dom.innerHTML = qr.createImgTag();
            var element=document.getElementById("qrcode");
            element.appendChild(dom);
        </script>
    </html>
演示下载参考下这里:http://t.cn/RmZekiV
评论( 相关
后面还有条评论,点击查看>>