#php #curl
#php #curl
Вопрос:
Я пытаюсь реализовать биткойн-шлюз от apirone. Проблема в том, что когда я запускаю функцию CURL, она возвращает внутреннюю ошибку сервера 500.
итак, я попытался запустить их демонстрационный код. хотя он отлично работает на их сайте, он возвращает ту же внутреннюю ошибку сервера, что и на моем сервере. Я пробую это на своем сервере. Ниже приведен код
<?php
$json_data = array (
'type' => "forwarding",
'currency' => "btc",
'callback' => array(
'url'=> "http://example.com/callback",
'data' => array (
'invoice_id' => "1234"
)
),
'destinations' => array (
array('address' => "1apiKcJM95jENZeom2dQo8ShK7dUQkRaS", 'amount' => 40330),
array('address' => "1ApiwpetcWnBbkpU7cb7biPfc6Tiucasf8", 'amount' => 40330)
)
);
$api_endpoint = "https://apirone.com/api/v2/wallet";
$curl = curl_init($api_endpoint);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($json_data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
$http_status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($http_status_code==200){
$decoded = json_decode($response, true);
echo "Wallet: " . $decoded["wallet"] . "<BR>";
echo "Key: " . $decoded["transfer_key"];
} else {
var_dump($response);
}
?>
более подробную информацию можно найти здесь https://apirone.com/docs/forwarding-wallet
может кто-нибудь сообщить мне, что может быть причиной этой ошибки?
Спасибо
Комментарии:
1. Итак, что говорят журналы?
2. @TonyStark он не регистрирует никаких ошибок, связанных с этим.. С других страниц регистрируется только несколько неопределенных переменных
Ответ №1:
Я думаю, что это может быть проблема с настройками cURL.
Попробуйте разместить
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
после
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($json_data));
Кроме того, я бы не стал json_encode($json_data)
указывать непосредственно в аргументе функции. Попробуйте закодировать его раньше и отправьте уже закодированный json в CURLOPT_POSTFIELDS
опции.