摘要:本文将带你了解微信开发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
微信支付
返回其他支付方式
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号