引流宝付费进群插件(第三方插件)

引流宝付费进群插件(第三方插件)

引流宝github开源地址:https://github.com/likeyun/liKeYun_Ylb

以下是引流宝官方介绍:

私域引流宝致力于为个人、团队提供基于微信私域流量的推广、引流的效率工具。可减轻人力,有效降低资源损失、流量流失的几率。引流宝完全开源,免费,可商用、可任意二次开发。引流宝可以辅助你更好地开展营销活动推广!降低运营成本,提高工作效率,获取更多资源。

这款私域推广系统还是很好用的,但是对于使用者来说,有时候我们的微信群,或者QQ群希望加入付费进群功能,支付一定的金额后,才允许进入,官方未开放付费进群功能

所以需要第三方接入的话,可以使用此工具:https://ylb-pay.netsite.cc

引流宝第三方插件js源码

由于源码文件太长,放在文章末尾

将源码内容保存到 qunpay.js 文件,然后将 qunpay.js 文件,复制到 引流宝根目录/static/js/ 目录下

微信截图_20240704174509

然后修改一行 引流宝的 文件,假设我的引流宝安装根目录是 /media/projects/wx_ylb ,则修改 这个目录下的:common/qun/index.php

如图:

微信截图_20240704174918

在其中插入一行(必须插入,否则不生效):

<script type="text/javascript" src="../../static/js/qunpay.js"></script>

微信截图_20240704175052

使用宝塔面板安装的 引流宝系统,可以使用 宝塔面板 的文件编辑功能,在其中插入这一行

前面我们保存了 qunpay.js 文件并放入了指定的目录中, 修改增加这一行的目的是为了开启该插件

使用方式

首先打开工具:https://ylb-pay.netsite.cc ,在里面申请支付信息

微信截图_20240704173632

点击 申请支付信息 后,注册平台账号,然后配置支付挂机

在平台的 系统设置中 ,有一个 pid密钥(key)

微信截图_20240704180046

将这两个参数保存好,然后 上传自己的微信赞赏码 并点击保存

微信截图_20240704173933

平台可以上传多种收款方式,例如:支付宝收款码、微信收款码、微信赞赏码,但是这里只推荐 微信赞赏码,因为其他收款码均无法在微信内部长按识别支付,只有 赞赏码可以

将刚才获取的 pid密钥key 填入到此处并点击获取 Token

微信截图_20240704174127

将 token 配置到下方的 js 文件中

微信截图_20240704174226

更换 qunpay.js 中的 TOKEN 参数

为每个群活码设置不同的支付金额

如果使用宝塔安装的引流宝系统,只要用文件编辑,修改 qunpay.js 文件中的 QID_PRICE 字段中的 群活码 和 对应的金额即可

js 源码

将下面的内容复制,并保存到 qunpay.js 文件中,然后将 qunpay.js 文件,复制到 引流宝根目录/static/js/ 目录下,如下图:

微信截图_20240704174509

qunpay.js 原始文件:


// 请填写生成的支付 Token ,生成网址:https://ylb-pay.netsite.cc/
// 支付二维码生成逻辑:同一个时间段,如果金额一致,下一个用户会 + 0.01 ,也就是一分钱
// 同一个用户访问这个活码,只会生成一个订单,不会重复生成
// 用户支付后,这个订单服务器保留31天,用户31天内访问同一个活码,不会要求再次支付
TOKEN='1gteufptemfj7bzg';
// 群id 对应的进群金额
// 左边是 群活码 ID,右边是支付金额
// 例如下方示例,群活码ID 为 123456,需要支付 一元进群
QID_PRICE = {
  123456: "1",
  662344: "0.01",
};
//##############################################################
//        下面的逻辑代码尽量不要修改
//##############################################################


function randomString(length) {
  var str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var result = "";
  for (var i = length; i > 0; --i)
    result += str[Math.floor(Math.random() * str.length)];
  return result;
}
function generaId() {
  let id = localStorage.getItem("user_id");
  if (!id || id == "") {
    id = randomString(8);
    localStorage.setItem("user_id", id);
  }
}
function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  }
  return false;
}

document.addEventListener("DOMContentLoaded", () => {

  console.log("页面加载完成");
  generaId();

  // 唯一的用户 ID
  let userOrderId =
    localStorage.getItem("user_id") + "_" + getQueryVariable("qid");
  let price = QID_PRICE[getQueryVariable("qid")];
  if (!price || price <= 0) {
    console.log("无需支付进群");
    return;
  }

  let tips = document.getElementById("scanTips");
  let zm_qrcode = document.getElementById("zm_qrcode");
  // 使用其他文案替换掉内容,支付后再显示
  let curTips = tips.innerHTML;
  let curFontSize = tips.style["font-size"];
  let curQrcode = zm_qrcode.getElementsByTagName("img")[0].src;
  console.log(curTips, curQrcode);
  tips.innerHTML = "正在初始化,请稍后";
  zm_qrcode.getElementsByTagName("img")[0].src = "";
  zm_qrcode.getElementsByTagName("img")[0].src =
    "https://pay.netsite.cc/enQrcode?url=" + encodeURIComponent("正在初始化");

  var intervalId;
  function checkState() {
    fetch(
      "https://ylb-pay.netsite.cc/createOrder?id=" +
        encodeURIComponent(userOrderId) +
        "&price=" +
        price +
        "&type=1" +
        "&realqr=1" +
        "&token=" + TOKEN,
      {
        method: "GET",
      }
    )
      .then((response) => response.json())
      .then((data) => {
        console.log(data);
        if (data.showOrder) {
          if (!data.showQrcode) {
            // 创建订单失败
            throw new Error("get order faild");
          }
          console.log("需要显示order");
          let price = data["price"] || price;
          tips.innerHTML = "请微信扫码支付: ¥" + price + " 后进群";
          tips.style.color = "red";
          tips.style["font-size"] = "22px";
          if(data.showQrcode.startsWith('data')){
            zm_qrcode.getElementsByTagName("img")[0].src = data.showQrcode;
          } else {
            zm_qrcode.getElementsByTagName("img")[0].src =
              "https://pay.netsite.cc/enQrcode?url=" + encodeURIComponent(data.showQrcode);
          }
        } else {
          // 将内容和二维码还原
          tips.innerHTML = curTips;
          tips.style.color = "";
          tips.style["font-size"] = curFontSize;
          zm_qrcode.getElementsByTagName("img")[0].src = curQrcode;
          clearInterval(intervalId);
        }
      })
      .catch((e) => {
        console.log("error: ", e);
        tips.innerHTML = "初始化失败,请刷新页面重试";
      });
  }
  // 定时轮询检测
  checkState();
  intervalId = setInterval(checkState, 2000);
});



Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://zwc365.com/2024/07/04/引流宝付费进群插件第三方插件

Buy me a cup of coffee ☕.