easywechat安装完成后在tp5上的后续
未知
2022-03-09 09:25:56
0次
使用composer下载安装easywechat的时候,把vendor/topthink里面的自动加载类都更新没了,就剩下一个thinkphp-installer文件夹。注意、注意、注意。
1,在前端类中调用公共微信支付类。
<?php
namespace app\home\controller;
use think\Controller;
use think\Request;
use think\Log;
use app\common\controller\Weixinpay;
class First extends Controller{
//支付方式:微信收款页面
public function openWeixinPage(){
$params = [
//商户订单号,商户网站订单系统中唯一订单号,必填
'out_trade_no' => build_order_no(),
//订单名称,必填
'trade_name' => $trade_name,
//付款金额,必填
'total_amount' => 0.01,
//产品ID
'product_id' => $cproduct_id,
];
//客户支付数据保存到数据库
$res=new Weixinpay();
$codeurl=$res->payOrder($params); //返回微信二维码链接,使用phpqrcode类生成二维码图片供用户扫码支付
require_once VENDOR_PATH.'phpqrcode/phpqrcode.php';
if(substr($codeurl, 0, 6) == "weixin"){
\QRcode::png($codeurl);
}else{
header('HTTP/1.1 404 Not Found');
}
}
}
2,在aplication应用中写一个公共微信支付类,包含native支付二维码链接、回调、退款、查询功能
<?php
namespace app\common\controller;
use think\Controller;
use think\Db;
use think\Request;
use think\Loader;
use think\Log;
use EasyWeChat\Factory;//easywechat工厂
/**
* 微信支付类
*/
class Weixinpay extends Controller{
public function payOrder($request){
$config = [
// 必要配置
'app_id' => '',
'mch_id' => '',
'key' => '', // API v2 密钥 (注意: 是v2密钥 是v2密钥 是v2密钥)
// 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
'cert_path' => 'D:/web/vendor/weixinpay/cert/apiclient_cert.pem', // XXX: 绝对路径!!!!
'key_path' => 'D:/web/vendor/weixinpay/cert/apiclient_key.pem', // XXX: 绝对路径!!!!
'notify_url' => request()->domain().'/public/common/weixinpay/notify_url', // 你也可以在下单时单独设置来想覆盖它
];
$app = Factory::payment($config);
$result = $app->order->unify([
'trade_type' => 'NATIVE',
'body' => $request['trade_name'],//商品名称
'out_trade_no' => $request['out_trade_no'],//订单号
'total_fee' => $request['total_amount']*100,//金额分,需要乘以100
'product_id' => $request['tola_product_id'], // 则为生成二维码时的产品 ID
]);
$url = urldecode($result['code_url']);//weixin://wxpay/bizpayurl?pr=dDGrgRIzz
return $url;
}
}
相关内容