coinremitter / laravel
coinremitter加密货币支付网关的官方Laravel插件
Requires
- laravel/framework: >=7.0
README
Coinremitter是一个 加密货币支付处理器。接受比特币、波场币、币安(BEP20)、比特币现金、以太坊、莱特币、狗狗币、USDTERC20、USDTTRC20、达世币、门罗币等。
什么是加密货币支付处理器?
加密货币支付处理器充当商家和客户之间的中介,允许商家以加密货币的形式接收付款。
安装指南
您可以使用Laravel中的composer安装Coinremitter插件
composer require coinremitter/laravel
将服务提供者注册到您的config/app.php中,如下所示
在providers
数组底部添加Coinremitter\CoinremiterServiceProvider::class
行
'providers' => [
Coinremitter\CoinremiterServiceProvider::class,
]
使用以下命令将配置文件发布到config文件夹
php artisan vendor:publish --provider="Coinremitter\CoinremiterServiceProvider"
将您希望从coinremitter使用的所有硬币的凭据设置在config/coinremitter.php中,如下所示
如果此文件不存在,则创建并设置配置,如下所示。 如何获取API密钥和密码?
注意:
在coinremitter.php中包含您希望在系统中使用的特定硬币。
return [
'BTC'=>[
'API_KEY'=>'YOUR_API_KEY_FROM_COINREMITTER_WALLET',
'PASSWORD'=>'YOUR_PASSWORD_FOR_WALLET',
],
'LTC'=>[
'API_KEY'=>'YOUR_API_KEY_FROM_COINREMITTER_WALLET',
'PASSWORD'=>'YOUR_PASSWORD_FOR_WALLET',
],
];
库的用法
您必须在想要使用此库的地方包含包的命名空间,如下所示
use Coinremitter\Coinremitter;
使用命名空间后,您可以通过创建类的对象来访问库的所有方法,例如:
$btc_wallet = new Coinremitter('BTC');
这里 "BTC" 必须在config/coinremitter.php文件数组中。
获取余额
您可以使用get_balance调用获取钱包余额。
$balance = $btc_wallet->get_balance();
这将返回一个成功响应或错误响应,如果出现问题。成功响应如下所示
{
"flag":1,
"msg":"Get balance successfully",
"action":"get-balance",
"data":{
"balance":0.2457,
"wallet_name":"my-wallet",
"coin_name":"Bitcoin"
}
}
创建新的钱包地址
您可以使用以下方法获取新的钱包地址
$address = $btc_wallet->get_new_address();
成功响应
{
"flag":1,
"msg":"New address created successfully .",
"action":"get-new-address",
"data":{
"address":"MMtU5BzKcrewdTzru9QyT3YravQmzokh",
"label":"",
"qr_code":"https://coinremitter.com/qr/btc/image.png"
}
}
此外,您还可以通过传递参数给get_new_address方法来为您的地址分配一个标签,如下所示
$param = [
'label'=>'my-label'
];
$address = $btc_wallet->get_new_address($param);
响应将在label键中添加给定的标签。
{
"flag":1,
"msg":"New address created successfully .",
"action":"get-new-address",
"data":{
"address":"MMtU5BzKcrewdTzru9QyT3YravQmzokh",
"label":"my-label",
"qr_code":"https://coinremitter.com/qr/btc/image.png"
}
}
验证钱包地址
为了验证钱包地址,请使用以下方法
$param = [
'address'=>'QdN2STEHi7omQwVMjb863SVP7cxm3Nkp'
];
$validate = $btc_wallet->validate_address($param);
响应
{
"flag":1,
"msg":"Success !",
"action":"validate-address",
"data":{
"valid":true
}
}
提款金额
要将金额提款到特定地址,将使用以下方法
$param = [
'to_address'=>'MLjDMFsobgk9Etj8KUKSpmHM6qG2qFK',
'amount'=>0.0001
];
$withdraw = $btc_wallet->withdraw($param);
成功响应
{
"flag":1,
"msg":"Amount Successfully Withdraw.",
"action":"withdraw",
"data":{
"id":"5b5ff10a8ebb830edb4e2a22",
"txid":"1147aca98ced7684907bd469e80f7482f40a1aaf75c1e55f7a60f725ba28",
"explorer_url":"http://btc.com/exp/1147aca98ced7684907bd469e80f7482f40a1aaf75c1e55f7a60f725ba28",
"amount":0.0001,
"transaction_fees":"0.00002000",
"processing_fees":"0.00460000",
"total_amount":"0.00472",
"to_address":"MLjDMFsobgk9Etj8KUKSpmHM6qG2qFK",
"wallet_id":"5c42a0ab846fe75142cfb2",
"wallet_name":"my-wallet",
"coin_short_name":"BTC",
"date":"2019-06-02 01:02:03"
}
}
响应中接收到的日期是以UTC格式。
获取交易
使用从"提款金额"响应的ID或从webhook中的"id"字段接收的ID检索交易信息,如下所示。
$param = [
'id'=>'5b5ff10a8ebb830edb4e2a22'
];
$transaction = $btc_wallet->get_transaction($param);
成功响应
{
"flag":1,
"msg":"success",
"action":"get-transaction",
"data":{
"id":"5b5ff10a8ebb830edb4e2a22",
"txid":"1147aca98ced7684907bd469e80cdf7482fe740a1aaf75c1e55f7a60f725ba28",
"explorer_url":"http://btc.com/exp/1147aca98ced7684907bd469e80cdf7482fe740a1aaf75c1e55f7a60f725ba28",
"type":"receive",
"merchant_id":"5bc46fb28ebb8363d2657347",
"coin_short_name":"BTC",
"wallet_id":"5c42ea0ab846fe751421cfb2",
"wallet_name":"wallet_name",
"address":"QYTZkkKz7n1sMuphtxSPdau6BQthZfpnZC",
"amount":0.0003,
"confirmations":3,
"date":"2018-08-15 15:10:42"
}
}
如果响应数据对象中的type
等于send
,则响应如下所示
{
"flag":1,
"msg":"success",
"action":"get-transaction",
"data":{
"id":"5b5ff10a8ebb830edb4e2a22",
"txid":"1147aca98ced7684907bd469e80cdf7482fe740a1aaf75c1e55f7a60f725ba28",
"explorer_url":"http://btc.com/exp/1147aca98ced7684907bd469e80cdf7482fe740a1aaf75c1e55f7a60f725ba28",
"type":"send",
"merchant_id":"5bc46fb28ebb8363d2657347",
"coin_short_name":"BTC",
"wallet_id":"5c42ea0ab846fe751421cfb2",
"wallet_name":"wallet_name",
"address":"QYTZkkKz7n1sMuphtxSPdau6BQthZfpnZC",
"amount":0.0003,
"confirmations":3,
"date":"2018-08-15 15:10:42",
"transaction_fees":0.001,
"processing_fees":0.1,
"total_amount":"2.10100000"
}
}
响应中接收到的日期是以UTC格式。
按地址获取交易
使用以下方法使用接收到的地址获取交易
$param = [
'address' => 'MLjDMFsob8gk9EX6tj8KUKSpmHM6qG2qFK',
];
$invoice = $btc_wallet->get_transaction_by_address($param);
成功响应
{
"flag":1,
"msg":"success",
"action":"get-transaction-by-address",
"data":[
{
"id":"5b7650458ebb8306365624a2",
"txid":"7a6ca109c7c651f9b70a7d4dc8fa77de322e420119c5d2470bce7f08ba0cd1d6",
"explorer_url":"http://coin-explorer-url/exp/7a6ca109c7c651f9b70a7d4dc8fa7...",
"merchant_id":"5bc46fb28ebb8363d2657347",
"type":"receive",
"coin_short_name":"BTC",
"wallet_id":"5c42ea0ab846fe751421cfb2",
"wallet_name":"my-wallet",
"address":"MLjDMFsob8gk9EX6tj8KUKSpmHM6qG2qFK",
"amount":"2",
"confirmations":3,
"date":"2018-08-17 10:04:13"
},
{
"id":"23sdew232158ebb8306365624a2",
"txid":"7a6ca109c7c651f9b70fdgfg44er34re7de322e420119c5d2470bce7f08ba0cd1d6",
"explorer_url":"http://coin-explorer-url/exp/2322ereer344c7c651f9b70a7d4dc8fa7...",
"merchant_id":"3434df4w28ebb8363d2657347",
"type":"receive",
"coin_short_name":"BTC",
"wallet_id":"5c42ea0ab846fe751421cfb2",
"wallet_name":"my-wallet",
"address":"MLjDMFsob8gk9EX6tj8KUKSpmHM6qG2qFK",
"amount":"1",
"confirmations":2,
"date":"2018-08-17 10:05:13"
}
]
}
响应中接收到的日期是以UTC格式。
创建发票
您可以使用以下方法创建发票
$param = [
'amount'=>"15", //required.
'notify_url'=>'https://yourdomain.com/notify-url', //optional,url on which you wants to receive notification,
'fail_url' => 'https://yourdomain.com/fail-url', //optional,url on which user will be redirect if user cancel invoice,
'suceess_url' => 'https://yourdomain.com/success-url', //optional,url on which user will be redirect when invoice paid,
'name'=>'random name',//optional,
'currency'=>'usd',//optional,
'expire_time'=>'20',//optional, invoice will expire in 20 minutes.
'description'=>'',//optional.
];
$invoice = $btc_wallet->create_invoice($param);
成功响应
{
"flag":1,
"msg":"success",
"action":"create-invoice",
"data":{
"id":"5de7ab46b846fe6aa15931b2",
"invoice_id":"BTC122",
"merchant_id":"5bc46fb28ebb8363d2657347",
"url":"https://coinremitter.com/invoice/5de7ab46b846fe6aa15931b2",
"total_amount":{
"BTC":"0.00020390",
"USD":"2.21979838",
},
"paid_amount":[
],
"usd_amount":"2.21979838",
"conversion_rate":{
"USD_BTC":"0.00009186",
"BTC_USD":"10886.83"
},
"base_currency":"USD",
"coin":"BTC",
"name":"random name",
"description":"",
"wallet_name":"my-wallet",
"address":"QbrhNkto3732i36NYmZUNwCo4gvTJK3992",
"status":"Pending",
"status_code":0,
"notify_url":"http://yourdomain.com/notify-url",
"suceess_url":"http://yourdomain.com/success-url",
"fail_url":"http://yourdomain.com/fail-url",
"expire_on":"2019-12-04 18:39:10",
"invoice_date":"2019-12-04 18:19:10",
"custom_data1":"",
"custom_data2":"",
"last_updated_date":"2019-12-04 18:19:10"
}
}
响应中接收到的日期是以UTC格式。
获取发票
使用以下方法使用接收到的invoice_id获取发票详情
$param = [
'invoice_id'=>'BTC02'
];
$invoice = $btc_wallet->get_invoice($param);
成功响应
{
"flag":1,
"msg":"success",
"action":"get-invoice",
"data":{
"id":"5b7650458ebb8306365624a2",
"invoice_id":"BTC02",
"merchant_id":"5bc46fb28ebb8363d2657347",
"url":"https://coinremitter.com/invoice/5b7650458ebb8306365624a2",
"total_amount":{
"BTC":"0.00020390",
"USD":"2.21979838",
},
"paid_amount": {
"BTC": "0.00020000",
"USD": "2.167729279"
},
"usd_amount":"2.21979838",
"conversion_rate":{
"USD_BTC":"0.00009186",
"BTC_USD":"10886.83"
},
"base_currency": "USD",
"coin":"BTC",
"name":"random name",
"description":"",
"wallet_name":"my-wallet",
"address":"QbrhNkto3732i36NYmZUNwCo4gvTJK3992",
"payment_history":[
{
"txid":"c4b853d4be7586798870a4aa766e3bb781eddb24aaafd81da8f66263017b872d",
"explorer_url":"http://btc.com/exp/c4b853d4be7586798870a4aa766e3bb781eddb24aaafd81da8f66263017b872d",
"amount":"0.0001",
"date":"2019-12-04 18:21:05",
"confirmation":781
},
{
"txid":"a2541253ab72d7cf29f2f9becb1e31320dd0ed418f761ab1973dc9e412a51c7f",
"explorer_url":"http://btc.com/exp/a2541253ab72d7cf29f2f9becb1e31320dd0ed418f761ab1973dc9e412a51c7f",
"amount":"0.0001",
"date":"2019-12-04 18:22:23",
"confirmation":778
}
],
"status":"Under Paid",
"status_code":2,
"wallet_id": "6347e0e9f4efc676380afde7",
"suceess_url":"http://yourdomain.com/success-url",
"fail_url":"http://yourdomain.com/fail-url",
"notify_url":"http://yourdomain.com/notify-url",
"expire_on":"2019-12-04 18:39:10",
"invoice_date":"2019-12-04 18:19:10",
"custom_data1": "",
"custom_data2": "",
"last_updated_date":"2019-12-04 18:22:23"
}
}
响应中接收到的日期是以UTC格式。
获取美元的实时币价
使用以下方法获取汇率
$rate = $btc_wallet->get_coin_rate();
成功响应
{
"flag":1,
"msg":"success",
"action":"get-coin-rate",
"data":{
"BTC":{
"symbol":"BTC",
"name":"Bitcoin",
"price":10886.83
},
"LTC":{
"symbol":"LTC",
"name":"Litecoin",
"price":47
},
"DOGE":{
"symbol":"DOGE",
"name":"DogeCoin",
"price":235.26
}
}
}
获取加密货币汇率
使用以下方法获取使用fiat_symbol和fiat_amount接收的加密货币汇率
$param = [
'fiat_symbol' => 'USD',
'fiat_amount' => 1
];
$invoice = $btc_wallet->get_fiat_to_crypto_rate($param);
成功响应
{
"flag":1,
"msg":"success",
"action":"get-fiat-to-crypto-rate",
"data":{
"crypto_amount":"0.02123593",
"crypto_symbol":"BTC",
"crypto_currency":"Bitcoin",
"fiat_amount":"1",
"fiat_symbol":"USD"
}
}
有关进一步参考,请访问我们的API文档