TokenPay是一款开源的,支持以动态收款地址或静态收款地址收取波场的TRX
、USDT-TRC20
以及ETH系原生币
以及ETH系ERC20代币
的支付解决方案! 理论上支持所有ETH系的区块链
,常见的ETH系的区块链有:以太坊(ETH)
、币安智能链(BSC)
、Polygon
等等。在本篇博文中,我们将介绍如何在1Panel上搭建TokenPay支付系统,以实现对TRX、USDT和ETH等加密货币的支付处理。
环境准备
在开始之前,请确保您已经拥有以下环境:
- 服务器:一台运行Linux操作系统的服务器,建议使用Ubuntu 20.04或更高版本。
- 1Panel:在服务器上安装并配置好1Panel面板。
- 域名:已备案并指向服务器IP的域名。
- SSL证书:为域名配置SSL证书,确保网站支持HTTPS访问。
第一步:创建Docker-Compose.yml
services:
app:
container_name: token-pay
restart: always
build:
context: .
image: token-pay:lastest
ports:
- 8080:8080
volumes:
- ./TokenPay/appsettings.json:/app/appsettings.json
- ./TokenPay/EVMChains.json:/app/EVMChains.json
- ./TokenPay/TokenPay.db:/app/TokenPay.db
networks:
- 1panel-network
networks:
1panel-network:
external: true
在1Panel->系统->文件
中找到/opt
路径,创建TokenPay
文件夹,下载TokePay项目文件到此文件夹下,并解压出文件,进入文件把src
文件夹中所有文件移动到此文件夹下,并修改docker-compose.yml
文件,并把以上代码复制粘贴进去后保存。
![图片[1]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠](https://www.techtink.cn/wp-content/uploads/2025/03/20250324200908689.webp)
第二部:配置TokenPay参数
进入TokenPay
文件夹,找到appsettings.json
和EVMChains.json
两个文件,分别修改需要替换的部分内容:
appsettings.json
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"DB": "Data Source=|DataDirectory|TokenPay.db; Pooling=true;Min Pool Size=1"
},
"TRON-PRO-API-KEY": "xxxxxx-xxxx-xxxx-xxxxxxxxxxxx", // 避免接口请求频繁被限制,此处申请 https://www.trongrid.io/dashboard/keys
"BaseCurrency": "CNY", //默认货币,支持 CNY、USD、EUR、GBP、AUD、HKD、TWD、SGD
"Rate": { //汇率 设置0将使用自动汇率
"USDT": 0,
"TRX": 0,
"ETH": 0,
"USDC": 0
},
"ExpireTime": 1800, //单位秒
"UseDynamicAddress": false, //是否使用动态地址,设为false时,与EPUSDT表现类似;设为true时,为每个下单用户分配单独的收款地址
"Address": { // UseDynamicAddress设为false时在此配置TRON收款地址,EVM可以替代所有ETH系列的收款地址,支持单独配置某条链的收款地址
"TRON": [ "Txxxx1" ],
"EVM": [ "0x111" ]
},
"OnlyConfirmed": true, //默认仅查询已确认的数据,如果想要回调更快,可以设置为false
"NotifyTimeOut": 3, //异步通知超时时间
"ApiToken": "666666", //异步通知密钥,请务必修改此密钥为随机字符串,脸滚键盘即可
"WebSiteUrl": "http://token-pay.xxxxx.com", //配置服务器外网域名
"Telegram": {
"AdminUserId": 12345678, // 你的账号ID,如不知道ID,可给https://t.me/EShopFakaBot 发送 /me 获取用户ID
"BotToken": "1234567890:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" //从https://t.me/BotFather 创建机器人时,会给你BotToken
}
}
EVMChains.json
{
"EVMChains": [
{
"Enable": false, // false 表示不启用此区块链, true 表示启用
"ChainName": "以太坊",
"ChainNameEN": "ETH",
"BaseCoin": "ETH",
"Decimals": 18,
"ScanHost": "https://etherscan.io",
"ApiHost": "https://api.etherscan.io",
"ApiKey": "", // 此处申请 https://etherscan.io/myapikey
"ERC20Name": "ERC20",
"ERC20": [
{
"Name": "USDT",
"ContractAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
},
{
"Name": "USDC",
"ContractAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
}
]
},
{
"Enable": false, // false 表示不启用此区块链, true 表示启用
"ChainName": "币安智能链",
"ChainNameEN": "BSC",
"BaseCoin": "BNB",
"Decimals": 18,
"ScanHost": "https://www.bscscan.com",
"ApiHost": "https://api.bscscan.com",
"ApiKey": "", // 此处申请 https://bscscan.com/myapikey
"ERC20Name": "BEP20",
"ERC20": [
{
"Name": "USDT",
"ContractAddress": "0x55d398326f99059ff775485246999027b3197955"
},
{
"Name": "USDC",
"ContractAddress": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d"
}
]
},
{
"Enable": false, // false 表示不启用此区块链, true 表示启用
"ChainName": "Polygon",
"ChainNameEN": "Polygon",
"BaseCoin": "POL",
"Decimals": 18,
"ScanHost": "https://polygonscan.com",
"ApiHost": "https://api.polygonscan.com",
"ApiKey": "", // 此处申请 https://polygonscan.com/myapikey
"ERC20Name": "ERC20",
"ERC20": [
{
"Name": "USDT",
"ContractAddress": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
},
{
"Name": "USDC",
"ContractAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"
}
]
}
]
}
![图片[2]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠](https://www.techtink.cn/wp-content/uploads/2025/03/20250324200919653.webp)
第三步:部署TokenPay容器
返回到上一级菜单,进入此菜单的终端。
![图片[3]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠](https://www.techtink.cn/wp-content/uploads/2025/03/20250324200927968.webp)
输入命令:docker compose up -d
![图片[4]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠](https://www.techtink.cn/wp-content/uploads/2025/03/20250324200935502.webp)
这样就完成部署。
第四部:配置反向代理
上面已经把映射8080端口位监听端口,需要在1Panel中设置反向代理,将外部请求转发到该端口。
添加反向代理:在1Panel中,进入“网站” -> “创建”->“反向代理” 。
填写信息:
- 主域名:填写
你的域名
- 代理地址:填写
http://127.0.0.1:8080
。 - 备注:填写
tokenpay
保存设置:点击“确认”保存反向代理设置。
![图片[5]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠](https://www.techtink.cn/wp-content/uploads/2025/03/20250324200952559.webp)
第五步:验证安装
完成上述步骤后,访问您的TokenPay网站域名,例如http://yourdomain.com
,如果看到“服务正常运行中…”的提示,表示TokenPay已成功搭建。
![图片[6]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠](https://www.techtink.cn/wp-content/uploads/2025/03/20250324201008830.webp)
© 版权声明
THE END
暂无评论内容