Yii2整合EasyWechat, 微信SDK,支持Yii::$app->wechat [ 2.0 版本 ]
基于overtrue/wechat
Github: https://github.com/max-wen/yii2-easy-wechat
这个包是之前就整合好的,在一个微信公众号项目里已经正在使用
之前没有时间,最近空闲将项目提交到了github上 并发布在 Packagist 上
支持composer管理
主要目的为了Yii2框架中能够简单实用。
主要功能:
- 支持
Yii::$app->wechat
调用easyWechat的主入口:EasyWeChat\Foundation\Application
- 支持
Yii::$app->wechat->user
访问微信用户信息 - 集成了一些常用的方法在wechat组件中。
例如网页授权检测: Yii::$app->wechat->isAuthorized()
等等
欢迎Star&PR。
max_wen
注册时间:2014-10-09
最后登录:2024-10-21
在线时长:19小时43分
最后登录:2024-10-21
在线时长:19小时43分
- 粉丝15
- 金钱1640
- 威望20
- 积分2030
共 11 条评论
哇哦,这个真心不错!! 找了很久。
mark
最近也在找微信登录和支付相关的扩展。
有没有微信登录和支付整合的扩展?
没有仔细看SDK文档 这个包是基于EasyWechat整合至yii2的 EasyWechat基本上涵盖了目前所有微信开放平台的功能 具体至=> https://easywechat.org/zh-cn/docs/
@max_wen 谢谢
是要先composer EasyWeChat;然后在composer yii2-easy-wechat吗?
不用 我的包里直接添加了overtrue/easywechat的依赖 所以你只需要添加 yii2-easy-wechat就可以自动添加overtrue/easywechat了
请问下大哥,统一下单配置里 notify_url 设置了
然后在
public function actionNotifyCallback() { $response = Yii::$app->wechat->payment->handleNotify(function ($notify, $successful) { // 使用通知里的 "微信支付订单号" 或者 "商户订单号" 去自己的数据库找到订单 $order = MarketOrder::find()->where(['orderno' => $notify->out_trade_no])->one(); if (!$order) { // 如果订单不存在 return 'Order not exist.'; // 告诉微信,我已经处理完了,订单没找到,别再通知我了 } // 如果订单存在 // 检查订单是否已经更新过支付状态 if ($order->status == 1) { // 假设订单字段“支付时间”不为空代表已经支付 return true; // 已经支付成功了就不再更新了 } // 用户是否支付成功 if ($successful) { // 不是已经支付状态则修改为已经支付状态 $order->create_at = time(); // 更新支付时间为当前时间 $order->status = 1; } else { // 用户支付失败 $order->status = 2; } $order->save(false); // 保存订单 return true; // 返回处理完成 }); $response->send(); }
为什不能通知,操作我后端相关业务
最后怎么解决的?
这个sdk设置 回调地址 好像不起作用 像这种Yii::$app->wechat->returnUrl=Yii::$app->request->getUrl();
于是我只能这样子Yii::$app->params['WECHAT']['oauth']['callback']=Yii::$app->request->getUrl();
作者,我在Yii2中测试,发现回复用户消息,总报错提示"您提交的数据无法被验证"
我在方法这样写的,参照示例
public function actionIndex() { $server = Yii::$app->wechat->server; $server->setMessageHandler(function($message) { return "您好!欢迎关注我!"; }); $response = $server->serve(); $response->send(); }
mark
内容应该包含至少5个字符。
请问这个是不是要求PHP版本为7以上?
按照Yii2的要求 PHP5.5以上即可
我用的是php5.4的可以吗?
服务器验证,Token配置写在哪里?文档也没有
mark,随后可能会用到,谢谢!
大家好 请教大家一个问题 EasyWechat 进行服务器端验证 的时候 token配置 与微信公众平台后台配置的token不一致 但是照样能通过验证 这是什么情况