参考文档

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' => '',
'total_fee' => ,
'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微信支付的更多相关文章

  1. VUE 进行微信支付,解决 微信支付URL未注册

    使用history方式 比较坑吧就不吐槽了,说下实现方式 需要解决问题: 1.因为我的微信支付授权路由是:m.xxxx.com,this.$router.push('xxx')之后经常出现 [微信支付 ...

  2. laravel 使用EasyWechat 3分钟完成微信支付(以APP支付为例)

    上一篇写了支付宝支付,然后这段时间我又把微信支付给接上了,作为萌新的我还是很有成就感的,哈哈~~好了,该写正事了. 第一步:创建应用及配配置  首先到微信的官方平台注册应用https://pay.we ...

  3. 3分钟实现小程序唤起微信支付 Laravel教程

    微信支付的接入,如果不使用成熟的开发包,将是巨大的工作量. 依赖 EasyWechat 先在 laravel 项目中依赖 easywechat 这个包 composer require "o ...

  4. Laravel 中使用支付宝、银联支付、微信支付进行支付

    Laravel Packages 为 Laravel 提供了强大的扩展功能,为从 1 到 n 提供无限可能,这其中就包括支付, Laravel 官方提供的 Cashier 包集成对 Stripe 的支 ...

  5. Wechat 微信端调用“微信支付接口”的正确方式

    微信端的项目中,比如微信商城之类的,肯定会涉及到微信支付这一块: 下面直接上详细的代码: var data = {--}; // 调用微信支付需要的数据 function onBridgeReady( ...

  6. 微信支付——基于laravel框架的php实现

    现在经手的几乎每个项目都支持微信支付,简单记录下接入的大致流程. 1.首先商户等申请各种账号,微信支付商户号,APPID,API密钥,Appsecret 2.app端上传支付需要的各个字段 3.后台收 ...

  7. Laravel使用EasyWechat 进行微信支付

    微信支付和EasyWeChat这个包都是巨坑, 文档写的稀烂, 记录下防止以后又重复踩坑: 安装教程在这: https://www.jianshu.com/p/82d688e1fd2a

  8. 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP)

    wechat github 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP) 概述 公众号开发是痛苦的,痛苦在好多问题开发者文档是没有提到的,是需要你猜的. 在开发过程中 ...

  9. 微信支付 composer 方法 --- 实测有效

    <h1 align="center">Pay</h1> <p align="center"> <a href=&quo ...

  10. 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付                  今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...

随机推荐

  1. 洛谷 P4198 楼房重建 线段树维护单调栈

    P4198 楼房重建 题目链接 https://www.luogu.org/problemnew/show/P4198 题目描述 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上 ...

  2. 南昌网络赛J. Distance on the tree 树链剖分

    Distance on the tree 题目链接 https://nanti.jisuanke.com/t/38229 Describe DSM(Data Structure Master) onc ...

  3. Exchanging Gifts--2019CCPC哈尔滨 E题

    题意:http://codeforces.com/gym/102394/problem/E 1操作是给你一串数,2操作是连结两个串(所以可能很长),问你最后一个串的值(知道最多的个数就很好算,关键计算 ...

  4. Go语言学习之main包的讲解

    ### Go语言学习之main包的讲解 1.Go中main函数不支持任何返回值 2.可以通过os.Exit(0)来返回状态 func main(){ fmt.Println("hellow ...

  5. Antd中,Form和Select联合使用,导致placeholder不生效分析

    在使用antd的form组件时候,需要对Select组件进行语体示,placeholder,但是写的值并不生效 效果如上,但是现实的时候不生效,经检查发现,组件需要传递的是undefined,如果传入 ...

  6. IntelliJ IDEA 搭建 Go 开发环境

    本文介绍 Windows7 x64 基于 IntelliJ IDEA 搭建 Go 语言开发环境.主要是一些操作过程截图以及简单文字描述,如有不清楚的地方​,欢迎指正.所有软件使用当前(2016.12. ...

  7. C# 将一种类型的数组转化为另一种类型的数组

    //字符串数组(源数组) "}; //整型数组(目标数组) int[] iNums; //转换方法 iNums = Array.ConvertAll<string, int>(s ...

  8. C# switch语句的使用

    1  今天我们来学习switch 语句的使用,switch 语句和if else 类似 switch 语句主要的作用是用于来判断在规定条件下   根据你的选择来执行switch 语句下面case :的 ...

  9. C#异步编程中的最佳实践(做法)

    原文地址Stephen Cleary 写得很详细,尤其讲到了 GUI 上下文调用,在APS.NET中它会阻塞 GUI 线程,从而导致死锁.而控制台中却不存在这个问题. 比如开发过程中本地写控制台程序测 ...

  10. Dubbo相关的基础

    Dubbo是一款高性能轻量级的java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务注册与发现. Dubbo是阿里开源的一个项目,现在已经是Apache的顶级 ...