我尝试使用他们的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的唯一方法)
我做错了什么,如何解决?