Форвардинг криптовалют

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).

Примечание: Пожалуйста, пересылайте суммы более 1000 Сатоши (0.00001 BTC). Потому что комиссии сети может быть недостаточно для отправки транзакции. Такие суммы останутся на балансе сгенерированных адресов, как пожертвования системе.


Запрос:

{address} Биткоин-адрес Интернет-магазина, куда будет произведён форвардинг платежа Обязательное поле
{callback} Интернет-магазине. Вы можете добавить дополнительные GET-параметры в эту ссылку, например ID клиента или заказа. Ссылка должна быть действительной.
Также ссылка должна быть в формате URLencoded или параметр с ней должен находиться в конце запроса. В противном случае вы не получите колбэк или получите его в неверном формате.
Обязательное поле
{currency} Тип валюты: "btc", "ltc". По умолчанию: btc Опциональное поле

Пример кода

<?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&currency=btc&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&currency=btc&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&currency=btc&address=%s&callback=%s' % (my_address, my_callback_url)
response = requests.get(url)
print(response.text)
Метод и переменные:
Параметры Описание Обязательное поле Поэкспериментируйте со значениями
method=create

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

Обязательное поле
currency

Тип валюты: "btc", "ltc". По умолчанию: btc

Опциональное поле
{address}
base58,
32 символа

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

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

Ссылка на страницу колбэка
Интернет-магазине. Вы можете добавить дополнительные 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. — Недостаточно параметров.
Неверный тип адреса.