Как получить платеж Биткоины

Команда рекламной сети Oblivki.biz о выборе сервиса и нюансах приёма платежей в криптовалюте.

Биткоин привлекает всё больше внимания, а технологии блокчейн прогнозируют светлое будущее. Наша компания, например, решила предоставить возможность клиентам покупать трафик за криптовалюту и подключила способ оплаты при помощи биткоина.

У текущей моды на криптовалюты масса обоснованных плюсов:

  1. Безопасные онлайн-платежи: здесь отсутствует фрод и чарджбеки. Сеть устроена так, что отправленный платеж вернуть нельзя, достоверность транзакции подтверждают пользователи по всему миру, а каждая транзакция шифруется.
  2. Выгодные комиссии: стоимость проведения платежа не превышает 1%. И чем больше сумма перевода — тем меньше потери.
  3. Анонимность: средства клиентов не контролируют банки — никто не вправе блокировать транзакцию или добавить лишнюю комиссию.
  4. Платежи без ограничений: транзакции проводятся в неограниченных объемах, чего не позволяют другие платежные средства.

Существует множество сервисов, позволяющих принимать биткоины и другие валюты. Лишь малая часть из них:

  • Blockchain (ключ для работы с API выдается по заявке).
  • Coinbase (необходимо заполнить заявку и дождаться одобрения).
  • Bitaps (открытое API).
  • Cryptonator.

Мы подключили оплату через API сервиса Bitaps, потому что через него это оказалось сделать проще. Если у Blockchain требуется писать заявку и ждать одобрения три банковских дня, то здесь изначально можно подключиться самостоятельно. В API найдется всё необходимое для этого.

При формировании счета для клиента надо сгенерировать и мониторить уникальный адрес (временный кошелек) для каждого платежа. Как только платёж подтверждён сетью, сервер API перечисляет биткоины с временного кошелька на указанный кошелек (свой или корпоративный, куда вам удобно будет получать средства).

У каждого сервиса свой API, но выглядит схема примерно одинаково:

  • Сгенерируйте платеж, обратившись по специальной ссылке и передав параметры.
  • Создайте биткоин-адрес продавца, на который будут пересылаться деньги.
  • Создайте ссылку вашей системы (callback), которая будет вызываться при подтверждении платежа.
  • Укажите количество принятых подтверждений платежа в сети Bitcoin (опциональное поле, по умолчанию — 3).
  • Определите уровень комиссии сети (опциональное поле, по умолчанию — low). Чем он выше, тем быстрее произойдет перевод.

В итоге получается сгенерированный адрес для приёма оплаты, код платежа и счёт. Код вы используете в базе данных для записи, сортировки или поиска информации о платежах. Счёт может быть отправлен покупателю или использован для платёжной формы.

После зачисления средств по указанному счету происходит подтверждение в сети Bitcoin. На каждое подтверждение отправляется обращение к callback и передаются параметры, чтобы опознать платеж. При получении последнего подтверждения надо выполнить заказ или услугу клиента. Сумма передается в сатоши — самой маленькой части биткоина.

Для конвертации используйте методы получения курсов валют. Курс часто меняется, поэтому получите его во время зачисления и сделайте конвертацию.

Необходимое количество подтверждений зависит от модели риска, клиентов и сумм. Если вы доверяете клиентам, то принимайте платежи без подтверждений или с одним подтверждением. При небольших переводах трех подтверждений достаточно.

Шесть подтверждений математически невозможно подделать, не имея 51% вычислительной мощности сети. Чем больше подтверждений необходимо, тем больше комиссия и время ожидания. В среднем платеж проходит 15-20 минут, а оплата для клиента будет выглядеть следующим образом:

  • Выбор товара или услуги.
  • Выставление счета клиенту (вывод на странице номера кошелька и суммы, необходимой для оплаты).
  • Перевод средств клиентом.
  • Ожидание трех подтверждений и завершение заказа или услуги (в нашем случае это пополнение счета рекламного кабинета).

Время от времени замечаю вопросы о том, как принимать платежи Bitcoin на своём сайте без использования сторонних сервисов. Это достаточно просто, но надо учитывать, что есть подводные камни.

В этой статье я постараюсь максимально подробно, без акцента на каком-либо языке программирования, описать, как сделать приём платежей Bitcoin (а также, при желании — Litecoin, Dash, Bitcoin Cash, Steep, ONION и т.п.), начиная с разворачивания полной ноды и заканчивания проверкой поступления платежа.

Читайте также:  Как открыть облачный майнинг Биткоинов в россии

Подразумевается, что вы имеете сайт, размещенный на VPS, к которой у вас есть root доступ, а также готовы тратить по $15+ на оплату сервера для кошелька.

Первым делом надо выделить отдельный сервер для размещения кошелька. Почему именно отдельный сервер? Отдельный сервер позволит снизить риски вывода всех ваших средств злоумышленником в случае взлома основного сайта. Ну и не стоит забывать, что для хранения blockchain требуется много места на диске (

150Gb места на диске и т. п. — подробности по ссылке).

Какие есть варианты дешевых серверов? Их масса, на мой взгляд самый адекватный — сервера от hetzner.de или chipcore.com. На chipcore.com, например, можно взять dedicated с диском на 500Gb (хватит на BTC и еще пару блокчейнов) всего за 990 рублей (примерно 17 баксов). Если знаете что-то дешевле — пишите в комментариях, очень интересно (думаю, не только мне).

После того, как вы осмысленно приняли решение о том, что хотите принимать криптовалюты на своём сайте и купили сервер (либо использовали имеющийся), надо установить bitcoin ноду.

На сервере должна быть установлена любая подходящая операционная система, самый простой вариант — Ubuntu 16.10 (да, на самом деле — это не лучший выбор, лучше установить 16.04 либо дождаться 18.04 и подождать еще пару месяцев для стабилизации). Как правило, заморачиваться с разбивкой диска нет смысла и можно смело использовать 2-4Gb на swap и остальное пускать на корневой раздел (/ или root).

После того, как сервер будет доступен, первое, что надо сделать — отключить авторизацию по паролям и настроить авторизацию по ssh ключам. Сделать это достатчно просто, есть хорошее описание от DigitalOcean.

После того, как сервер будет настроен, достаточно пары команд для того, чтобы запустить полноценную ноду кошелька

Это всё, что требуется для установки ноды

Первым делом надо создать пользователя bitcoin :

и создать служебные директории:

Теперь осталась самая мелочь – корректно настроить ноду для приёма JSON RPC запросов.

Минимальный конфиг будет выглядеть так:

Его надо положить по адресу /etc/bitcoin/bitcoin.conf . И не забыть установить корректного владельца:

Важно: использование USERNAME и PASSWORD — deprecated метод и немного не безопасный. Более правильно использовать rpcauth, пример можете найти по ссылке.

Далее, достаточно настроить systemd сервис для запуска ноды (в том числе после перезагрузки).

Для этого можно просто скопировать юнит файл, размещенный по адресу в директорию /etc/systemd/system/ :

После чего запустить его и настроить автозапуск:

Теперь можно проверить рабостопособность ноды:

Если всё ок — в ответ придёт примерно такое сообщение:

Осталось только настроить сервер, на котором расположен ваш сайт.

Наиболее безопасный и простой способ сделать доступным на бекенде API кошелька — прокинуть ssh туннель через сервис systemd (ну или любой другой init сервис). В случае использования systemd конфигурация сервиса максимально проста:

Эту конфигурацию нужно разместить по пути /etc/systemd/system/sshtunnel-btc.service .

После этого ставим сервис в автозапус и запускаем:

Для проверки можно постучаться на порт локалхоста и проверить, что всё ок:

Со списком всех методов удобнее всего ознакомиться по ссылке.

Вызывать их очень просто даже через curl, пример запроса мы уже использовали ранее при получении информации о ноде методом getinfo.

Есть два варианта передачи параметров — массивом либо словарём.

Ниже можно увидеть примеры запроса на получение нового адреса с передачей параметров массивом и словарём:

Для использования удобно написать простую обертку с нужными нам функциями (либо использовать имеющуюся библиотеку для вашего языка). Пример для ruby:

После этого можно удобно пользоваться им в примерно таком виде:

Аналогиный пример для node.js:

Который можно использовать примерно следующим образом:

Для Python всё еще проще – официальный способ — использование:

Собственно, с PHP также нет никаких проблем (рекомендуется использовать http://jsonrpcphp.org/):

Хорошая подборка документации находится здесь.

Читайте также:  Как быстро заработать Биткоин на freeБиткоин

Приведенные выше примеры являются немного доработанными версиями перечисленных по ссылке.

Осталась достаточно простая часть — настроить обработку получения платежей и генерации адресов для пополнения.

Сам процесс интеграции приема платежей криптой выглядит примерно так:

  • При запросе на оплату от пользователя показываем ему адрес, куда переводить средства
  • В фоновом режиме (самый простой вариант — по cron) проверяем список транзакций кошелька и при поступлении новой — начисляем средства / меняем статус оплаты.

Для генерации адресов для приёма можно использовать несколько разных подходов – создание нового адреса для каждого депозита, либо использование постоянного адреса для аккаунта пользователя.

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

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

Для генерации адреса пополнения нужно вызвать метод getnewaddress, который в ответе вернёт новый адрес для пополнения. Для удобства можно передать аккаунт в качестве параметра (account), к которому будет привязан созданный адрес. Иногда это может быть удобно для просмотра транзакций по конкретному пользователю.

Для проверки баланса подходят несколько методов. Самый простой способ — на каждый сгенерированный адрес для пополнения создавать запись в базе данных, после чего проверять для каждой из записей через метод getreceivedbyaddress поступления средств (не самый производительный вариант, но для большинства ситуаций подходит).

Еще хорошим вариантом будет получение информации через listtransactions о последних операциях и для них уже искать пользователя, который получает балансы. Какой вид реализации использовать — выбирать вам.

Важный момент при проверке транзакций — корректно указать кол-во подтверждений для защит от различных атак. Для большинства криптовалют обычно их можно найти в White Paper.

Для bitcoin рекомендуемое значение на данный момент — 6 подтверждений для небольших сумм. Здесь всё хорошо описано.

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

Хотелось написать еще про интеграцию других кошельков, более подробно про требования к серверу и про вывод, как принимать платежи, если сайт размещен не на VPS с root доступом и т. д., но понял, что статья и так получилась большая, поэтому, если будет интересно — лучше опубликую это в одной следующих статей.

Хардкорная конфа по С++. Мы приглашаем только профи.


С развитием электронного способа платежей стала использоваться и оплата биткоинами. А также можно применять сервис обмена криптовалюты. Оплачивать bitcoin можно различные товары и услуги. Интернет имеет множество возможностей для этого. Также можно использовать биткоины и в России. Нужно сказать что в оплате bitcoin есть несколько нюансов, которые стоит знать вам для того, чтобы правильно использовать любой сервис интернет, где можно оплачивать товары различными видами криптовалют, в том числе совершать покупки за биткоины.

По всему миру активно используют платежи bitcoin. В России на данный момент только на малой части отечественных ресурсов может производиться оплата bitcoin. Большая часть интернет-магазинов иностранного типа уже являются активными участниками использования такой криптовалюты, как bitcoin. Где можно расплатиться биткоинами? Таких мест очень много, поэтому при желании можно посмотреть подборочный список для всех сфер услуг — pdf.

Где принимают биткоины – часть интернет-ресурсов и объекты с услугами. Например, ряд кафе может предложить оплату bitcoin. А также можно пользоваться биткоинами при заказе некоторых такси и авиабилетов. Для полного понимания широты применения можно составить небольшой список по сферам услуг с возможностью оплаты:

  • можно оплачивать коммунальные услуги, мобильную связь и многое другое;
  • существует возможность покупки сувениров и эксклюзивных вещей от общества bitcoin;
  • транспортные и социальные услуги;
  • предметы и недвижимость люкс-класса;
  • забронировать гостиницу, тур или экскурсию.
Читайте также:  Как заработать 10 Биткоин 3700$ за месяц без вложений

Bitcoin все активнее используются во всех сферах жизни, но большая часть интернет-ресурсов и сфер услуг России не готовы к переходу на платежи криптовалютой.

Оплата биткоинами в России не очень распространена. В результате большая часть возможностей использования этого вида криптовалюты являются интернет-ресурсы, которые относятся к иностранным платформам. Это связано с тем, что в Европе и Америке оплатить bitcoin можно практически все. Где принимают биткоины в России:

  • часть интернет-ресурсов;
  • кафе, рестораны;
  • бары и пабы;
  • некоторые магазины;
  • транспортные и туристические агентства.

Список можно продолжать до бесконечности, но во всех сферах применение любых криптовалют пока не распространено, поэтому вам проще купить что-то через интернет. Мест, где можно расплатиться биткоинами в России, довольно немало. К тому же кроме того, есть многочисленные обменники, которые обменивают криптовалюты друг на друга или на доллары. По сравнению с другими криптовалютами, Bitcoin, наиболее используемая криптовалюта, которая позволяет участвовать во многих сферах, в том числе электронных ресурсах, где нет возможности использовать обычную валюту. Биткоины принимают разные сервисы, но часто они берут за это комиссию. Особенно такой вариант относится к иностранным сайтам с аукционами или с предложениями услуг. Интернет-магазины со своей продукцией обычно проценты не берут.

Благодаря обменной системе можно использовать биткоины практически везде, но при конвертации теряется процент, пусть даже самый небольшой. Оплата чистыми bitcoin может иметь распространение ещё в ряде сфер, в том числе оказание юридических услуг. Некоторые фирмы с повышенной конфиденциальностью принимают оплату биткоинами. А также bitcoin могут использоваться для помощи Красному Кресту и другим организациям. Часть благотворительных учреждений предоставляет возможность вносить пожертвования в фонд биткоинами.

Благотворительные организации являются одними из наиболее активных пользователей криптовалют. Происходит это по причине желания анонимности тех, кто вносит пожертвования. Отслеживание электронных денег происходит намного медленнее, чем обычной валюты. Многие государственные компании используют bitcoin для секретности перечисления, вот по этой причине правительства разных стран, в том числе России недоброжелательно относятся к такому уходу от налогообложения.

Перед тем как платить биткоинами стоит удостовериться в том, что платёж происходит не мошенникам. Использовать непроверенные ресурсы не стоит, так как можно потерять свои сбережения. Если откинуть невыгодные обменные действия, то потратить криптовалюту получится в любом варианте как на интернет-ресурсах, так и в местах общественного питания.

Перевод можно производить прямо со своего кошелька, но стоит помнить о том, что необходимо предусмотрительно перепроверять все оплаты. Это позволит избежать ошибок. Это связано с тем, что перевод обычных средств можно отменить, а вот с криптовалютами есть проблема в виде отсутствия законодательной базы. В России их ещё не приравняли к иностранной валюте из-за непрозрачности. Это как раз то, что тормозит распространение биткоинов в России. Bitcoin принимаются, но официального значения у них пока нет.

Для использования биткоинов нет необходимости конвертировать в удобную валюту. Есть огромное количество способов потратить bitcoin без перевода в обычный вариант денег. К числу таких способов относятся разнообразные услуги и интернет-ресурсы, которые, в свою очередь, могут быть как посредниками, так и самостоятельными объектами. Главное правило оплаты биткоинами — заранее проверить ресурс, на котором будет производиться платёж. Возможностей у криптовалюты в интернете очень много, поэтому проблем с тем, куда потратить bitcoin, обычно не возникает.

Интересны новости? Смотрите здесь и в Telegram. Следите за нами в соц. сетях: Twitter, Google+, Instagram, Facebook. Подписывайтесь. Понравилась статья поделитесь с друзьями, на форумах, в соц. сетях — Вам не сложно и Вы очень поможете нам развивать проект быстрее.

Читайте далее:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Adblock detector