looMccpg是一个基于BitGo API的 PHP 加密货币支付处理网关,它允许您直接在您的网站上以简单的方式接收 btc、bch、bsv、btg、dash、ltc、xrp、zec、xlm 和 ERC20 代币的收款整合,没有费用、交易成本或中间人。
演示地址:https://maylancer.site/multi-coin-gateway/#demo
功能特征
- 直接的点对点加密货币支付
- 无交易费用( BitGo 费用除外)
- 无加工费
- 无中间商
- 无KYC
- 增强隐私
- 自托管
- btc、bch、bsv、btg、dash、ltc、xrp、zec、xlm 和 ERC20 代币支持
- WebHook(如果付款则接收回调)
- 自定义 REST API
- 基于 AJAX
- 发票系统
- 广泛的文档
运行要求
- PHP 5.6 or earlier with:
- cURL
- BCMath
- PDO PHP Extension
- MySQL >= 5.5.15
- BitGo 账号
便于使用
looMccpg引起开发人员兴趣的部分原因是它对 Web 应用程序开发人员来说极其方便、广泛和容易。使用looMccpg无需从头开始制作自己的加密支付网关,可以让您免于繁琐的工作,并使您的 Web 应用程序立即运行。
因此,最好选择looMccpg,因为它易于与您的应用程序/项目集成。此外,looMccpg为没有 PHP 应用程序/项目应该易于测试和使用提供自定义 RestFul API;使应用程序/项目尽快启动并运行,并且不需要对您进行大量自定义。
安装说明
1)将压缩包里面的源码文件解压缩到您的服务器目录下,比如“payment”或者“checkout”。
2)导入database.sql文件。
3)编辑inc/config.php
并设置第 188 行中的数据库连接详细信息。
4)然后编辑inc/config.php
并设置url
为源码所在的url。例如,如果您已将源码复制到名为“payment 或 checkout”的目录中,并且您的网站是“ http://mywebsite.com”,url
则应将其设置为“ http://mywebsite.com/payment”或“ http://mywebsite.com/checkout”。
BitGo 配置
bitgo 配置文件所在的位置inc/config.php
包含所有详细记录的 BitGo 硬币集成选项。
请求地址
您需要在inc/config.php
文件的第 32 行设置您的 cpanel/VPS IP 地址。
支持币种
目前此脚本支持 25 多种加密货币,以下是我们默认的列表inc/bitgo/CurrencyCode.php
。
多币功能
此部分转换多币种付款页面,如果您在网站上接受单币种,请忽略。
首先,您需要multicoin-ajax-index.html
从配置文件中设置要在多币种支付页面上向用户显示的币种列表inc/config.php
例子:
/*
|--------------------------------------------------------------------------
| Multi-coin BitGo Coins
|--------------------------------------------------------------------------
| Select the coin what you want to use with the BitGOSDK (use CurrencyCode class to select)
| See supported coin 'btc', 'bch', 'bsv', 'btg', 'dash', 'ltc', 'xrp', 'zec', 'rmg', 'xlm', 'erc', 'omg', 'zrx', 'fun', 'gnt', 'rep', 'bat', 'knc', 'cvc',
| 'eos', 'qrl', 'nmr', 'pay', 'brd', 'tbtc', 'tbch', 'tbsv', 'tdash', 'tltc', 'txrp', 'tzec', 'trmg', 'terc'
|
*/
'coins' => array(
'btc' => 'Bitcoin',
'bch' => 'Bitcoin Cash',
'ltc' => 'Litecoin',
'dash' => 'Dash',
'xlm' => 'Stellar',
),
然后编辑并设置您选择的硬币钱包 ID,如下所示:
/*
|--------------------------------------------------------------------------
| BitGo Wllet ID For multiple coin only
|--------------------------------------------------------------------------
|
| This section is for multiple coin only.
|
*/
'wallet_btc' => '5ea4ba45f6bf288028f386f13840cd32',
'wallet_ltc' => '5eaa11339e9657d507b0ab532eeee322',
'wallet_bch' => '5eaa1110d2beded00769415e076bb771',
'wallet_dash' => '5ec47e16ed7be31f005487001aa39ff0',
'wallet_xlm' => '5ec5c3224ebdb234003132b1b7f39d01',
另外一些币种有不同的钱包地址类型,您可以通过修改钱包生成请求代码来轻松更改钱包类型,如下所示:
默认可以运行以下命令生成钱包地址
$createAddress = $bitgo->createWalletAddress();
如果您选择使用其他代币,例如 BCH 或 DASH,您的代码应与以下示例完全相同
$createAddress = $bitgo->createWalletAddress(AddressType::LEGACY_DEPOSIT);
额外的币种ZEC币钱包生成应该与下面的例子完全一样
$createAddress = $bitgo->createWalletAddress(AddressType::LEGACY_CHANGE);
您可以从以下文件中检查其他地址类型选项 inc/bitgo/AddressType.php
网络钩子(Webhook)
当指定事件发生时触发 Webhook 通知,例如确认用户付款的传入交易并自动更新我们的数据库,比特币支付集成的默认文件是 file: receiveWebhook.php
,本节将介绍如何为其他加密货币创建自定义 Webhook。
具体对接网络钩子详见代码压缩包自带的文档教程。
RESTful API集成
looMccpg提供了一个简单而强大的 RESTful API 来将数字货币支付网关与您的应用程序集成
looMccpg支持以下功能:
- 获得带有价格的精选代币
- 创建发票
- 获取发票数据
获取列出的支持币和费率(仅限多币支付)
http://mywebsite.com/api.php?coins&amount=50
请求示例(应用程序/json)
[
{
"coin": "btc",
"name": "Bitcoin",
"rate": 0.00527449,
"coin_logo": "assets\/img\/btc.png"
},
{
"coin": "bch",
"name": "Bitcoin Cash",
"rate": 0.20802564,
"coin_logo": "assets\/img\/bch.png"
},
{
"coin": "ltc",
"name": "Litecoin",
"rate": 1.1350312,
"coin_logo": "assets\/img\/ltc.png"
},
{
"coin": "dash",
"name": "Dash",
"rate": 0.64720408,
"coin_logo": "assets\/img\/dash.png"
},
{
"coin": "zec",
"name": "Zcash",
"rate": 1.04373189,
"coin_logo": "assets\/img\/zec.png"
}
]
创建新付款发票 API 链接示例(创建新付款)
http://mywebsite.com/api.php?amount=50&coin=btc
请求示例(应用程序/json)
{
"id": "5ec5ef865924a",
"user_id": "5ec5ef865924d",
"invoice": "f9UTEpRKeSKe",
"payment_id": "vReb4Wb0R2rfSeT",
"amount": "0.00527449",
"address": "3AWRiFuy7iWTPSaocWJ314jiTtkjQCuW4j",
"dollar": 50.5,
"expiring": 43200000,
"coin": "ZEC",
"coin_logo": "assets\/img\/zec.png",
"fees": "0.5",
"qrcode": "https:\/\/chart.googleapis.com\/chart?chs=500x500&cht=qr&chl=bitcoin:3AWRiFuy7iWTPSaocWJ314jiTtkjQCuW4j&choe=UTF-8",
"qramount": "https:\/\/chart.googleapis.com\/chart?chs=500x500&cht=qr&chl=amount=0.00527449&choe=UTF-8",
"created": "1 sec ago",
"status": 1
}
使用发票 ID API 链接示例获取发票数据
http://mywebsite.com/api.php?invoice=Pde00C23eCST
请求示例(应用程序/json)
{
"id":"168",
"user_id":"2147483647",
"invoice":"9naRlgyKVmQN",
"payment_id":"8OYLEWGpmGJufaZ",
"amount":"0.00039289",
"dollar":"2",
"address":"2Mxvs5M6DaCswJkrFCz3pRxL5W23gNzQ2Vw",
"coin":"tbtc",
"payment_type":"product",
"txt":"c64aa36121e21e1b2a33059a75cf4a59294d2dc1dcb210c7b69f19325800b161",
"date_confirmed":"0000-00-00 00:00:00",
"invoice_time":"43200",
"paid":"0",
"created":"2020-03-18 17:13:41",
"status":1
}