Я пытаюсь создать базовую транзакцию из xapo в xapo в PHP, используя их API, но я не могу понять, как заставить это работать
Вот код, который я сделал, следуя примерам их документации (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) «{» error_description «:» Недопустимый тип транзакции (доступен только тип ‘pay’) «,» error_code «: 7002}»
поэтому я изменил тип транзакции с «pay_email» на «pay», хотя pay_email активирован в моей учетной записи на странице приложения разработчика, и это новая ошибка, которую я получаю:
string (60) «{» error_description «:» Invalid account «,» error_code «: 7003}», из-за чего я считаю, что идентификатор моей учетной записи, который я вставил в URL-адрес API, неверен (хотя я получил его из-за обратного вызова API, поскольку видимо единственный способ получить идентификатор аккаунта)
Что я делаю не так и как я могу это исправить?
Задача ещё не решена.
Других решений пока нет …