TokenPay搭建教程-彩虹易支付/独角数卡对接USDT区块链支付解决方案

这个各个发卡站平台需要对接USDT支付的中间件插件,不可不搭,不然就需要第三方过桥。

目前可以支持这个插件的源码平台有:彩虹易支付,独角数卡,风铃发卡,V2board(用于管理V2ray),WHCMS

付费下载的是已经整理好的源码和安装视频和文字教程。

TokenPay – 区块链支付解决方案

一款开源的,支持以动态收款地址或静态收款地址收取波场的TRXUSDT-TRC20以及ETH系原生币以及ETH系ERC20代币的支付解决方案! 理论上支持所有ETH系的区块链,常见的ETH系的区块链有:以太坊(ETH)币安智能链(BSC)Polygon等等。

项目简介

  • TokenPay是一个由C#语言编写的私有化部署的区块链支付解决方案。
  • 页面支持以简体中文英语俄语显示,依据访问者设备语言自适应,不支持的语言默认显示英语
  • 本项目不依赖任何外部资源,无需另外部署数据库,采用轻量化的sqlite,也无需redis
  • 任意项目都可以对接,轻松实现TRXUSDT-TRC20以及ETH系原生币以及ETH系ERC20代币,理论支持所有ETH系的区块链收款!? ? ?
  • TokenPay 遵守 GPLv3 开源协议!

项目特点

  • C#语言跨平台实现,支持x86和arm芯片架构的win/linux/mac设备?
  • 支持每单一个收款地址,或每个用户一个收款地址,解决了单一地址收款,容易导致错误完成订单的痛点。
  • 无需额外环境配置,仅运行一个编译后二进制文件即可使用

设计实现

TokenPay的实现方式与其他项目原理类似,都是通过TronGridEtherScan等提供的api,
轮询订单未过期的钱包地址的TRXETHUSDTUSDC等入账事件,将入账金额,与数据库的订单金额进行对比,若一致,则视为订单完成

简单的原理:
0.服务器定时同步交易所最新汇率
1.客户支付,交易上链
2.服务器定时通过API轮询,获取监听地址下的最新入账交易数据,并与数据库订单对比
3.若金额一致,将订单标记为完成
4.订单完成后,异步通知任务将订单完成事件回调给平台


宝塔运行

务必保存好TokenPay.db文件,此文件内保存了系统生成的收款地址和私钥,一旦丢失,你将损失所收取的款项

1. 下载release对应平台的包,解压到指定目录

2. 重命名appsettings.Example.jsonappsettings.json,并修改配置文件

appsettings.json说明参见:appsettings.json

#appsettings.json说明

务必保存好TokenPay.db文件,此文件内保存了系统生成的收款地址和私钥,一旦丢失,你将损失所收取的款项

为保证安全性,务必修改ApiToken

{
  "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
  }
}

3. 重命名EVMChains.Example.jsonEVMChains.json,并配置需要支持的区块链。

只需修改配置中的EnableApiKey,其他配置项请勿修改!!!

配置文件中已添加ETHBSCPolygon三条区块链,如需其他ETH系的区块链可自由拓展。每条区块链配置都带有一个Enable参数,表示是否启用此区块链,默认的三条区块链的此项配置都为false,请将需要启用的区块链Enable参数更改为true EVMChains.json说明参见:EVMChains.json

#EVMChains.json说明

3.1. ETH系区块链配置参数说明

字段 类型 说明
Enable bool 是否启用此区块链,支持的值: truefalse
ChainName string 区块链名称
ChainNameEN string 区块链英文名称
BaseCoin string 基本币名称
Decimals int 基本币精度,如:18表示小数点后有18位,6表示小数点后有6位
ApiHost string api请求地址
ApiKey string api请求的授权key
ERC20Name string ERC20代币名称,比如币安的就叫BEP-20,而不叫ERC20,所以特意加了这个
ERC20 object[] 要支持的代币

3.2. ETH系区块链配置代币说明

字段 类型 说明
Name string 代币名称,不管是哪条链的USDT,都是写USDT。USDC同理,此参数会用于向OKX服务器查询币价,填写了错误的名称会导致无法自动获取币价
ContractAddress string 合约地址,错误的合约地址将导致收款无法回调

4. 为二进制文件TokenPay增加可执行权限

5. 宝塔应用管理器Supervisor管理器添加应用

应用名称:TokenPay
运行身份:root 应用环境:无 (Supervisor管理器无此项)
执行目录:/xxx (你解压文件的目录)
启动文件:/xxx/TokenPay
如有其他选项保持默认

如需修改项目启动端口 可以增加启动参数 –urls=http://+:5001 如: ./xxx/xxx/TokenPay –urls=http://+:5001

5001可以改为任意未被占用的端口,建议大于5000

6. 添加一个纯静态网站,配置反向代理 http://127.0.0.1:5000

如启动失败,可尝试将整个TokenPay目录循环设置777权限,再重新尝试启动

转载注意保留原文链接:https://www.tqge.com/206257

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源