Как проверить, вызвана ли моя ipn-страница уведомлением о пинге coinbase - PullRequest
0 голосов
/ 23 ноября 2018

Я создал сайт с использованием CodeIgniter и php coinbase API .У меня есть файл ipn, расположенный в / var / www / html / с разрешением 0777.Он не вызывается, когда на мой BTC-кошелек BTC поступает депозит.Другие вызовы API, такие как создание адресов кошельков, списочные транзакции работают нормально.

Ниже приведен код из файла coinbasedepositipn.php.Файл передает необработанное тело уведомления, полученное в метод в контроллере уведомлений, с помощью curl.

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  $raw_body = file_get_contents('php://input');
  $signature = $_SERVER['HTTP_CB_SIGNATURE'];
  $data=array();
  $data["rawbody"] = $raw_body ;
  $data["signature"] = $signature;
  $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
  $url=$protocol.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php/notifications/coinbasedepositipn";

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
  curl_setopt($ch, CURLOPT_POST, TRUE);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  $headers = [
    "accept: application/json;charset=utf-8"
  ];
  curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  // Execute
  $sitecontent = curl_exec($ch);
  if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
  }
  // Closing
  curl_close($ch);
  echo "$sitecontent <br><br> Notification done successfully.";
}

Поэтому я хочу отправить уведомление «ping» на мой сервер, чтобы проверить, все ли в порядке с моим файлом ipn.Описание их API говорит о том, что «Уведомление Ping может быть отправлено в любое время, чтобы проверить, работает ли URL-адрес уведомления», но не может найти, как отправить ping на мою страницу ipn и знать, что мой файлдоступно с конечной точки сервера coinbase.

Надеюсь, вы поможете мне найти способ отправить уведомление о пинге.Заранее спасибо.

...