max_wen 2016-10-31 16:16:15 28358次浏览 11条评论 50 11 0

基于overtrue/wechat
Github: https://github.com/max-wen/yii2-easy-wechat

这个包是之前就整合好的,在一个微信公众号项目里已经正在使用
之前没有时间,最近空闲将项目提交到了github上 并发布在 Packagist
支持composer管理
主要目的为了Yii2框架中能够简单实用。

主要功能:

  1. 支持 Yii::$app->wechat调用easyWechat的主入口: EasyWeChat\Foundation\Application
  2. 支持 Yii::$app->wechat->user 访问微信用户信息
  3. 集成了一些常用的方法在wechat组件中。

例如网页授权检测: Yii::$app->wechat->isAuthorized() 等等

欢迎Star&PR。

觉得很赞
  • 评论于 2016-11-21 23:08 举报

    哇哦,这个真心不错!! 找了很久。

  • 评论于 2016-11-22 18:15 举报

    mark
    最近也在找微信登录和支付相关的扩展。

    有没有微信登录和支付整合的扩展?

    2 条回复
    评论于 2016-11-23 09:30 回复

    没有仔细看SDK文档 这个包是基于EasyWechat整合至yii2的 EasyWechat基本上涵盖了目前所有微信开放平台的功能 具体至=> https://easywechat.org/zh-cn/docs/

    评论于 2016-12-12 22:07 回复

    谢谢

  • 评论于 2017-03-30 16:58 举报

    是要先composer EasyWeChat;然后在composer yii2-easy-wechat吗?

    1 条回复
    评论于 2017-03-31 09:24 回复

    不用 我的包里直接添加了overtrue/easywechat的依赖 所以你只需要添加 yii2-easy-wechat就可以自动添加overtrue/easywechat了

  • 评论于 2017-05-13 15:34 举报

    请问下大哥,统一下单配置里 notify_url 设置了

                'body' => '加油',
                'detail' => '加油',
                'trade_type' => 'JSAPI',
                'out_trade_no' => $out_trade_no,
                'total_fee' => 1, // 单位:分
                'notify_url' => 'http://xxx.xxxx.com/weixin/notify-callback',
                //'attach' => '加油',
                'spbill_create_ip' => Yii::$app->request->getUserIP(),
                'openid' => $info->id,
                'sub_mch_id' => $merchant->weixinsellerid,
                //'sub_appid'=> Yii::$app->params['WECHAT']['app_id'],
            ];
    

    然后在

     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();
        }
    

    为什不能通知,操作我后端相关业务

    1 条回复
    评论于 2018-10-31 10:31 回复

    最后怎么解决的?

  • 评论于 2017-07-05 15:37 举报

    这个sdk设置 回调地址 好像不起作用 像这种Yii::$app->wechat->returnUrl=Yii::$app->request->getUrl();
    于是我只能这样子Yii::$app->params['WECHAT']['oauth']['callback']=Yii::$app->request->getUrl();

  • 评论于 2017-07-08 11:17 举报

    作者,我在Yii2中测试,发现回复用户消息,总报错提示"您提交的数据无法被验证"

    我在方法这样写的,参照示例

    public function actionIndex()
    {
        $server = Yii::$app->wechat->server;
    
        $server->setMessageHandler(function($message) {
            return "您好!欢迎关注我!";
        });
    
        $response = $server->serve();
        $response->send();
    
    }
    
  • 评论于 2017-09-20 10:06 举报

    mark
    内容应该包含至少5个字符。

  • 评论于 2017-12-13 21:45 举报

    请问这个是不是要求PHP版本为7以上?

    2 条回复
    评论于 2017-12-30 15:14 回复

    按照Yii2的要求 PHP5.5以上即可

    评论于 2018-02-01 11:54 回复

    我用的是php5.4的可以吗?

  • 评论于 2018-05-04 10:44 举报

    服务器验证,Token配置写在哪里?文档也没有

  • 评论于 2018-07-13 17:21 举报

    mark,随后可能会用到,谢谢!

  • 评论于 2019-02-12 17:29 举报

    大家好 请教大家一个问题 EasyWechat 进行服务器端验证 的时候 token配置 与微信公众平台后台配置的token不一致 但是照样能通过验证 这是什么情况 1.jpg
    WX20190212-172832@2x.png

您需要登录后才可以评论。登录 | 立即注册