ThinkPHP3.2.3 微信扫码支付(模式二)

  • 3,180

微信扫码支付(模式二)相关:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5

以下代码是thinkphp3.2接入微信实现扫码支付!

首先看下官方的视图:

ThinkPHP3.2.3 微信扫码支付(模式二)

大体流程如下:首先到lib目录下配置WxPay.Config.php

const APPID = '';//开户邮箱获取
const MCHID = '';//开户邮箱获取
const KEY = '';  //微信商户后台设置
const APPSECRET = '';//可不填

设置OK以后。

ini_set('date.timezone','Asia/Shanghai');
require_once '/wechat/example/WxPay.NativePay.php';
require_once "/wechat/lib/WxPay.Api.php";
require_once '/wechat/example/log.php';


    public function order(){
      $notify = new \NativePay();
      $input = new \WxPayUnifiedOrder();
      $input->SetBody($mingcheng);//订单名称
      $input->SetAttach("test");
      $mas = '1411792802'.date("YmdHis");//订单号
      $input->SetOut_trade_no($mas);
      $input->SetTotal_fee($zongjia); //价格
      $input->SetTime_start(date("YmdHis"));
      $input->SetTime_expire(date("YmdHis", time() + 600));
      $input->SetGoods_tag("test");
      $input->SetNotify_url("http://WWW.XXX.com/XXX");//回调地址
      $input->SetTrade_type("NATIVE");
      $input->SetProduct_id("123456789");
      $result = $notify->GetPayUrl($input);
      $data['out_trade_no'] = $mas;
      $order->where(array('id'=>$id))->save($data);
      $url2 = $result["code_url"];
      $this->assign('url',$url2);
      $this->display();
    }
    public function ok(){
        $data = file_get_contents("php://input");
        $msg = (array)simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA);
        $out = $msg['out_trade_no'];
        $where['wechat_ok'] = 1;
        $edit = M('order')->where(array('out_trade_no'=>$out))->save($where);
        if($edit){
            echo 'SUCCESS';
        }
    }

    public function search_type()
    {
        $oid = I('post.oid');
        $order = M('order')->where(array('id'=>$oid))->find();
        if($order['wechat_ok'] == 1){
            echo 1;
        }else{
            echo 2;
        }
    }
    public function indextiaozhuan(){
      $this->success('支付成功','/index.php');
    }
<div style="margin-left: 10px;color:#556B2F;font-size:30px;font-weight: bolder;">微信支付</div><br/>
<img alt="模式二扫码支付" src="http://paysdk.weixin.qq.com/example/qrcode.php?data={$url}" style="width:150px;height:150px;"/>



<script type="text/javascript">
    $(function(){
        var oid = $('#oid').html();
        var s = setInterval(function(){
            get_type(oid);
        },3000);
        function get_type(oid)
        {
            $.post("{:U('index/search_type')}",{oid:oid},function(msg){
                if(msg == 1){
                    window.location.href="{:U('index/indextiaozhuan')}";
                }
            })
        }
    })
</script>

写的有点简单,如有疑问下面留言吧,你的留言我会第一时间收到邮件通知!及时回复!在此感谢黄顺同学的指点!

weinxin
我的微信
这是我的微信扫一扫
开拓者博主
  • 本文由 发表于 2017年9月13日20:57:45
  • 转载请务必保留本文链接:https://www.150643.com/459.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:3   其中:访客  2   博主  1
    • 楚狂人博客 楚狂人博客 1

      博主分享的很有价值,以后多来

      • 张三 张三 0

        嗯,确实不是很明白。