我试图通过区块链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%正确的。
答案 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是可选的