0

0

tp结合微信扫码支付模式二

php中文网

php中文网

发布时间:2016-09-23 03:29:56

|

1519人浏览过

|

来源于php中文网

原创

tp结合微信扫码支付模式二
首先引入微信下载的类,可以用我打包的,名称我修改了的
tp结合微信扫码支付模式二
把微信类放到thinkphp核心框架的Library\Vendor\下面
在微信类的Config.php 文件里面配置数据
tp结合微信扫码支付模式二
然后在要使用的模块中调用
tp结合微信扫码支付模式二
然后在获取支付二维码的方法中写
tp结合微信扫码支付模式二$money=1
$goodsid=time();
$order = time();
$notify = new \NativePay();
$input = new \WxPayUnifiedOrder(); //调用统一下单类
$input->SetBody($body);//这是商品标题
$input->SetAttach($body);
$input->SetOut_trade_no($goodsid);//这是单号
$input->SetTotal_fee($money*100);//这是金额,微信金额是按分计算,所以要   *100
//$input->SetTotal_fee("1");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 7200));
$input->SetNotify_url('http://'.$_SERVER['HTTP_HOST'].U('Member/notify'));
$input->SetTrade_type("NATIVE");
$input->SetProduct_id($goodsid);
$out_trade_no = $input->GetOut_trade_no();
$result = $notify->GetPayUrl($input);
$url = $result["code_url"];//这就是返回的二维码地址,要在前端生成二维码
$arr['out_trade_no']=$out_trade_no;
$arr['code_url']=$url;
$arr['order']=$order; 
以下是生成二维码的jquery,先引入生成二维码的js,也可以用其他方法[js文件我会打包]
window.onload = function(){
    var c_url="";
   qr_code(c_url);
};
//生成二维码
function qr_code(url,out_trade_no,order){
    if(url){
        //参数1表示图像大小,取值范围1-10;参数2表示质量,取值范围'L','M','Q','H'
        var qr = qrcode(10, 'M');
        qr.addData(url);
        qr.make();
        var code=document.createElement('DIV');
        code.innerHTML = qr.createImgTag();
        var element=document.getElementById("code_url");
        element.appendChild(code);    
    }    
}
//生成的二维码会出现在这里

tp结合微信扫码支付模式二

然后就是判断用户有没有扫码支付了
我在生成二维码的页面放了一段每隔3秒查询一次的异步代码$(function(){
    setInterval(function(){check()} , 3000);  //没隔三秒执行一次 ajax
    function check(){
        var out_trade_no = $("#code_url").attr('out_trade_no');
        var order = $("#code_url").attr('order');
        $.ajax({
            type: "post",
            url: '{:U("Member/orderquery")}',  //请求函数
            async: false,
            data: {'out_trade_no':out_trade_no,'order':order},
            dataType: "json",
            success: function (data) {
                if (data.status) {
                    layer.msg(data.info,{btn:'确定'},function(){
                        parent.location.reload();    //支付成功刷新
                        return false;
                    })
                }else{
                    result = false;
                }
            }
        });
    }
})
这里是请求的程序代码(支付成功后执行的动作根据自己需要修改)
tp结合微信扫码支付模式二//检查是否支付完成
    public function orderquery($out_trade_no=null, $orderid=null){
       $out_trade_no = $_POST['out_trade_no'];
       $order = $_POST['order'];
       if(isset($out_trade_no) && $out_trade_no != ""){
          $out_trade_no = $_REQUEST["out_trade_no"];
          $input = new \WxPayOrderQuery();
          $input->SetOut_trade_no($out_trade_no);
          $result  = \WxPayApi::orderQuery($input);
       }
       $cash_fee=$result['cash_fee']/100;//支付金额
       /*判断是否支付成功*/
       if ( $result["trade_state"] == "SUCCESS" ){
           $data=array('goodsid'=>$result['out_trade_no'],'status'=>1,'pay_type'=>2);
           $cz=M('cz_records')->where($data)->find();
           if($cz){
                if(M('cz_records')->where($data)->save(array('money'=>$cash_fee,'transaction_id'=>$result['transaction_id'],'status'=>2))){
                     if($this->set_money($cz['uid'],$cz['type'],C('date'),$cz['money'],$cz['transaction_id'])){
                         $this->success('成功支付:'.$cash_fee. '元');     
                     }
                } 
           }
       }
    }
压缩包解压密码:www.renweinet.net


附件 微信扫码支付.zip ( 23.33 KB 下载:0 次 )

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

11

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

75

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

109

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

152

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

79

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

44

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

20

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

133

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

45

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.8万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2.7万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号