使用laravel-wechat微信支付

参考文档

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微信支付

上一篇:ios接收数据的两种方式 一种是ASI 另一种是系统自带的类


下一篇:iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用