微信开发ThinkPHP微信扫码支付接口
白羽 2019-05-23 来源 :网络 阅读 1379 评论 0

摘要:本文将带你了解微信开发ThinkPHP微信扫码支付接口,希望本文对大家学微信有所帮助。

    本文将带你了解微信开发ThinkPHP微信扫码支付接口,希望本文对大家学微信有所帮助。


微信开发ThinkPHP微信扫码支付接口



    最近折腾微信扫码支付,看了微信官方文档,找了很多网页,发现和文档/demo不匹配,现在自己算是弄出来了(文件名称有所更改),贴出来分享一下
   
    一.将有用的官方lib文件和使用的相关文件放置到vendor当中
   
    二.调用同一支付接口
   
    WechatController
   
    //调用同一支付接口public function native($v_oid='',$v_amount=''){      ini_set('date.timezone','Asia/Shanghai');    error_reporting(E_ERROR);    //添加相关的类文件    vendor('Wxpay.WxPayApi');    vendor('Wxpay.log');    vendor('Wxpay.NativePay');    //初始化日志      $logHandler= new   \CLogFileHandler(""../logs/"".date('Y-m-d').'.log');    $log = \Log::Init($logHandler, 15);    //接受订单信息    if(trim($v_oid)<>"""")               //判断是否有传递订单号    {          $v_oid = trim($v_oid);    }    else      {          $this->error('订单号为空',U('User/index'));        exit;    }      $v_amount = trim($v_amount*100);                   //支付金额    //调用同一支付接口    $notify = new \NativePay();    $input = new \WxPayUnifiedOrder();      //商品描述----------------------------需要参数传递/统一信息      $input->SetBody(""商品描述位置"");    //附加数据      $input->SetAttach(""附加数据位置"");    //商户订单号      $input->SetOut_trade_no($v_oid);      //总金额      $input->SetTotal_fee($v_amount);      //开始时间      $input->SetTime_start(date(""YmdHis""));    //结束时间      $input->SetTime_expire(date(""YmdHis"", time()   + 600));    //商品标记      $input->SetGoods_tag(""商品标记位置"");    //异步通知地址,不能携带任何参数      $input->SetNotify_url(U('NotifyProcess'));    //交易类型      $input->SetTrade_type(""NATIVE"");    //商品id      $input->SetProduct_id(""123456789"");    //获取同一支付接口结果    $result =   $notify->GetPayUrl($input);    $url2   = $result[""code_url""];      $this->assign('data',urlencode($url2));    $this->assign('v_oid',$v_oid);      $this->assign('v_amount',$v_amount/100);    $this->display();}三.生成二维码
    三.微信支付生成二维码public function qrcode(){      error_reporting(E_ERROR);      vendor('Wxpay.phpqrcode.phpqrcode');      $url = $_GET[""data""];      \QRcode::png($url);}四.异步处理具体处理流程和方式按个人需求
    //微信异步查询订单机制public function Queryorder($transaction_id){    $input = new \WxPayOrderQuery();      $input->SetTransaction_id($transaction_id);    $result =   \WxPayApi::orderQuery($input);      \Log::DEBUG(""query:"" . json_encode($result));      if(array_key_exists(""return_code"", $result)        &&   array_key_exists(""result_code"", $result)        &&   $result[""return_code""] ==   ""SUCCESS""          && $result[""result_code""] ==   ""SUCCESS"")      {        return true;    }      return false;}五.再来个form表单展示二维码
   
    订单信息
   
   
    订单号:""{$v_oid}""
   
   
   
    应付金额:{$v_amount}元
    付款后,飞行之翼客服会与您联系,如有问题请咨询24小时飞行热线 400-700-2016
   
   
    微信支付
   
   
    返回其他支付方式
   
 


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程