coinremitterlaravel/coinremitter-laravel

此包已废弃,不再维护。作者建议使用 coinremitter/laravel 包。

coinremitter加密货币支付网关的官方Laravel插件

0.2.0 2023-01-31 13:35 UTC

This package is auto-updated.

Last update: 2023-01-31 13:36:17 UTC


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"

在config/coinremitter.php中设置您想要从coinremitter使用的所有硬币的凭据,如下所示

如果此文件不存在,则创建并设置配置如下。如何获取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文档