1.首先要在微信公众平台下载SDK文件
放入laravel根目录下 (与app目录同级)
2.重点来了 一定要在public目录下的index.php入口文件中定义一个路径常量
define("PAY_PATH",__DIR__."/../pay"); //支付常量路径
定义好就可以用了
3.创建控制器在控制器中调用微信的支付接口我这里使用的是模式二
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
require_once PAY_PATH.'\wxpay\lib\WxPay.Api.php';//关键就在这三个文件的引入
require_once PAY_PATH.'\wxpay\example\log.php';
require_once PAY_PATH.'\wxpay\example\WxPay.NativePay.php';
class PaymentController extends Controller
{
public function index()
{
$notify = new \NativePay();
$order_id = rand(10000,99999);
$input = new \WxPayUnifiedOrder();
$input->SetBody("text");//设置商品或支付的简要描述
$input->SetAttach("test");
$input->SetOut_trade_no($order_id);//商户系统内部的订单号
$input->SetTotal_fee("1");//金额,单位分
$input->SetTime_start(date("YmdHis"));//订单生成时间
$input->SetTime_expire(date("YmdHis", time() + 600));//订单生效时间
$input->SetGoods_tag("test");//商品标记
$input->SetNotify_url("http://www.book.com/huidiao");//回掉地址
$input->SetTrade_type("NATIVE");//扫码支付标识
$input->SetProduct_id("123456789");//商品订单号
$result = $notify->GetPayUrl($input);//生成UPL
$url2 = $result["code_url"];
return view('payment',compact('url2'));
}
}
4.创建支付模板payment.blade.php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<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=<?php echo urlencode($url2);?>" style="width:150px;height:150px;"/>
</body>
</html>
测试成功