XAPO wallet API,创建交易

时间:2017-06-01 14:56:21

标签: php json rest curl bitcoin

我尝试使用他们的API在PHP中创建从xapo到xapo的基本事务,但我似乎无法弄清楚如何使其工作

以下是我根据文档示例制作的代码(http://docs.xapo.apiary.io

<?php
##oauth token
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://v2.api.xapo.com/oauth2/token");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials&redirect_uri=**************");

$basic_token = base64_encode("************APP ID:APP secret***********");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  "Content-Type: application/x-www-form-urlencoded",
  "Authorization: Basic ".$basic_token
));

$respons = curl_exec($ch);
curl_close($ch);
$json = json_decode($respons);

##transaction

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://v2.api.xapo.com/accounts/****MYACCOUNT ID*****/transactions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, CURLOPT_POST, TRUE);

curl_setopt($ch, CURLOPT_POSTFIELDS, "{
  \"to\": \"test@gmail.com\",
  \"amount\": \"1\",
  \"currency\": \"SAT\",
  \"notes\": \"Random message\",
  \"type\": \"pay_email\"
}");

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  "Content-Type: application/json",
  "Authorization: Bearer ".$json->{'access_token'}
));

$response = curl_exec($ch);
curl_close($ch);

var_dump($response);

?>

但是这给了我以下错误:

  

string(97)&#34; {&#34; error_description&#34;:&#34;无效的交易类型(只有&#39;支付&#39;类型可用)&#34;,&#34; error_code&#34;:7002}&#34;

所以我从&#34; pay_email&#34;更改了交易类型。到&#34;支付&#34;虽然pay_email已在我的开发者应用页面帐户中激活,但这是我得到的新错误:

  

string(60)&#34; {&#34; error_description&#34;:&#34;无效的帐户&#34;,&#34; error_code&#34;:7003}&#34;   这让我觉得我在API网址中输入的帐号ID不对(虽然我从API回调中得到它,显然这是获取帐户ID的唯一方法)

我做错了什么,如何解决?

0 个答案:

没有答案