首页 > 微信 > 详细

使用laravel-wechat微信支付

时间:2019-10-21 19:07:21      阅读:536      评论:0      收藏:0      [点我收藏+]

参考文档

https://github.com/overtrue/laravel-wechat

 

https://easywechat.com/docs/4.1/payment/index

laravel-wechat

微信 SDK for Laravel 5 / Lumen, 基于 overtrue/wechat

交流QQ群:319502940

 

框架要求

Laravel/Lumen >= 5.1

 

安装

# Laravel < 5.8
composer require "overtrue/laravel-wechat:~4.0"

# Laravel >= 5.8
composer require "overtrue/laravel-wechat:~5.0"

 

配置

 

Laravel 应用

  1. config/app.php 注册 ServiceProvider 和 Facade (Laravel 5.5 + 无需手动注册)
‘providers=> [
    // ...
    Overtrue\LaravelWeChat\ServiceProvider::class,
],
‘aliases=> [
    // ...
    ‘EasyWeChat=> Overtrue\LaravelWeChat\Facade::class,
],
  1. 创建配置文件:
php artisan vendor:publish --provider="Overtrue\LaravelWeChat\ServiceProvider"
  1. 修改应用根目录下的 config/wechat.php 中对应的参数即可。

  2. 每个模块基本都支持多账号,默认为 default

 

 

操作

1.composer

composer require "overtrue/laravel-wechat:~5.0"

2.创建配置文件
php artisan vendor:publish --provider="Overtrue\LaravelWeChat\ServiceProvider"
3.修改应用根目录下的 config/wechat.php 中对应的参数即可。

4.在操制器里调用
use EasyWeChat\Factory;
use function EasyWeChat\Kernel\Support\generate_sign;

$config = [
            // 必要配置
            app_id             => ‘‘,
            mch_id             => ‘‘,
            key                => ‘‘,   // API 密钥

            // 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
            cert_path          => ‘‘, // XXX: 绝对路径!!!!
            key_path           => ‘‘,      // XXX: 绝对路径!!!!

            notify_url         => http:///payments/wechat-notify,     // 你也可以在下单时单独设置来想覆盖它
        ];
       
        $app = Factory::payment($config);
        $result = $app->order->unify([
            body => test,
            out_trade_no => 20150807861253465555,
            total_fee => 88,
            notify_url => http:///payments/wechat-notify, // 支付结果通知网址,如果不设置则会使用配置里的默认地址
            trade_type => JSAPI, // 请对应换成你的支付方式对应的值类型
            openid => Mok,
        ]);
        // 如果成功生成统一下单的订单,那么进行二次签名
        if ($result[return_code] === SUCCESS) {
            // 二次签名的参数必须与下面相同
            $params = [
                appId     => 你的小程序的appid,
                timeStamp => time(),
                nonceStr  => $result[nonce_str],
                package   => prepay_id= . $result[prepay_id],
                signType  => MD5,
            ];

            // config(‘wechat.payment.default.key‘)为商户的key
            $params[paySign] = generate_sign($params, config(wechat.payment.default.key));

            return $params;
        } else {
            return $result;
        }

 

 
 

使用laravel-wechat微信支付

原文:https://www.cnblogs.com/vania/p/11715005.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!