Инструкция: Как добавить оплату биткоинами на сайте

Команда рекламной сети 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 и передаются параметры, чтобы опознать платеж. При получении последнего подтверждения надо выполнить заказ или услугу клиента. Сумма передается в сатоши — самой маленькой части биткоина.

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

Пример на языке PHP

Количество подтверждений

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

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

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

Важные замечания

  1. Кроме комиссии сервиса приема платежей, существует биткоин-комиссия за перевод с временного кошелька на указанный вами. Об этом нигде, к сожалению, не написано, поэтому рекомендуем не проводить мелкие платежи. В нашей сети установлено минимальное пополнение — 1000 рублей.
  2. Курс биткоина, как и других криптовалют, ощутимо меняется каждую секунду. Рекомендуем пересчитывать курс и как можно чаще выводить биткоин в реальную валюту. Конечно, это работает для тех случаев, если вам важно работать с реальной валютой, конвертируя биткоин по курсу.
  3. Не каждый блокчейн-сервис разрешает использовать API для приема платежей без подтверждения. Критерии приема в тот или иной сервис неизвестны, поэтому подавайте заявки в несколько мест.
  4. В каждом сервисе комиссии на прием платежей отличаются. Изучите детально каждый, прежде чем решите подключиться.
  5. Не выставляйте число обязательных подтверждений для выполнения оплаты выше шести. Это приведет к большему времени ожидания для клиента и негативным отзывам. Для безопасности хватит трех.
  6. При уровне комиссии low перевод средств занимает тридцать минут. Если желаете сэкономить покупателям средства, не увеличивайте уровень комиссии.
66
20 комментариев
Комментарий удалён модератором

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

4
Ответить

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

6
Ответить

На всякий случай. Вот тут https://habrahabr.ru/post/266779/ как накодить прием своими силами, не отстегивая комиссию посреднику.

3
Ответить

а в чем преимущество оплаты биткоинами по сравнению с рублями и долларами? чисто что ты модным будешь считаться?

1
Ответить

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

Ответить

А смысл?

1
Ответить