API обратного вызова Blockchain Receive в URL-адресе обратного вызова не работает

Я хочу принимать платежи с помощью API-интерфейса приема платежей Blockchain. Используя другой адрес пользователя для получения биткойнов, но не работающий API-интерфейс обратного вызова

https://blockchain.info/api/api_receive

&& также попробуйте контролировать адреса для полученных и потраченных платежей API, но не работает

Моя проблема в том, что обратный вызов никогда не вызывается — может ли кто-нибудь проверить мой код и сказать мне, в чем проблема?

я также пытаюсь создать журнал, но не вызывается, и проверить API журнала callbacl, используя not call.

пожалуйста решил мою проблему :)

создайте API обновления баланса, используя этот файл create.php

$url = "https://api.blockchain.info/v2/receive/balance_update";
    $secret = $address;
    $post_data = array(
        "key"           => $this->API_KEYCODE,
        "addr"          => $address,
        "callback"      => "https://my-server.com/callback.php?customer_id=".$user_id."&secret=".$secret,
        "onNotification"=> "KEEP",
        "op"            => "RECEIVE",
        "confs"         => $conf
    );

    Log::info('START SERVICE CALL :' . json_encode($url). " : ".json_encode($post_data));
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, count($post_data));
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER , array(
        "cache-control: no-cache",
        "content-type: text/plain",
    ));
    $ccc = curl_exec($ch);
    curl_close ($ch);

    Log::info('END SERVICE CALL :' . $ccc);
    $json = json_decode($ccc, true);
    return $json;

этот ответ об успешном возврате API в идентификаторе индекса, адресе и URL-адресе обратного вызова

второй файл callback.php

Log::info('TEST : START (BLOCKCHAIN Callback)========================================');
    Log::info('GET : '.jsone_encode($request));
    Log::info('GET : '.jsone_encode($_GET));
    $res = 'Nothing';

    $out_address = $_GET['secret'];
    $in_address = $_GET['address'];
    $user_id = $_GET['customer_id'];

    $transaction_hash = $_GET['transaction_hash'];
    $confirmations = $_GET['confirmations'];
    $value_in_satoshi = $_GET['value'];
    $value_in_btc = $value_in_satoshi / 100000000;

    $status = true;

    if($status == true) {

                $res = "*ok*";
        } else {
            //Waiting for confirmations


            $res = "Waiting for confirmations";
        }
    }
    Log::info('RES : '.$res);
    Log::info('TEST : END (BLOCKCHAIN Callback)========================================');
Где твой код?
я вызываю API обновления баланса и возвращаю ответ об успешном завершении, но не обратный вызов, мой URL-адрес вызывает любой журнал, а API callback_log думает, что проверка не является обратным вызовом
Я полагаю, вы проверили, что ваш адрес обратного вызова отвечает на внешние запросы? Можете ли вы сделать ручной тест обратного вызова, если вы попробуете просто key https://my-server.com/callback.php?customer_id=foo&secret=bar?
да, я также пытаюсь вручную работать и создать журнал, и я пытаюсь проверить API журнала обратного вызова, а также пустой ответ массива
Обратный звонок действительно не работает. Но в качестве альтернативы вы можете использовать веб-сокет блокчейна.

Ответы (1)

Дело не в вашем коде; это от Blockchain.info.

Я совершил транзакцию прямо сейчас и не получил обратного звонка.

На Blockchain.info время от времени возникают подобные проблемы.

Пожалуйста, обратите внимание на проблему с ограничением зазора. Они могут сказать, что вы создали 20 неиспользуемых адресов, а это не так.

Да, мы проверяем API обратного вызова. Но каждый раз, когда мы получаем пустой (нулевой) ответ в журнале обратного вызова.
у вас есть какие-либо идеи для другого провайдера API для отправки и получения биткойнов?
Block.io был бы альтернативой, но это чертовски отстой, поскольку вы должны платить за каждый сгенерированный адрес. Скоро мы запустим кошелек моей команды, над которым я работал долгое время. Вы можете получить LTC, BTC, BCH. Нет ограничений по промежуткам и много других функций, которых нет ни у одного другого кошелька.