У меня есть ключ API, xpub, все. Использование PHP ..
вот часть моего кода:
часть кода для генерации кошелька адрес:
Код:
PHP $ SCRT знак равно my_super_secret_code_60_chars_long;
$ my_callback_url знак равно «http://mysite.com/lib/payment.php?secret={$ SCRT}";
$ my_xpub знак равно "My_xpub_key";
$ my_api_key знак равно "My_secret_api_key";
$ root_url знак равно "Https://api.blockchain.info/v2/receive";
параметры $ знак равно "Xpub =" .$ my_xpub. "&Обратный вызов =» .UrlEncode($ my_callback_url). "&ключ =» .$ my_api_key;
$ QRYзнак равно «ВЫБОР И.Д., RECEIVE_ADDR ОТ MY_TABLE ГДЕ КОШЕЛЬКА = '{$ _GET['бумажник']}' ";
$ результат знак равно mysqli_query($ сопп,$ QRY);
$ строка знак равно mysqli_fetch_row($ результат);
$ Reci знак равно $ строка[1];
$ UID знак равно $ строка[0];
если ($ Reci=='никто') {
// если пользователь не сгенерировали получить адрес, вызвав этот
$ ответ знак равно file_get_contents($ root_url . '?' . параметры $);
объект $ знак равно json_decode($ ответ);
эхо «Отправить Оплата To:» . объект $->адрес;
$ QRYзнак равно "UPDATE SET MY_TABLE RECEIVE_ADDR = '". объект $->адрес .« 'WHERE КОШЕЛЬКА ='{$ _GET['бумажник']}' ";
mysqli_query($ сопп,$ QRY);
} ?>
$ my_callback_url знак равно «http://mysite.com/lib/payment.php?secret={$ SCRT}";
$ my_xpub знак равно "My_xpub_key";
$ my_api_key знак равно "My_secret_api_key";
$ root_url знак равно "Https://api.blockchain.info/v2/receive";
параметры $ знак равно "Xpub =" .$ my_xpub. "&Обратный вызов =» .UrlEncode($ my_callback_url). "&ключ =» .$ my_api_key;
$ QRYзнак равно «ВЫБОР И.Д., RECEIVE_ADDR ОТ MY_TABLE ГДЕ КОШЕЛЬКА = '{$ _GET['бумажник']}' ";
$ результат знак равно mysqli_query($ сопп,$ QRY);
$ строка знак равно mysqli_fetch_row($ результат);
$ Reci знак равно $ строка[1];
$ UID знак равно $ строка[0];
если ($ Reci=='никто') {
// если пользователь не сгенерировали получить адрес, вызвав этот
$ ответ знак равно file_get_contents($ root_url . '?' . параметры $);
объект $ знак равно json_decode($ ответ);
эхо «Отправить Оплата To:» . объект $->адрес;
$ QRYзнак равно "UPDATE SET MY_TABLE RECEIVE_ADDR = '". объект $->адрес .« 'WHERE КОШЕЛЬКА ='{$ _GET['бумажник']}' ";
mysqli_query($ сопп,$ QRY);
} ?>
этот код работает нормально, но у меня есть проблема с обратным вызовом PHP (payment.php).
это не вызывает, когда компенсация получена, однако вручную, я могу имитировать полученный платеж с вызовом PHP с правильными параметрами
часть payment.php
Код:
PHP
$ scrtt знак равно $ _GET[«Секрет»]; // пароль передается обратно обратного вызова URL
$ transaction_hash знак равно $ _GET['Transaction_hash'];
$ value_in_satoshi знак равно $ _GET['стоимость'];
$ value_in_btc знак равно $ value_in_satoshi / 100000000;
$ GTзнак равно'CALLBACK НАЗЫВАЕТСЯ - TXID:'.$ transaction_hash.' СТОИМОСТЬ '.$ value_in_satoshi.'SCRT:'.$ scrtt.«ПОДТВЕРЖДАЕТ:».$ _GET[«Подтверждение»];
$ QRYзнак равно «INSERT INTO DEBUG (TE) VALUES (»{$ GT}«)»;
mysqli_query($ сопп,$ QRY);
// код выше для отладки - но не срабатывающие однако компенсация получена
если ($ scrtt== my_super_secret_code) {
если ($ _GET[«Подтверждение»] >знак равно 2) {
$ подтверждаетзнак равно$ _GET[«Подтверждение»];
$ QRYзнак равно «ВЫБОР ID ОТ MY_TABLE ГДЕ RECEIVE_ADDR = '{$ _GET['адрес']}«»;
$ результат знак равно mysqli_query($ сопп,$ QRY);
$ строка знак равно mysqli_fetch_row($ результат);
$ UID знак равно $ строка[0];
$ QRYзнак равно «SELECT TXHASH FROM ПЛАТЕЖЕЙ WHERE TXHASH = '{$ _GET['Transaction_hash']}' ";
$ результат знак равно mysqli_query($ сопп,$ QRY);
$ строка знак равно mysqli_fetch_row($ результат);
$ ТХ знак равно $ строка[0];
если ($ ТХ <> $ transaction_hash) {
$ QRYзнак равно«INSERT INTO ПЛАТЕЖЕЙ (TXHASH, user_id, SATS, УТВЕРЖДАЕТ) VALUES (»{$ transaction_hash}»,{$ UID},{$ value_in_satoshi},{$ подтверждает})»;
mysqli_query($ сопп,$ QRY);
// новый ТХ - вставка
}
// Вставить в подтвержденные платежи
}
}
эхо '*ОК*';
?>
$ scrtt знак равно $ _GET[«Секрет»]; // пароль передается обратно обратного вызова URL
$ transaction_hash знак равно $ _GET['Transaction_hash'];
$ value_in_satoshi знак равно $ _GET['стоимость'];
$ value_in_btc знак равно $ value_in_satoshi / 100000000;
$ GTзнак равно'CALLBACK НАЗЫВАЕТСЯ - TXID:'.$ transaction_hash.' СТОИМОСТЬ '.$ value_in_satoshi.'SCRT:'.$ scrtt.«ПОДТВЕРЖДАЕТ:».$ _GET[«Подтверждение»];
$ QRYзнак равно «INSERT INTO DEBUG (TE) VALUES (»{$ GT}«)»;
mysqli_query($ сопп,$ QRY);
// код выше для отладки - но не срабатывающие однако компенсация получена
если ($ scrtt== my_super_secret_code) {
если ($ _GET[«Подтверждение»] >знак равно 2) {
$ подтверждаетзнак равно$ _GET[«Подтверждение»];
$ QRYзнак равно «ВЫБОР ID ОТ MY_TABLE ГДЕ RECEIVE_ADDR = '{$ _GET['адрес']}«»;
$ результат знак равно mysqli_query($ сопп,$ QRY);
$ строка знак равно mysqli_fetch_row($ результат);
$ UID знак равно $ строка[0];
$ QRYзнак равно «SELECT TXHASH FROM ПЛАТЕЖЕЙ WHERE TXHASH = '{$ _GET['Transaction_hash']}' ";
$ результат знак равно mysqli_query($ сопп,$ QRY);
$ строка знак равно mysqli_fetch_row($ результат);
$ ТХ знак равно $ строка[0];
если ($ ТХ <> $ transaction_hash) {
$ QRYзнак равно«INSERT INTO ПЛАТЕЖЕЙ (TXHASH, user_id, SATS, УТВЕРЖДАЕТ) VALUES (»{$ transaction_hash}»,{$ UID},{$ value_in_satoshi},{$ подтверждает})»;
mysqli_query($ сопп,$ QRY);
// новый ТХ - вставка
}
// Вставить в подтвержденные платежи
}
}
эхо '*ОК*';
?>
моя проблема в том, обратный вызов не вызывается - кто может проверить свой код и скажите мне, где я есть проблемы?
благодаря
РЕШЕНИЕ:
Глупый решение: удалить .htaccess (или переконфигурируйте) на веб-сервере ... просто и убил 4 дня для меня