Answer the question
In order to leave comments, you need to log in
Need to set up btc payment (problem in sending json post)?
I want to connect the payment forwarding API from bitaps.com
I can't
Link to api - https://developer.bitaps.com/forwarding
Part of the documentation:
API базовая ссылка
Для всех поддерживаемых криптовалют API доступны для Mainnet, Testnet и сети Tor. Для тестнет сетей доступны раздачи тестовых монет, а так же экcплореры.
Mainnet URL: https://api.bitaps.com/{currency}/v1/
Testnet URL: https://api.bitaps.com/{currency}/testnet/v1/
Tor Mainnet URL: http://bitaps4nifcusilt.onion/{currency}/v1/
Доступное значение currency: btc, ltc, bch, eth.
Создать адрес для пересылки
POST /create/payment/address
Для создания платежного адреса необходимо: указать адрес для пересылки платежа, ссылку на обработчик уведомлений о платежах (опционально) и количество подтверждений, необходимых для зачисления платежа и получения уведомлений о подтверждениях (если не указанно будет использовано значение по умолчанию). Информация о поступлении платежа и выплате будет отправляться на указанный обработчик уведомлений. Для Bitcoin Cash и Litecoin в ответе на запрос так же присутствует адрес в legacy формате (устаревший формат адресов). Оба формата адресов могут быть использованы для получения платежей и обрабатываются платформой корректно.
Request body
application/json
JSON object
string | forwarding_address | Адрес для пересылки | required
string | callback_link | Ссылка на обработчик уведомлений о платежах | optional
integer | confirmations | Количество подтверждений необходимых для зачисления платежа | optional
Responses
application/json
200
payment_code
string
Код платежа, используется для аутентификации уведомлений о платеже и получении статистики по адресу (данный код не должен разглашаться в целях безопасности)
required
callback_link
string
Ссылка на обработчик уведомлений о платежах
optional
forwarding_address
string
Адрес для пересылки
required
domain_hash
string
Уникальный идентификатор домена обработчика уведомлений
optional
confirmations
integer
Количество подтверждений необходимых для зачисления платежа
required
address
string Платежный адрес required legacy_address
string Платежный адрес в устаревшем формате optional
domain string Домен, получаемый из ссылки для уведомлений о платежах optional
invoice string Публичный идентификатор платежного адреса required
currency string Валюта
<?php
// ini_set('error_reporting', E_ALL);
// ini_set('display_errors', 1);
// ini_set('display_startup_errors', 1);
$host = 'localhost'; // адрес сервера
$database = 'base'; // имя базы данных
$user = 'login'; // имя пользователя
$password = 'pass'; // пароль
if (isset($_GET['chat_id'])){
$chat_id = $_GET['chat_id'];
// подключаемся к серверу
$link = mysqli_connect($host, $user, $password, $database)
or die("Ошибка " . mysqli_error($link));
$base = mysqli_query($link, "SELECT * FROM `settings` WHERE id='1'");
$settings = mysqli_fetch_assoc($base);
$btc = $settings['bitcoin'];
$conf = $settings['confirm'];
// Создания адреса для платежа
$callback = 'https://localhost/callback/bitcoin.php';
$user = array(
'forwarding_address'=> $btc,
'callback_link'=> $callback,
'confirmations'=> $conf,
);
$json[] = $user;
$json = json_encode($json);
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'https://api.bitaps.com/btc/v1/create/payment/address/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($json))
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($curl);
echo "<pre>";
echo $result;
$decode = json_decode($result);
echo $decode;
curl_close($curl);
}
if (!$result || isset($result['error_code'])) {
$error = $result['error_code'];
echo "Bitcoin payment creation error: " . "$data";
} else {
// Вытащил в переменные для дальнейшей работы
$adress = $result['address'];
echo $adress;
$keypay = $result['code'];
$schet = $result['invoice'];
echo "<pre>";
echo $result;
}
} else {
die();
}
?>
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question