larvael5.4中的微信扫码支付SDK

 

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>

测试成功

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值