WHMCS和支付宝网关安装步骤和问题小结

发表时间:2014-10-15 9:47 | 分类:建站经验 | 浏览:4,606 次

对于想用whmcs来做idc或者其他业务的朋友来说,whmcs安装和支付宝安装肯定是必备的,而且也是整合其他程序开启国内业务的前提。

准备工作

安装whmcs,从whmcs官网购买软件,下载。如果仅测试使用,可是使用网上传的开心版。资源自行搜索,我自己也没有。安装步骤很简单,与wordpress等程序安装一样。

申请支付宝商家服务

打开支付宝商家服务网址:https://b.alipay.com/,登陆支付宝账号,个人用户可以申请担保交易收款和双功能收款两种套餐。一般提交申请后会在3天左右下来结果。

支付宝支付网关安装

whmcs安装好后,接下来就安装支付宝。程序可以从这里下载:http://download.chekiang.info/blog/whmcsalipay.tar.gz。源码无任何加密,可以放心使用。在原版whmcs 5.2.17中运行正常。

先把下载的支付宝接口上传你的服务器,解压。然后再把alipay.php主文件上传到网站程序下的modules/gateways/目录,把callback文件夹中的文件上传到modules/gateways/callback目录。接着登陆whmcs后台,在setup菜单中找到“Payment Gateways”,Activate Module中选择alipay后点击activate激活。在接下去的选项中填入卖家支付宝帐户、合作伙伴id和安全校验码,勾选自动发货和支持ssl。最后点击save保存。

whmcs alipay

生成ssl证书

默认whmcs安装时走的是http,没有支持ssl,但为了自动发货和安全着想,把whmcs网站http换成https。

ssl证书可以自己生成或者购买,自己生成的证书有一个缺点就是所有浏览器打开网站默认会提示不安全,需要手动添加例外。

可以通过以下步骤生成一个简单的证书:

首先,进入你想创建证书和私钥的目录,例如:

$ cd /usr/local/nginx/conf

创建服务器私钥,命令会让你输入一个口令:

$ openssl genrsa -des3 -out server.key 1024

创建签名请求的证书(CSR):

$ openssl req -new -key server.key -out server.csr

在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:

$ cp server.key server.key.org

$ openssl rsa -in server.key.org -out server.key

$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

只要就是server.key和server.crt这两个文件。

配置nginx,开启ssl

编辑虚拟主机配置文件,修改。

server {
server_name blog.nbhao.org;
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
}

80端口跳转到443端口。

server {
listen 80;
server_name blog.nbhao.org;
rewrite ^(.*) https://$server_name$1 permanent;
}

这里博主碰到一个问题,在whmcs前台通过支付宝付款完成,但是后台一直显示未付款。最后终于找到原因,因为自造证书对支付宝来说是不认可的,所以需要把支付宝异步传输通知的那个地址改成http。先取消异步传输地址的301跳转,即把上面80端口的那一段改一下,然后修改alipay.php支付宝主接口文件即可。

修改后的80端口跳转到443端口:

server {
listen 80;
server_name blog.nbhao.org;
root  /home/wwwroot/blog.nbhao.org ;
location / {
if ($request_uri !~ ^/.*/alipay_callback\.php.*){
rewrite ^(.*) https://$server_name$1 permanent;
}
}
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
}

上面重定向语法在新版的nginx中已经不被推荐使用,具体详见:https://zhangnq.com/1829.html

修改后alipay.php片段:

$alipay_config['return_url'] = $systemurl."/modules/gateways/callback/alipay_return.php";
//$alipay_config['notify_url'] = $systemurl."/modules/gateways/callback/alipay_callback.php";
$alipay_config['notify_url'] = "https://zhangnq.com/modules/gateways/callback/alipay_callback.php";

至此whmcs和支付宝网关安装的所有步骤完成,接下来就可以开始添加主机和服务开始销售了。

本文标签:

本文链接:https://www.sijitao.net/1760.html

欢迎您在本博客中留下评论,如需转载原创文章请注明出处,谢谢!

已经有4个回复
Comment (4)
Trackbacks (0)
  1. icase  ( 2015.02.9 18:46 ) : #-9

    我在cpanel下如何操作,我本身已经申请了证书,并且网站https是可使用的,但就是无法解决未付款的问题

    • 章郎虫  ( 2015.02.10 08:04 ) :

      @icase: 有在cpanel中做http全站跳转到https吗?

      • icase  ( 2015.02.10 19:12 ) :

        @章郎虫: 是呀

        • 章郎虫  ( 2015.02.11 08:29 ) :

          @icase: 那应该和nginx一样,修改apache重定向规则.htaccess文件,让支付宝异步通知的网址走http。

  1. 还没有Trackbacks
一键脚本 博客历程 留言联系 文章归档 网站地图 谷歌地图
Copyright © 2010-2024 章郎虫博客 All Rights Reserved.