Биткоин-форвардинг API

V 1.0

Contents

В нашем первом проекте мы разработали новые инструменты для магазинов, но большинству клиентов требуются простые и привычные решения. В проекте Apirone создано приложение, полностью совместимое с Blockchain.info API v1. Методы API работают точно так же, имеют ту же структуру и те же ответы сервера.

После того как Blockchain.info прекратил предоставлять этот метод оплаты, очень многие магазины не смогли больше получать платежи и вынуждены были приостановить работу. Но вам не придется переписывать код или переделывать интернет-магазин, просто измените адрес «blockchain.info» на «apirone.com» и продолжайте работать. В дальнейшем мы будем выкладывать новые модули к популярным движкам интернет-магазинов.

Этот интерфейс генерирует новый уникальный биткоин-адрес, на который впоследствии клиент производит оплату. Этот адрес будет всегда мониториться и обрабатываться с бесконечным числом транзакций. И даже если транзакция на нём никогда не появится, мы всё равно будем мониторить этот адрес.

Вы можете генерировать новый адрес под каждый отдельный платеж или использовать этот адрес как привязанный к клиенту, например для пополнения баланса аккаунта клиента на своем сайте. То есть в том случае, если клиент использует этот адрес для повторной покупки одного и того же товара или ему нужно пополнить баланс своего аккаунта.

Сгенерированные адреса никогда не истекает. Все поступающие транзакции будут постоянно мониториться.

Пожалуйста, помните, что микроплатежи в биткоинах крайне неэффективны из-за высокой комиссии сети!

Обязательно указывайте схему HTTP и HTTPS в URL-адресе для колбэка. Мы также поддерживаем колбэки в TOR сеть.TOR project logo сеть.

В качестве адреса получателя можно указать любой тип биткоин-адреса, существующий на данный момент: стандартные адреса, начинающиеся на "1" (P2PKH); адреса Pay to Script Hash с поддержкой SegWit (P2SH-P2WPKH), начинающиеся на “3”; а также новые SegWit-адреса, начинающиеся на "bc" (P2WPKH).

 

Запрос:

Пример кода

<?php
  $my_address = "bc1qggg2ys8duv4qvnfgzng2p75m6ehklcmfygr9m4";
  $my_callback_url = "http://example.com/callback?invoice_id=1234&secret=7j0ap91o99cxj8k9";
  $api_base = "https://apirone.com/api/v1/receive";
 
  $curl = curl_init();
  curl_setopt_array($curl, array(
      CURLOPT_RETURNTRANSFER =< 1,
      CURLOPT_URL =< $api_base . "?method=create&address=" . $my_address .
		"&callback=" . urlencode($my_callback_url)
  ));
  $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 "Please send the payment to the following bitcoin address: " .
			$decoded["input_address"];
  } else {
      echo "Sorry, an error occurred: " . $response;
  }
?>
<?php
  $my_address = "bc1qggg2ys8duv4qvnfgzng2p75m6ehklcmfygr9m4";
  $my_callback_url = 
  		urlencode("http://example.com/callback?invoice_id=1234&secret=7j0ap91o99cxj8k9");
  $data = file_get_contents("https://apirone.com/api/v1/receive?method=create&address=". 
  		$my_address. "&callback=" . $my_callback_url);
  $respond = json_decode($data,true);
  $address = $respond["input_address"]; // bitcoin address for customer payments
  echo $address;
?>
import requests
import urllib
my_address = 'bc1qggg2ys8duv4qvnfgzng2p75m6ehklcmfygr9m4'
my_callback_url = urllib.parse.urlencode({"r":"http://example.com/callback?invoice_id=1234&secret=7j0ap91o99cxj8k9"})[2:]
url = 'https://apirone.com/api/v1/receive?method=create&address=%s&callback=%s' % (my_address, my_callback_url)
response = requests.get(url)
print(response.text)
Метод и переменные:
Параметры Описание Обязательное поле Поэкспериментируйте со значениями
method=create

Метод генерации нового адреса для оплаты.

Обязательное поле
{address}
base58,
32 символа

Биткоин-адрес получателя
Биткоин-адрес Интернет-магазина, куда будет произведён форвардинг платежа

Обязательное поле
{callback}
текст,
=<1024 символа

Callback URL')}}
Интернет-магазине. Вы можете добавить дополнительные GET-параметры в эту ссылку, например ID клиента или заказа. Ссылка должна быть действительной.
Также ссылка должна быть в формате URLencoded или параметр с ней должен находиться в конце запроса. В противном случае вы не получите колбэк или получите его в неверном формате.

Обязательное поле
  Сбросить значения Сделать запрос
Результат выполнения:
{ "fee_percent": 1, "destination": "bc1qggg2ys8duv4qvnfgzng2p75m6ehklcmfygr9m4", "input_address": "1FEGJSLDJJ6oSuJwur3fCD7TtQbYUjBV4z", "callback_url": "http://example.com/addbalance.php?user=118" }

Успешное выполнение

При успешном выполнении запрос возвращает четыре параметра в JSON-формате::
{fee_percent} Процент, который принимается за услугу. По умолчанию: 1 целое число
{destination} Биткоин-адрес Интернет-магазина, на который будет произведён форвардинг платежей. base58 (32 символа)
{input_address} Сгенерированный биткоин-адрес для оплаты покупателем. base58 (32 символа)
{callback_url} Ссылка на страницу колбэка вашего интернет-магазина. текст (=<1024 символа)
Пример результата выполнения:
{
    "destination": "bc1qggg2ys8duv4qvnfgzng2p75m6ehklcmfygr9m4",
    "input_address": "1FEGJSLDJJ6oSuJwur3fCD7TtQbYUjBV4z",
    "callback_url": "http://example.com/callback?invoice_id=1234&secret=7j0ap91o99cxj8k9"
}

Сообщение об ошибке

Сообщение об ошибке возвращается в текстовом формате, как показано ниже:
The supplied address is not a valid bitcoin address. — Указан неправильный биткоин-адрес.
The supplied callback URL is not valid. — Указана неправильная ссылка колбэка.
Wrong method. — Неправильный метод.
Not enough parameters. — Недостаточно параметров.
Неверный тип адреса.