赞
踩
1、使用composer在tp5项目的根目录安装easyWeChat
使用composer教程
$ composer require overtrue/wechat:~4.0 -vvv
// 注意是在项目的根目录执行
安装完成后会在vendor生成关于easyWeChat的文件,并且会更改项目中composer.json的配置;所以不要使用从GitHub下载或者直接放到vendor下,只能采用composer方式安装
2、安装完成之后新建一个文件,wx_pay.php
参考easyWeChat文档
<?php namespace app\index\controller; use think\Controller; use EasyWeChat\Factory; /** * Class Wx_pay * @package app\web\controller * 微信扫码支付 */ class Wx_pay{ /** * 微信扫码支付 */ public function wx_pay(){ // 配置信息 $config = [ 'app_id' => '',//注意这个APPID只能是公众号的id,没有的话要去申请,并且在微信支付平台里绑定 'mch_id' => '',//商户号 'key' => '',//支付秘钥 'notify_url' => '',//异步回调通知地址 ]; // 调用配置信息 $app = Factory::payment($config); $result = $app->order->unify([ 'body' => '',//描述 'out_trade_no' => '',//自己的订单号 'total_fee' => '',//支付金额,这里要乘100;否则会报错:无法将输入源“/body/xml/total_fee”映射到目标字段“标价金额”中,此字段需要一 'spbill_create_ip' => '', 'notify_url' => '', 'trade_type' => 'NATIVE', 'product_id' => 'weixin://wxpay/bizpayurl?sr=888', ]); // $result['code_url']的内容就是二维码的地址 // 生成二维码的方式有多种,可以根据自己的喜好去生成,最后会提供我参考的二维码生成文档 // 引用二维码生成方法 require '../vendor/phpqrcode/phpqrcode.php'; $value = $result['code_url']; //注一个订单号只能生成一次,否则$result['code_url']不会展现 $errorCorrectionLevel = 'L'; //容错级别 $matrixPointSize = 5; //生成图片大小 //生成二维码图片 // 判断是否有这个文件夹 没有的话就创建一个 if(!is_dir("qrcode")){ // 创建文件加 mkdir("qrcode"); } //设置二维码文件名 $filename = 'qrcode/'.time().rand(10000,9999999).'.png'; //生成二维码 \QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2); // 这个时候支付的二维码就生成了,可以在public/qrcode/下查找 } }
二维码生成参考文档:http://t.zoukankan.com/junyi-bk-p-11577237.html
小结:使用easyWeChat方便了很多,为我们省了很多的时间。以上只是大致的实现方式,可以添加自己的逻辑,我用此方法已经使用了扫码支付的功能。有问题可以随时问我
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。