使用 laravel + easyWechat 做微信公众号支付
准备
1.微信服务号 相应的 appId 和 appsecret
2.微信支付商户号 的 (商户号的id) mch_id (商户支付的**) key
商户的key要到微信支付商户平台上查看
开始开发
1.laravel 安装 laravel/wechat
参考地址 https://github.com/overtrue/laravel-wechat
composer require "overtrue/laravel-wechat:~4.0"
同时要注意 laravel 的 csrf_token 机制
$officialAccount = EasyWeChat::officialAccount(); // 公众号实例 $work = EasyWeChat::work(); // 企业微信实例 $payment = EasyWeChat::payment(); // 微信支付实例 $openPlatform = EasyWeChat::openPlatform(); // 开放平台实例 $miniProgram = EasyWeChat::miniProgram(); // 小程序实例 这此实例的参数是自动从 config/wechat.php 配置文件中自动获取的,当然也可以自已指定
config/wechat.php 文件的格式如下图
相应的在env文件中写入 appid appsecret mch_id key 和 token
前端发起点击支付,发起支付请求
页面的代码 ajax请求 wechat/prepay 地址,后台返加的config中有 调起支付所须的参数
后台的wechat/pay的代码如下,
这里的config就是前端的所有参数的数组
这样就调起微信支付了
须要注意的是,微信对支付的目录是有规定的,必须在打定的目录下的路径才可以调用
如:在微信商户平台配置 的支付路径是 www.xxx.com/wechat/payment/ (注意结尾要有 “/”)
那么我们的支付代码的路径就应该是 这个路径下的 子路径 如:www.xxx.com/wechat/payment/orderpay www.xxx.com/wechat/payment/mondypay 等都可以
但是 www.xxx.com/wechat/payment www.xxx.com/wechat/payment/orderpay/sunpay 等都是不可以的
现在微信的支付路径配置转到了商户平台上,自已去配置一下