如果蓝奏云下载失效把wws.lanzous.com/xxxx改成wws.lanzoux.com/xxxx【s改成x或i】或【wws改成wwt】注意事项: 本资源来源于网络购买或收集整理,仅供个人学习研究交流,请勿商用;
【优选源码】TokenPay搭建实现TRX、USDT、ETH支付对接独角发卡、易支付
上次教大家搭建EPUSDT支付,希望你还用得顺手。在这个基础上还要扩展数字货币支付,或者需要不同链上的支付那就来试试TokenPay。TonkenPay支持以动态收款地址或静态收款地址收取波场的TRX、USDT-TRC20以及ETH系原生币以及ETH系ERC20代币的支付解决方案! 理论上支持所有ETH系的区块链,常见的ETH系的区块链有:以太坊(ETH)、币安智能链(BSC)、Polygon等等。
现已支持如下币种:
- 波场(TRON):
TRX
、USDT
- 以太坊(ETH):
ETH
、USDT
、USDC
以及其他任意ERC20代币
本次的演示还是搭建在宝塔或aaPanel面板上,在开始之前还是需要先准备老三样。
1. 域名一个
2. 装有宝塔或aaPanel面板的vps一台。
3. Telegram机器人(如何申请机器人请去看上一篇文章)
新建网站
还是和搭建epusdt一样,新建网站填入域名,不创建FTP,不创建数据库,PHP版本选择静态,并申请SSL证书。
回到站点根目录,从github拉取或下载TokenPay文件压缩包并上传解压。在解压文件中找到appsettings.Example.json
,重命名为appsettings.json
。找到
,重命名为EVMChains.Example.json
。EVMChains.json
在 TronGrid.io 注册一个账户,并申请一个API。
然后回到网站根目录对appsettings.json
进行编辑,打开文件代码如下:
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"DB": "Data Source=|DataDirectory|TokenPay.db; Pooling=true;"
},
"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" ], //你的trc20钱包地址
"EVM": [ "0x9966aA2f1dDD7c1174553e687791a96c1Bc20680" ]
},
"OnlyConfirmed": true, //默认仅查询已确认的数据,如果想要回调更快,可以设置为false
"NotifyTimeOut": 3, //异步通知超时时间
"ApiToken": "666666", //异步通知密钥,请务必修改此密钥为随机字符串,脸滚键盘即可
"WebSiteUrl": "https://yourtokenpay.domain", //配置服务器外网域名
"Telegram": {
"AdminUserId": 12345678, // 你的账号ID,如不知道ID,可给https://t.me/EShopFakaBot 发送 /me 获取用户ID
"BotToken": "1234567890:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" //从https://t.me/BotFather 创建机器人时,会给你BotToken
}}
修改代码中 “TRON-PRO-API-KEY” 值,填入刚才申请的API值,并删除后面的注释。
修改代码中 “TRON” 值,填写你的trc20钱包地址。
修改 “ApiToken” 值,将后面的666666换成你自己的字母和数字组合。
修改 “WebSiteUrl” 值,填写你的tokenpay网址。
修改 “AdminUserId” 值,填写telegram用户ID数字
修改 “BotToken” 值,填写telegram机器人API token,这里我们可以使用上次申请机器人token
至此基本搭建完成,如需ERC20的收款,对应填写自己的信息就好。
赋予TokenPay执行权限
方法一:
SSH终端登录服务器,切换到root用户cd到站点所在目录。例如本次搭建目录位于:/www/wwwroot/tpay.totry.link 具体目录位置请根据实际情况调整。在目录中执行 chmod +x TokenPay,授予 tokenpay 文件权限。
方法二:
在宝塔进入站点根目录,在目录中打开终端窗口,输入root用户名及密码登录。执行 chmod +x TokenPay,授予 tokenpay 文件权限。此操作仅限服务器可以通过root用户名及密码连接的情况。
添加守护进程
还是使用Supervisor或宝塔进程管理器都一样,新建一个进程守护。
名称:tokenpay
启动用户:root
运行目录:网站根目录(例如:/www/wwwroot/tpay.totry.link)
启动命令:网站根目录路径/TokenPay (例如:/www/wwwroot/tpay.totry.link/TokenPay)
进程数:1
对应填写完后,点确定添加。此时telegram应该会出现“你好呀~我是TokenPay通知机器人!”,进程启动成功。
添加反向代理
打开站点设置 ➜ 反向代理 ➜ 添加反向代理。对应填入一下内容。
代理名称:tokenpay
目标URL:http://127.0.0.1:5000 (需在防火墙放行相应端口)
其他保持不变,然后提交。
然后访问你的域名,如出现“服务正常运行中…” 表示搭建完毕。
对接独角数卡
下载TokenPay相应插件,并解压。解压后进入文件目录,找到Plugs ➜ dujiaoka文件夹。将app文件夹和routes文件夹文件对应上传至独角数卡网站相同路径目录,然后打开phpMyAdmin,填写tokenpay数据库用户名密码登录,选择tokenpay数据库,然后在上方导航选择导入,将database文件夹的sql手动导入。
然后登录独角数卡后台,左侧导航栏找到 配置 ➜ 支付配置 此时已经可以看见多出很多支付方式,对应编辑填写信息即可。
这里以USDT举例,设置请参考下图:
对接易支付
对接易支付有什么用?当对接完易支付以后,理论上可以让所有支持易支付接口程序使用 波场(TRON):TRX
、USDT
、以太坊(ETH):ETH
、USDT
、USDC
以及其他任意ERC20代币支付,这是优于epusdt的地方。
同样解压后进入文件目录,找到Plugs ➜ epay文件夹。将文件夹内文件对应上传至独易支付网站对应相同路径目录,替换文件。注意,在 plugins 文件夹下的 TokenPay文件夹需要连文件夹整个上传。然后打开phpMyAdmin,填写易支付数据库用户名密码登录,选择易支付数据库,分别导入epay文件夹下的:增加支付方式.sql、增加字段长度.sql数据库文件。
登录易支付后台,顶部导航栏找到 支付接口 ➜ 支付插件 刷新插件列表,查看是否包含TokenPay插件。继续选择 支付接口 ➜ 支付方式 默认这里已经添加所有支持支付方式,然后选择 支付接口 ➜ 支付通道 ➜ 新增 添加自己需要的支付方式。
添加完后点击配置密钥
API接口地址:tokenpay网址(例如:https://tpay.totry.link,网址后面不要带/)
APP ID:随便填写
API秘钥:ApiToken
添加后点击开启,整个设置完成。在对接完易支付以后,最好服务器添加易支付计划任务,否则可能出现回调慢,不回调的情况。
这里说下易支付的注意事项,有可能你在对接后。产品支付成功后回调到一个payok.html的页面,而不是回调到发起支付的产品页。这种情况可编辑 getshop.php 这个文件,注释掉当中的部分代码即可正常回调。参考如下:
// 支付完成5分钟后禁止跳转回网站
//if(!empty($row['endtime']) && time() - strtotime($row['endtime']) > 300){
//$jumpurl = '/payok.html';
//}else{
$url=creat_callback($row);
$jumpurl = $url['return'];
//}
if($row['status'] == 2){
$jumpurl = '/payerr.html'
已处理
2
666
随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!随风云!!!!!
1