coinremitterphp/coinremitter-php

coinremitter加密货币支付网关的官方PHP SDK

0.1.5 2023-01-27 10:03 UTC

This package is auto-updated.

Last update: 2024-09-27 13:43:06 UTC


README

Coinremitter是一个加密货币支付处理器。接受比特币、波场币、币安(BEP20)、比特币现金、以太坊、莱特币、狗狗币、USDT ERC20、USDT TRC20、达世币、门罗币等。

什么是加密货币支付处理器?

加密货币支付处理器充当商家和客户之间的中介,使商家能够以加密货币的形式接收付款。

安装指南

您可以使用以下方式在项目中使用composer安装Coinremitter插件

composer require coinremitterphp/coinremitter-php

库的用法

您必须包含包的命名空间才能使用此库,如下所示

include_once './vendor/autoload.php';
use CoinRemitter\CoinRemitter;

使用命名空间后,您可以通过创建一个类对象来访问库的所有方法,如下所示

$params = [
   'coin'=>'BTC', //coin for which you want to use this object.
   'api_key'=>'YOUR_API_KEY_FROM_COINREMITTER_WALLET', //api key from coinremitter wallet
   'password'=>'YOUR_PASSWORD_FOR_WALLET' //password for selected wallet
];
$obj = new CoinRemitter($params);

获取余额

您可以使用get_balance调用获取钱包余额。

$balance = $obj->get_balance();

这将返回成功响应或错误响应(如果出现问题)。以下是一个成功响应的示例

{
   "flag":1,
   "msg":"Get balance successfully",
   "action":"get-balance",
   "data":{
      "balance":0.2457,
      "wallet_name":"my-wallet",
      "coin_name":"Bitcoin"
   }
}

创建新钱包地址

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

$address = $obj->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 = $obj->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 = $obj->validate_address($param);

成功响应

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

如果响应中的data中的valid等于1,则给定的地址是有效的,否则是无效地址。

提取金额

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

$param = [
    'to_address'=>'QfZzaLPmAMbYSVRN9vb6A9k875LxbU',
    'amount'=>0.0001
];
$withdraw = $obj->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":"QfZzaLPmAMbYSVRN9vb6A9k875LxbU",
      "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'=>'5fe6bfb464fcc062a210'
];
$transaction = $obj->get_transaction($param);

成功响应

{
    "flag":1,
    "msg":"success",
    "action":"get-transaction",
    "data":{
        "id":"5fe6bfb464fcc062a210",
        "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',
];
$response = $obj->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', //required,you will receive notification on this url,
    'name'=>'my-invoice',//optional,
    'currency'=>'USD',//optional,
    'expire_time'=>60,//in minutes,optional,
    'description'=>'My invoice description',//optional,
    'custom_data1'=>'',//optional
    'custom_data2'=>''//optional
];

$invoice  = $obj->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 = $obj->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格式表示。

获取加密货币汇率

使用以下方法获取使用法定货币的当前加密货币汇率

$param = [
    'fiat_symbol'=>'USD',
    'fiat_amount'=>'1'
];
$response = $obj->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"
   }
}

获取货币汇率

使用以下方法获取货币汇率

$rate = $obj->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
      }
   }
}

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