区块链API ::发送付款错误

时间:2017-12-02 13:17:43

标签: php api blockchain

我试图通过区块链API v2发送付款。我正在使用PHP&卷曲。

blockchain-wallet-service:0.26.0 v node.js:8.9.0 v

我可以生成比特币地址,获取余额并与我的钱包互动,但由于未知原因,我无法通过API发送付款,请帮助我查找了许多网站以寻求答案。

我的PHP代码(仅测试)发送付款:

$my_api_key = 'xxxxx';
$guid='xxxxx';
$firstpassword='xxxx';
$second_password = "xxxx";
$amount = '30000';
$to = '1AQDhKrjvAonjLAUv4PzM9NjGzZZ4HEpU1';
$fee = '2000';

$root_url = 'http://localhost:3000/merchant/'.$guid.'/payment';
$parameters = 'to='.$to.'&amount='.$amount.'&password='.$firstpassword.'&fee='.$fee.'&second_password='.$second_password;

$response = Curl::to($root_url . '?' . $parameters)->get();


return $response;

在控制台上我收到以下错误: - 错误:[对象对象]响应给了我:{"错误":"意外错误,请再试一次"}

我测试了我的密码,我的API代码+我的钱包ID,都是100%正确的。

3 个答案:

答案 0 :(得分:1)

你可以试试这个:

首先,您必须确保区块链钱包服务在端口3000上的服务器上运行。您可以通过点击浏览器中的网址http://localhost:3000来检查区块链钱包服务的工作情况。如果给出响应错误"未找到"这意味着您的区块链钱包服务正在运行。 要一次向多个用户发送比特币,您可以使用以下API:

http://localhost:3000/merchant/ $ GUID / sendmany密码= $ main_password&安培; second_password = $ second_password&安培;收件人= $收件人&安培;费用= $费

其中$ guid是您的区块链钱包ID,$ main_password是您的钱包第一个密码,$ second_password是您的钱包的第二个密码,如果您已将第二个密码设为ON,$ recipients是您的JSON对象,其中包含接收地址作为价值的关键和金额,$ fee是交易费,必须超过默认交易费,这是可选的。

$ recipients对象就像

{
    "1JzSZFs2DQke2B3S4pBxaNaMzzVZaG4Cqh": 100000000,
    "12Cf6nCcRtKERh9cQm3Z29c9MWvQuFSxvT": 1500000000,
    "1dice6YgEVBf88erBFra9BHf6ZMoyvG88": 200000000
}

答案 1 :(得分:0)

试试这个:

$address = null;

try {
    // Uncomment to send
    // var_dump($Blockchain->Wallet->send($address, "0.001"));
} catch (\Blockchain\Exception\ApiError $e) {
    echo $e->getMessage() . '<br />';
}

// Multi-recipient format
$recipients = array();
$recipients[$address] = "0.001";

try {
    // Uncomment to send
// var_dump($Blockchain->Wallet->sendMany($recipients));
} catch (Blockchain_ApiError $e) {
    echo $e->getMessage() . '<br />';
}

答案 2 :(得分:0)

必须包含“&from”参数。如文档所述,它不是可选的。但是您可以将参数设置为0

...................

$ root_url ='http://localhost:3000/merchant/'。$ guid。'/ payment'; $ parameters ='to ='。$ to。'&amount ='。$ amount。'&password ='。$ firstpassword。'&fee ='。$ fee。'&second_password ='。$ second_password。'&from = 0'; < / p>

$ response = Curl :: to($ root_url。'?'。$ parameters)-> get();

返回$ response;

..........................

如果您使用的是github中的php版本,则可以如下设置from_address

调用函数如下:

$address = 'to-address';
$amount = 0.01;
$from = 0;
$fee = 0.00012;
$Blockchain->Wallet->send($address,$amount,$from,$fee);

其中$ fee是可选的