静看光阴荏苒
不管不顾不问不说也不念

WHMCS集成ConvoyPanel销售小鸡

我在Github上找到了几个WHMCS对接ConvoyPanel的模块,我全部都试了一遍,这些模块不是这有点问题就是那有点问题。。只有这一个功能是完全正常的:https://github.com/simple-taipei/convoy-for-whmcs。但实际上这个模块也不能做到开箱即用,需要魔改一下WHMCS的产品配置页面。

由于ConvoyPanel的API对创建虚拟机时使用的ROOT密码要求非常严格,至少8位,且要包含一个大写字母,一个小写字母,一个数字,一个特殊符号。而WHMCS默认的ROOT密码输入框没有对用户输入的密码进行强度校验,这导致用户如果输入了一个强度不达标的密码,虚拟机就无法创建成功。

为了解决这个问题,我用AI写了一个WHMCS的Hook,实现的功能就是校验用户输入的ROOT密码是否满足ConvoyPanel的条件,如果不满足条件则阻止表单提交,直到用户输入的ROOT密码满足条件才能下单购买。我顺便还让AI写了一个隐藏WHMCS产品配置页面的NS1/NS2输入框,并填充默认值的Hook。有需要的可以直接从我博客下载。

密码强度校验:validate_rootpw

隐藏NS1/NS2输入框:hidden_nsprefix

使用方法也很简单,把这些PHP文件放到这个目录下:

/var/www/whmcs/includes/hooks

修改文件所有者权限:

chown -R www-data:www-data /var/www/whmcs/includes/hooks/validate_rootpw.php
chown -R www-data:www-data /var/www/whmcs/includes/hooks/hidden_nsprefix.php

效果就是这样,用户购买时只需要输入虚拟机的Hostname和ROOT密码:

目前只测试过WHMCS默认的Standard Cart订单模板,其他的模板能不能用不清楚,不能用的话让AI改一下应该也不难。。但是请注意哈,这两个Hook文件都只是做了简单的前端校验,后端是没有校验的,也就是说用户如果懂点技术的话是可以直接篡改(绕过)这些功能的。当然我觉得不会有人那么无聊吧,让设置高强度的密码不要,要去用弱密码然后机子被人黑=-=

现在就可以来配置模块了,在WHMCS如下路径创建一个目录:

mkdir /var/www/whmcs/modules/servers/convoy

把模块克隆到本地:

git clone https://github.com/simple-taipei/convoy-for-whmcs.git
cd convoy-for-whmcs

把模块文件都复制到对应的目录下:

cp convoy.php /var/www/whmcs/modules/servers/convoy
cp -r lib /var/www/whmcs/modules/servers/convoy
cp -r templates /var/www/whmcs/modules/servers/convoy

修改目录所有者权限:

chown -R www-data:www-data /var/www/whmcs/modules/servers/convoy

[可选]如果想要产品开通后,虚拟机自动开机可以编辑convoy.php:

nano /var/www/whmcs/modules/servers/convoy/convoy.php

把这个配置改成true:

'start_on_completion' => true

转到WHMCS后台,先添加一个组,再添加一个服务:

点击如图所示按钮进入完整的配置页面:

Name随便起一个,Hostname填写你的ConvoyPanel域名(不要带http/https前缀),IP Address填写ConvoyPanel所在服务器的公网IP。Password填写ConvoyPanel面板生成的Token,端口使用443,其他没有提到的配置项全部保持默认值不做修改,点击测试连接,确保能够正常连接到ConvoyPanel:

ConvoyPanel创建Token:

转到WHMCS的Products/Services页面,先创建一个产品组,再创建一个产品:

产品类型一定要选择Server/VPS,因为我们刚才的Hook都是针对的这个模板页面,你用其他的就达不到预期效果:

转到模块设置页面,参考下图来配置VPS产品的具体规格,如CPU、内存、硬盘、流量等:

这里面需要注意是Node ID这个ID在ConvoyPanel的如下页面可以找到:

还有Template UUID:

到这里就全部配置完成了,现在可以测试一下用户下单购买以及开通的情况,用户可以在WHMCS通过SSO登录到ConvoyPanel的虚拟机控制面板:

一切正常:

到这里这篇文章就写的差不多了,当然如果想正式营业的话还需要对接一个支付接口,oneman常用的接口不用多说了,肯定是易支付。。易支付可以自己搭,也可以用别人的,俗称平台。用别人的易支付风险很大,因为这些平台随时都可能跑路,做的都是些“你懂的”的业务。。最好还是自己搭一个。。这里就不多说了。。

赞(0)
未经允许不得转载:荒岛 » WHMCS集成ConvoyPanel销售小鸡
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

分享创造快乐

广告合作资源投稿