美文网首页
Coodo Pay 搭建教程(宝塔面板篇)

Coodo Pay 搭建教程(宝塔面板篇)

作者: zach12138 | 来源:发表于2020-10-02 20:39 被阅读0次

    首先感谢您考虑使用Coodo Pay,如果您在安装过程遇到了任何问题,都欢迎在issue区提问。本项目地址

    下载项目源码

    按照图示下载代码并解压到您常用的文件夹。

    注册 Mongodb Altas

    首先介绍一下 Mongodb Altas,这是 Mongodb 官方提供的云数据库服务,传统的数据库需要在服务器上安装相应的软件,配置好账号,密码,端口之后才能使用,云数据库提供一个远程的数据库链接,通过这个链接就能对其进行增删改查的操作。

    Mongodb Altas 为免费用户新建的每个项目提供一个免费的数据,

    点击 Mongodb 注册地址,进去之后会看到以下页面

    注册并验证完邮箱之后,进入到以下页面

    如果你不是这个页面,就点击左上角的 CONTEXT 按钮,选择 Organization 就进入到这个页面了。

    点击右上角的 New Project ,进入以下页面

    填写完项目名之后,点 Next ,进入下一页面,直接点 Create Project ,进入以下页面

    点击 Build a Cluster ,进入以下页面

    选择免费方案,进入以下页面

    直接点击 Create Cluster,进入以下页面

    经过几分钟的等待就完成云数据库的创建,看到以下页面

    点击 CONNECT 按钮,弹出以下窗口

    点击右边 Add a Different IP Address ,在输入框中输入 0.0.0.0,这样就可以从任意 ip 访问这个数据库,然后创建新用户,输入用户名和密码,注意密码不能过于简单,然后点击 Choose a connect method ,点击第二个 Connect your application ,进入以下页面

    它默认选好的 Node.js3.0 or later,这个不用改,然后点 Copy 按钮

    修改代码参数

    进入到刚才提到的 back-end 目录,使用任意文本编辑器打开config.js这个文件。

    用刚才点击 Copy 按钮复制的链接,替换掉connection后面的mongodb+srv开头的那段代码,注意不要替换掉链接两边的双引号,然后把链接里 <password>,替换成自己刚才注册的用户的密码,注意两边的尖括号也要替换到。这样就配置好了云数据库

    然后需要添加自己的密匙,就也是代码上方的 secret 后面的内容,这个密匙会被用于账号的登录验证和密码的加密,密匙注意不要过于简单,同时不要动两边的双引号。

    安装宝塔面板

    首先介绍一下宝塔面板,宝塔面板Linux平台上的一款运维工具,它提供了众多运行监控和安全防护的插件,让Linux小白也可以快速搭建网站。目前市面上有众多的Linux服务器提供商,您可以根据自身的需求挑选,这里仅介绍几种廉价或者免费服务器的获取方式,但如果希望服务可以长期稳定运行还是推荐付费购买。

    1. 甲骨文云为所有用户提供两台永久免费的低配Linux服务器,但做好账号被随时删除的心理准备。

    2. 阿里云和腾讯云为24岁以下的用户提供廉价服务器,每月10元左右。

    3. 阿里云国际版,Azure,AWS,Google Cloud Platform 都会为新用户提供一定的免费额度,但注册有一定难度。

    使用您心怡的SSH工具上连接服务器,输入以下命令获取管理员权限

    sudo su
    

    参考这里的链接,点我前往,选择您的服务器系统对应的一键脚本,粘贴到SSH工具回车,经过一段时间的等待,你就可以在屏幕上看到,宝塔面板的外网面板地址,账号和密码。登录成功之后,它会让您选择需要安装的服务,这里选择左边包含 Nginx 的服务。

    安装完成之后,点击侧边栏安全,放行3001端口,同时在服务器商那里也要放行3001端口。

    点击侧边栏中的网站,然后添加站点,域名填写你的域名,然后提交。


    点击设置,再点击弹窗中的配置文件,在server name的后面插入以下代码

    location / {
          proxy_pass http://127.0.0.1:3001;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          proxy_set_header Host $host;
    }
    

    然后点击网站目录,运行目录选择 /public


    如果需要配置https,就再点击配置文件下面的SSL,推荐使用Let's Encrypt 签发的证书。

    接下来上传网站源码
    点击网站的根目录,然后点击上传


    打开backend文件夹,选中所有文件和文件夹拖拽到上传框中,完成上传。

    这时点击侧边栏中的软件商店,在输入框中输入pm2,可以看到一个叫pm2管理器的搜索结果,点击安装。

    点击PM2管理器的设置,然后在项目列表中


    项目所在根目录,点击右边的目录按钮定位到刚才创建的网站的根目录,启动文件名称填 app.js,项目名称随意填写。点击添加,这时需要等待一定时间,pm2管理器正在安装项目所需的依赖。安装完成后点击映射,在弹窗中填入你的域名。

    然后到你的域名提供商,为你的域名添加 A 记录,记录值就是你服务器的ip地址。

    等待一定时间,让DNS记录生效,就可以通过这个域名访问你的网站了。

    注册管理员账号

    在浏览器中输入

    <你的域名>/#/install
    

    就会进入到注册管理员页面,如下

    然后根据提示,填写账号密码和回答安全问题就可以,点击登录按钮去登录了。

    登录成功之后,可以看到如下页面

    配置支付信息

    点击支付设置,进入到如下页面

    这里有4个选项需要填写,分别是应用 ID、支付宝公匙、应用私匙、服务器域名,首先假定您已申请并通过了支付宝当面付审核。

    支付宝当面付申请流程可以参考这个链接:点我前往

    接下来需要使用支付宝的官方工具生成应用公钥和应用私钥,工具下载地址

    下载安装之后,启动该工具,选择RSA2加密和非JAVA适用,再点击生成密钥,就会生成两个包含应用公钥和私钥的txt文件。然后登陆支付宝开发者平台,点击顶部的开发者中心

    进入如下页面

    点击签约的这个应用,并点击左边侧边栏的应用信息,进入如下页面

    点击设置接口加签方式,弹窗会要求你验证手机号,然后输入刚才生成的应用公钥,生成支付宝公钥。应用ID 在上面页面的左上角。

    有了应用ID,支付宝公钥和应用私钥,就可以填入刚才的支付设置中的表格,服务器域名填入你的域名,就可以提交了

    PayPal只需到paypal开发者中心,注册开发者账号, 点我前往,先点击Live,再点击App name,就可以看到你的 Client ID 和 Secret,将其填入PayPal对应的方框中即可。需要注意的是PayPal仅支持美元付款,购买商品时,系统会根据当时的人民币兑换汇率,对价格进行转换。

    批注 2020-10-02 002733.jpg

    配置邮箱信息

    点击邮箱设置进入如下页面


    163邮箱的授权码申请可以参考这个链接 点我前往

    输入你的QQ邮箱和QQ邮箱授权码,授权码申请可以参考这个链接 点我前往

    配置完发件人昵称就可以保存提交了

    上架商品

    点击管理进入如下页面:

    点击新增商品,添加商品,进入如下页面

    按照提示填写完商品的相关信息,就可以点击前往商品页,查看商品的支付页面了

    完成

    复制并分享商品页的 url 地址,用户就可以通过这个url地址购买你的商品,每个商品都有单独的销售链接,在商品页的右上角有查询订单功能,支持通过本地缓存,订单号,支付时的提供的邮箱密码查询订单信息。点击右上角的联系方式会显示注册商品时填写的联系方式。至此整个搭建流程就结束了,如果您对哪一步有了疑问,欢迎在本项目github的issue区提出。
    本项目地址

    补充-如何安装后续更新

    在账户设置中检查更新,得到新版本更新提醒之后,重新下载源码,然后按照之前修改代码的方式,修改需要修改的地方,重新部署,原来的数据都保存到了数据库,重新部署不会对之前的数据有影响。

    补充-如何验证会员码商品的会员码

    购买你会员服务的用户将会获得一个17位的会员码,你可以在自己的应用或网站中集成会员码激活功能,当用户输入会员码之后,可以向以下 api 发送一个post请求,请求体为{code:"会员码"}格式

    <你的域名>/api/order/verify
    

    当验证成功之后,就会返回如下格式的数据

    {
        date //2020-3-28格式
        time //PM7:51:04格式
        code //会员码
        email //支付时填写的邮箱
        activation //会员码激活状态(“已激活”或“未激活”)
        year //年
        month //月
        day //日
        week //星期,0代表星期日,依此类推
        price //支付金额
        paymentStatus //支付状态
        password //支付时填写的密码
        payment //支付途径
        ip //支付时的ip地址
        productId //商品id 
        orderId //订单编号
        productName //商品名称
        levelName //会员等级
        noInvoice //商户订单号
    }
    

    未找到会员码则返回401错误,message内容为”未找到订单信息“

    您就可以根据以上数据判断应该向用户提供什么样的类型

    补充-非会员码商品订单验证

    当用户购买非会员商品时,Coodo Pay会向您创建商品时填写的订单回调地址发送两次请求,第一次会发送如下格式的信息,需要您验证购买者的身份:

    {
        email:  coodopay@102410.xyz,
        password:  123456
    }
    

    用户身份验证成功之后,需要您的服务器返回:

    {
        accountVerified:  true,
    }
    

    用户身份验证失败之后,需要您返回:

    {
        accountVerified:  false,
    }
    

    第二次请求会在用户支付成功之后发送,发送内容和上面如何验证会员资格一节中的订单信息一致,这时需要您的服务器返回以下格式的数据:

    {
        orderVerified: true
    }
    

    后记

    本教程由于篇幅限制,不能做到面面俱到,如果您有什么疑惑的地方,欢迎到本项目的 issue 区提出,我会尽力解决。
    本项目地址

    相关文章

      网友评论

          本文标题:Coodo Pay 搭建教程(宝塔面板篇)

          本文链接:https://www.haomeiwen.com/subject/zxqiuktx.html