xtodx/coinremitter

此包用于在 Laravel 中直接使用 coinremitter API

1.0.0 2020-11-07 21:30 UTC

This package is auto-updated.

Last update: 2024-09-08 06:16:01 UTC


README

适用于 Laravel 5.2 及以上版本的 Coinremitter 插件

安装指南。

您可以使用 Composer 在 Laravel 中安装 coin remitter 插件

composer require xtox/laravel

将服务提供者注册到您的 config/app.php 文件中,如下所示:

providers 数组的底部添加 Coinremitter\CoinremiterServiceProvider::class

'providers' => [
   Coinremitter\CoinremiterServiceProvider::class,
]

使用以下命令将配置文件发布到 config 文件夹:

php artisan vendor:publish

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

如果此文件不存在,则创建并设置配置,如下所示。 如何获取 API 密钥和密码?

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":123
        
    }
}

创建新的钱包地址

您可以使用以下方法获取新的钱包地址

$address = $btc_wallet->get_new_address();

成功响应

{
    "flag":1,
    "msg":"New address created successfully !",
    "action":"get-new-address",
    "data":{
        "address":"MMtU5BzKcrew9BdTzru9QyT3YravQmzokh",
        "label":""
        
    }
}


您还可以通过传递参数给 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":"MMtU5BzKcrew9BdTzru9QyT3YravQmzokh",
        "label":"my_label"
        
    }
}

验证钱包地址

使用以下方法来验证钱包地址

$param = [
    'address'=>'your_Address_to_validate'
];

$validate = $btc_wallet->validate_address($param);

响应

{
    "flag":1,
    "msg":"success",
    "action":"validate-address",
    "data":{
        "valid":true
        
    }
}


提取金额

要将金额提取到特定的地址,请使用以下方法

$param = [
    'to_address'=>'YOUR_ADDRESS',
    'amount'=>123
];
$withdraw = $btc_wallet->withdraw($param);

成功响应

{
    "flag":1,
    "msg":"Amount Successfully Withdraw !",
    "action":"withdraw",
    "data":{
        "id":"5b5ff10a8ebb830edb4e2a22",
        "txid":"1147aca98ced7684907bd469e80cdf7482fe740a1aaf75c1e55f7a60f725ba28",
        "explorer_url":"http://btc.com/exp/1147aca98ced7684907bd469e80cdf7482fe740a1aaf75c1e55f7a60f725ba28",
        "amount":0.1,
        "transaction_fees":0.001,
        "processing_fees":0.00023,
        "total_amount":0.10123,
        "to_address":"YOUR_ADDRESS",
        "wallet_id":"5c42ea0ab846fe751421cfb2",
        "wallet_name":"wallet_name",
        "coin_short_name":"BTC",
        "date":"2019-06-02 01:02:03"
    }
}

获取交易

使用以下方法通过从 withdraw amount 响应的 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"
        
    }
}

创建发票

您可以使用以下方法创建发票

$param = [
    'amount'=>800,      //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":"Invoice successfully created !!!",
    "action":"create-invoice",
    "data":{
        "id":"5b7650458ebb8306365624a2",
        "invoice_id":"BTC02",
        "merchant_id":"5bc46fb28ebb8363d2657347",
        "url":"https://coinremitter.com/invoice/5b7650458ebb8306365624a2",
        "total_amount":0.1,
        "paid_amount":0,
        "usd_amount":800,
        "coin":"BTC",
        "name":"random name",
        "description":"",
        "wallet_name":"wallet_name",
        "address":"rger54654fgsd4h6u7dgsg",
        "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":"2018-12-06 10:35:57",
        "invoice_date":"2019-12-04 18:19:10",
        "last_updated_date":"2019-12-04 18:19:10"
    }
}

获取发票

使用以下方法使用通过以下方法获得的 invoice_id 获取发票详情

$param = [
    'invoice_id'=>'ETH002'
];
$invoice = $btc_wallet->get_invoice($param);

成功响应

{
    "flag":1,
    "msg":"success",
    "action":"get-invoice",
    "data":{
        "id":"5b7650458ebb8306365624a2",
        "invoice_id":"BTC02",
        "merchant_id":"5bc46fb28ebb8363d2657347",
        "url":"http://192.168.0.112/coinremitter/public/invoice/5b7650458ebb8306365624a2",
        "total_amount":0.0009,
        "paid_amount":0,
        "usd_amount":800,
        "coin":"ETH",
        "name":"random name",
        "description":"Hello world",
        "wallet_name":"New Test-LTC",
        "address":"rger54654fgsd4h6u7dgsg",
        "payment_history":[
                {
                    "txid":"c4b853d4be7586798870a4aa766e3bb781eddb24aaafd81da8f66263017b872d",
                    "explorer_url":"http://btc.com/exp/c4b853d4be7586798870a4aa766e3bb781eddb24aaafd81da8f66263017b872d",
                    "amount":0.005,
                    "date":"2019-12-02 12:09:02",
                    "confirmation":781
                    },
                {
                    "txid":"a2541253ab72d7cf29f2f9becb1e31320dd0ed418f761ab1973dc9e412a51c7f",
                    "explorer_url":"http://btc.com/exp/a2541253ab72d7cf29f2f9becb1e31320dd0ed418f761ab1973dc9e412a51c7f",
                    "amount":0.005,
                    "date":"2019-12-02 12:15:02",
                    "confirmation":778
                }
        ],
        "status":"Pending",
        "status_code":0,
        "suceess_url":"http://yourdomain.com/success-url",
        "fail_url":"http://yourdomain.com/fail-url",
        "expire_on":"2018-12-06 10:35:57",
        "invoice_date":"2018-08-17 10:04:13",
        "last_updated_date":"2018-08-17 10:04:13"
    }
}

获取美元中的实时币价

使用以下方法获取币价

$rate = $btc_wallet->get_coin_rate();

成功响应

{
    "flag":1,
    "msg":"success",
    "action":"get-coin-rate",
    "data":{
        "BTC":{
            "symbol":"BTC",
            "name":"Bitcoin",
            "price":7289.01
        },
        "LTC":{
            "symbol":"LTC",
            "name":"Litecoin",
            "price":145.51
        },
        "DOGE":{
            "symbol":"DOGE",
            "name":"DogeCoin",
            "price":0.0001
        }
    }
}

有关更多信息,请访问我们的 API 文档