独角数发卡是一个自动化售货网站源码,支持多种支付方式,包括支付宝、微信、QQ 钱包等,并且可以通过 USDT 进行收款。它的特点是简单易用、高效稳定,能够帮助站长快速搭建自己的售货系统。
如果您是站长或开发者,想要搭建一套自动化售货系统,但是又不知道如何开始,那么本文将为您提供一份保姆级的教程,帮助您从零开始搭建一个稳定、可靠的售货系统。本教程将涵盖独角数发卡的安装、配置、使用等方面,让您在短时间内快速上手。
Unicorn 独角数卡介绍
Unicorn 独角数卡是一款开源站长自动化售货解决方案,具备高效、稳定、快速的特点。它可以通过自定义规则实现自动化售货,从而帮助站长节省时间和精力。
Unicorn 独角数卡采用 Python 语言编写,支持多种支付方式,包括支付宝、微信、QQ 钱包等。它还支持多种货币类型,包括人民币、美元、欧元等。
为了提高系统的稳定性和效率,Unicorn 独角数卡采用了多线程和多进程的设计,同时也支持分布式部署。它还提供了丰富的 API 接口,方便其他系统集成调用。
Unicorn 独角数卡用户可以自由地修改、使用和分发。如果您是站长或开发者,需要自动化售货解决方案,不妨考虑使用 Unicorn 独角数卡。
独角数发卡集成了以下支付接口:
- 支付宝当面付
- 支付宝PC支付
- 支付宝手机支付
- payjs微信扫码支付
- Paysapi(支持支付宝/微信)
- 码支付(QQ/支付宝/微信)
- 微信企业扫码支付
- Paypal支付(默认使用美元)
- V免签支付
- 全网易支付支持(通用彩虹版)
- stripe
以下是我们系统的基本环境要求:
- (PHP + PHPCLI) 版本 = 7.4
- Nginx 版本 >= 1.16
- MYSQL 版本 >= 5.6
- Redis (高性能缓存服务)
- Supervisor (一个使用 Python 编写的进程管理服务)
- Composer (PHP包管理器)
- Linux (我们建议使用 Linux,未在 Windows 上测试过)
以下是 PHP 环境的要求:
- *必须安装 fileinfo 扩展
- *必须安装 Redis 扩展
- *终端必须支持 PHP-CLI,可以使用命令 php -v 进行测试(版本必须一致)
- *需要开启以下函数:putenv,proc_open,pcntl_signal,pcntl_alarm
- 建议安装 opcache 扩展
默认后台信息如下:
- 后台路径:/admin
- 默认管理员账号:admin
- 默认管理员密码:admin
如何安装部署独角数卡系统?
本程序对于初学者来说可能有一定的上手难度,需要对 Linux 服务器有基本的认识和操作能力。同时,本程序不支持虚拟主机,大概率也不支持 Windows 服务器!
如果您连宝塔、phpstudy、AppNode等一键可视化服务器面板也未曾使用或听说过,那么我建议您考虑放弃使用本程序。如果您觉得部署有难度,建议仔细阅读(仔细!)宝塔视频安装教程,
Github:https://github.com/assimon/dujiaoka
安装指导:https://github.com/assimon/dujiaoka/wiki/2.x_bt_install
首先,如果你想搭建一个稳定的服务器,建议选择一台内存大小为512MB或以上的VPS或云服务器。其次,你需要使用基于Linux内核的操作系统,无论你是CentOS派还是Ubuntu派,都可以。如果你没有准备好这些条件,请不要继续操作,你可以关闭浏览器。
宝塔安装
如果您想安装宝塔,请前往官方网站bt.cn查看详细的安装教程。请注意,如果您不熟悉宝塔的使用方法,建议先学习相关知识再进行安装。怎样解锁宝塔付费插件和去除强制登录账号?
您需要确保以下六个软件必须安装:
- Nginx:一款高性能的Web服务器软件。
- MySQL:一款流行的关系型数据库管理系统。
- PHP:一种常用的服务器端脚本语言。
- Redis:一种内存数据库,用于缓存数据。
- phpmyadmin:数据库管理工具。
- 宝塔管理器:进行守护进程管理。
如果您想获得更好的性能,建议使用编译安装的方式安装所需软件。对于宝塔的安装,您可以选择使用官方提供的应用管理器或者采用supervisor进行守护进程管理。
在之前的版本中,许多用户对supervisor不够熟悉,因此在2.0.+版本中,宝塔将采用更简单的宝塔应用管理器作为守护进程管理工具。
PHP环境确认
一、 接下来我们按照步骤删除一下php的禁用函数
(ps:宝塔默认会禁用一些php的函数,导致artisan命令无法正确运行)
点击【软件商店】->【PHP设置】->【禁用函数列表】 将以下函数删除!!putenv
,proc_open
,pcntl_signal
,pcntl_alarm
二、 我们再装一下必要的两个扩展
点击【软件商店】->【PHP设置】->【安装扩展】
安装以下三个扩展:fileinfo
、redis
、opcache(可选安装,性能加强)
新建一个网站
一、在宝塔里新建一个网站用于运行本项目
二、上传我们的项目代码
请选择xxx_build.tar.gz压缩包。
一定要选择带build字样的包,才有依赖!
三、设置项目伪静态和运行目录
解压项目代码后,我们点击网站的设置
设置运行目录: 设置伪静态:
开始安装
一、访问你的网站域名,进入安装流程
二、按实际情况填写网站配置信息
配置守护进程
注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!
注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!
注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!
堡塔应用管理器
是我们用来管理laravel队列进程的工具。
很多同学喜欢问可不可以不执行这一步。
现在我明确的告诉你,不可以!请按照教程来,不然可以选择不使用。
没有它的话你的程序执行会异常!
如果不喜欢使用堡塔应用管理器
,那么使用1.x版本supervisor
也是可以的,两个必须选一个! 必选题!
一、堡塔应用管理器配置教程
进入宝塔控制面板: 步骤:【软件商店】->【堡塔应用管理器设置】->【添加应用】 如图:
名称:随意,如dujiao
应用环境: 选择php7.4
启动文件: 网站根目录 + /artisan
执行目录: 网站根目录
启动参数: queue:work
保存即可!
如果遇到没有自己的php版本怎么办?或者系统有多个php版本,但是应用环境没有自己想要的那个php版本怎么办?
请看下一步新增应用环境
新增应用环境
环境名称可以随便填。
启动文件一般是 /www/server/php/72/bin/php
注意哦,我这里是72就是php7.2,你可能是73或者74。按照自己来,我这里只是举例!
二、supervisor配置教程
步骤:【软件商店】->【Supervisor设置】->【添加守护进程】 如图:
命令参考:
/www/server/php/74/bin/php /www/wwwroot/dujiaoka/artisan queue:work
名称:随意填写
启动用户:选择www
运行目录:选择程序根目录
启动命令:/www/server/php/你的php版本/bin/php /www/wwwroot/你的网站根目录/artisan queue:work
请注意你自己的php版本和网站根目录。不要瞎抄照着我的写? 注意命令之间的空格。
使用Telegram 推送订单通知
很多发卡站都是采用手动发货,所以第一时间获取订单通知,及时备货对用户体验非常重要。
配置Telegram 推送通知首先需要创建机器人
在Telegram搜索Bot: @BotFather
向 @BotFather 发送指令 /newbot ,申请建立一个新的机器人。
输入Bot名称
输入Bot名称之后,@BotFather 会提示创建完成,Telegram会生成HTTP API密钥。
接下来还需要获取接受Telegram订单推送通知的用户ID。
打开Telegram,在搜索栏搜索 @userinfobot
第二行即为用户ID
进入系统后台配置>系统设置>订单推送设置:
3.使用Email邮件自动发送卡密
进入系统后台配置>系统设置>邮件服务:
Gmail SMTP设置:https://www.saleshandy.com/smtp/gmail-smtp-settings/
OUTLOOK SMTP设置:https://getmailspring.com/setup/access-hotmail-com-via-imap-smtp
4.最小购买数量问题解决
此功能需要二次开发,这里只展示实际效果。
进入系统商品管理>商品列表>编辑商品:
设置好之后,前台点击进入产品下单页面
产品数量默认显示最小下单数量,当减少产品数量时,会提示最小数量。
5.新增自定义语言包
默认只有简繁体中文,需要自定义添加语言包设置
进入/resources/lang目录
添加复制zhCN文件夹重命名为en文件夹
在language 数组添加en语言
6.添加加密货币支付方式
使用Coinpay等第三方服务,介入USDT-TRC20、ETH等
7.修改默认显示货币为其他货币单位
语言包和模板修改货币符号
打开模板文件 /resources/views/unicorn/static_pages/home.blade.php
查找:<i class="ali-icon"></i>替换成: {{ __('dujiaoka.money_symbol') }}
Epusdt (Easy Payment Usdt)
Epusdt(全称:Easy Payment Usdt)是一个使用 Go 语言编写的私有化部署的 USDT 支付中间件(Trc20 网络)。站长或开发者可以通过 Epusdt 提供的 HTTP API 集成到任何系统中,无需过多配置,仅依赖 MySQL 和 Redis 即可实现 USDT 的在线支付和消息回调,一切都能在优雅和瞬间完成!
私有化部署使得不需要额外的手续费和签约费用,USDT 代币可以直接进入您的钱包 moneybag。Epusdt 遵守 GPLv3 开源协议!
https://github.com/assimon/epusdt
项目特点:
- 支持私有化部署,无需担心钱包被篡改和吞单。
- 使用 Go 语言跨平台实现,支持 x86 和 arm 芯片架构的 Windows/Linux 设备。
- 多钱包地址轮询,提高订单并发率。
- 异步队列响应,优雅及高性能。
- 无需额外环境配置,仅需运行一个编译后的二进制文件即可使用。
- 支持 HTTP API,其他系统也可以接入。
- Telegram 机器人接入,便捷使用和支付消息快速通知。
项目结构:
Epusdt
├── plugins —> (已集成的插件库,例如 Dujiaoka)
├── src —> (项目核心目录)
├── sdk —> (接入 SDK)
├── sql —> (安装 SQL 文件或更新 SQL 文件)
└── wiki —> (知识库)
搭建Epusdt (Easy Payment Usdt)
本教程基于宝塔
操作面板演示Epusdt
如何运行,如果你未使用宝塔
面板和有更强的服务器运维基础相信你也能根据教程的一些操作找到灵感!
准备工作
- 请确保已经安装并启动了
Mysql
和redis
、Supervisord
服务 - 准备一个
telgeram
机器人(用于操作你的钱包和接收交易通知), - 准备一个收银台域名,并完成解析(例如:
upay.dujiaoka.com
)。用于支付请求发起和扫码页面
开始使用
一、新增网站
在宝塔
面板网站里新增一个网站,无需php
和ftp
纯静态即可,但是需要数据库!
将提前解析好的收银台域名绑定。
二、导入Sql
登录管理刚刚新增数据库,导入Epusdt
所需的sql文件。
以下为示范0.01版本 最新数据库请以 https://github.com/assimon/epusdt/blob/master/sql/ 为准
1.手动下载导入
数据库地址:https://github.com/assimon/epusdt/blob/master/sql/v0.0.1.sql
2.使用phpMyAdmin导入
使用文本编辑器打开.sql
文件,如下:
-- auto-generated definitioncreate table orders( id int auto_increment primary key, trade_id varchar(32) not null comment 'epusdt订单号', order_id varchar(32) not null comment '客户交易id', block_transaction_id varchar(128) null comment '区块唯一编号', actual_amount decimal(19, 4) not null comment '订单实际需要支付的金额,保留4位小数', amount decimal(19, 4) not null comment '订单金额,保留4位小数', token varchar(50) not null comment '所属钱包地址', status int default 1 not null comment '1:等待支付,2:支付成功,3:已过期', notify_url varchar(128) not null comment '异步回调地址', redirect_url varchar(128) null comment '同步回调地址', callback_num int default 0 null comment '回调次数', callback_confirm int default 2 null comment '回调是否已确认? 1是 2否', created_at timestamp null, updated_at timestamp null, deleted_at timestamp null, constraint orders_order_id_uindex unique (order_id), constraint orders_trade_id_uindex unique (trade_id));create index orders_block_transaction_id_index on orders (block_transaction_id);-- auto-generated definitioncreate table wallet_address( id int auto_increment primary key, token varchar(50) not null comment '钱包token', status int default 1 not null comment '1:启用 2:禁用', created_at timestamp null, updated_at timestamp null, deleted_at timestamp null) comment '钱包表';create index wallet_address_token_index on wallet_address (token);
三、配置Epusdt
1.将编译好的Epusdt
项目压缩包上传至刚刚新增的网站目录,随后解压。
2.将.env.example
重命名为.env
文件,这个是配置文件
3.编辑.env
文件,填入你的配置
app_name=epusdt#下面配置你的域名,收银台会需要app_uri=https://upay.dujiaoka.com#是否开启debug,默认falseapp_debug=false#http服务监听端口http_listen=:8000#静态资源文件目录static_path=/static#缓存路径runtime_root_path=/runtime#日志配置log_save_path=/logslog_max_size=32log_max_age=7max_backups=3# mysql配置mysql_host=127.0.0.1mysql_port=3306mysql_user=mysql账号mysql_passwd=mysql密码mysql_database=数据库mysql_table_prefix=mysql_max_idle_conns=10mysql_max_open_conns=100mysql_max_life_time=6# redis配置redis_host=127.0.0.1redis_port=6379redis_passwd=redis_db=5redis_pool_size=5redis_max_retries=3redis_idle_timeout=1000# 消息队列配置queue_concurrency=10queue_level_critical=6queue_level_default=3queue_level_low=1#机器人Apitokentg_bot_token=#telegram代理url(大陆地区服务器可使用一台国外服务器做反代tg的url),如果运行的本来就是境外服务器,则无需填写tg_proxy=#管理员useridtg_manage=#api接口认证token(用于发起交易的签名认证,请勿外泄)api_auth_token=#订单过期时间(单位分钟)order_expiration_time=10#强制汇率(设置此参数后每笔交易将按照此汇率计算,例如:6.4)forced_usdt_rate=
- 注意:配置文件里面不认识的不要修改,留空即可,不会改又要瞎改,除非你对项目源代码很熟悉很有信心
四、配置反向代理
由于Epusdt
会自动开启http
服务并监听配置端口,所以可以直接用ip访问,例如: http://127.0.0.1:8000
。
这会显得非常不美观,还没有https。
所以我们需要借助nginx的反向代理
来为Epusdt
绑定一个域名
点击宝塔
->网站
->点击刚刚新增网站的设置
->反向代理设置
五、赋予Epusdt执行权限
linux
服务器需要赋予Epust
执行权限方可启动。
1.通过ssh
进入服务器终端
2.进入epusdt
可执行文件所在目录(目录位置可以参考宝塔面板的网站根目录)
3.执行命令chmod +x epusdt
赋予权限(根据你的实际目录来,不用一比一抄我的,每个人的目录都不一样)
六、配置supervisor
为了保证Epusdt
常驻后台运行,我们需要配置supervisor
来实现进程监听
打开宝塔supervisor
,添加守护进程
启动命令为:epusdt所在目录+epusdt执行文件+空格+http+空格+start(例如:/www/wwwroot/upay/epusdt-dev/epusdt http start
)
出现如下图则代表成功:
七、测试
以上步骤完成无误后,进入telegram
机器人,如果机器人有反馈则代表运行正常!
其他注意事项
- 1.所有
.env
配置文件有了修改后都需要重启supervisor进程 - 2.教程所示的目录均为参考,请勿1:1照抄,根据自己实际情况来
- 3.
windows
与linux
不同,windows
请直接运行epusdt.exe
即可,无需赋予执行权限