Как организовать прием Биткоинов

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

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

Итак, допустим у вас есть интернет магазин, который успешно функционирует. Вы реализовали возможность оплаты товаров с помощью таких систем, как Webmoney, Яндекс деньги, пластиковая карта и т.д., и в последнее время, всерьез задумались о возможности принимать в качестве оплаты за ваши товары или услуги биткоины. Для начала разберемся как же работает простейший алгоритм практически любого интернет магазина:

  1. Пользователь регистрируется в интернет магазине.
  2. Выбирает необходимый товар или услугу.
  3. Выбирает тип оплаты.
  4. В соответствие с выбранным типом оплаты, система передает данные либо на специальный процессинговый центр, либо выдает все необходимые реквизиты для оплаты товара. Параллельно с этим в системе создается запись о заказе пользователя, с ожиданием поступления от него денег.
  5. После завершения оплаты и поступления средств на счет магазина, менеджер связывается с клиентом и уточняет вопросы сроков доставки и др.

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

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

Для начала представим, что у нас есть интернет магазин, с фиксированными ценами в рублях, к примеру. Само собой разумеется, что если вы будете вводить возможность оплаты биткоинами, то вам нужно каким-либо образом реализовать конвертацию цены из рублей в BTC. Для решения этой задачи я бы порекомендовал воспользоваться курсом биржи mtgox.com, для конвертации рублевой цены в биткоины.

Итак, допустим, что эта проблема уже решена, и что вы, например, сделали иконку «Оплатить в BTC», при нажатии на которую цена автоматически конвертируется в биткоины. Теперь представим простой интерфейс корзины, который видит пользователь, оформляющий заказ:

Здесь мы видим, что в качестве товара был выбран планшет на андройде в количестве 1 штука и ценой в 10 BTC. После того, как заказ сформирован, и пользователь готов перейти к оплате, он нажимает «Перейти к оплате».

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

Система предлагает пользователю перевести необходимую сумму на указанный кошелек. Клиент оплачивает, после чего нажимает кнопку «Оплатил». Дальше система выдает следующую страницу:

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

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

Данный интерфейс предоставляет самую необходимую информацию о заказе, такую как:

— дата и время формирования заказа;

— сумма для оплаты;

— уникальный сгенерированный адрес для оплаты заказа;

— сколько поступило на счет;

— id клиента (это всего лишь представление связи 2-х таблиц, и в данном примере не является функциональной единицей. Часто вместо номера клиента указывается его ФИО или ссылка на его профиль, для удобства работы с системой.)

Читайте также:  Правда и ложь о Биткоине

Как только деньги приходят на определенный адрес, в графе «поступило на счет» появляется переведенная сумма + графа начинает светиться зеленым цветом:

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

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

Для внедрения приема BTC, необходимо установить и настроить демон bitcoind на сервере. Следует иметь ввиду, что если сайт расположен на виртуальном хостинге, внедрить оплату таким образом скорее всего не получится, т.к. редкие shared хостинги разрешают устанавливать программы на своих серверах. Установка и настройка bitcoind подробно расписана здесь.

После установки и настройки демона, необходимо воспользоваться классом, специально написанным для работы с bitcoind из PHP. Класс можно бесплатно загрузить здесь.

Теперь у вас установлено и настроено окружение для организации приема BTC.

Алгоритм реализован следующим образом.

Когда пользователь регистрируется в интернет магазине, для него создается, так называемый «аккаунт» в bitcoind. Account – это некий кошелек, который может содержать в себе неограниченное количество уникальных адресов. Данная процедура реализуется с помощью метода new_address. Если к методу указан параметр, то его имя и будет равняться имени нового акаунта. Например, при регистрации пользователя выполним следующий код:

После оформления заказа в пользовательском акаунте создается новый адрес, который привязывается к определенному заказу. Во время оформления заказа в базу данных, в таблицу «orders», заносятся данные о новом заказе.

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

И на клиентскую, и на серверную часть можно установить проверку на количество подтверждений определенной транзакции. Для этого можно воспользоваться функцией listreceivedbyaddress, которая выдает информацию относительно принятых средств на указанном в качестве аргумента адресе. Нас интересует параметр confirmations, который и нужно выводить. Вот пример:

Соответственно, эти подтверждения можно выводить в пользовательскую или административную панель для наглядности.

По большому счету, это весь функционал. Обертка – дело каждого программиста. Но хочу сказать, что пользуясь всеми прелестями API bitcoind, можно реализовать гораздо более продуманную и защищенную систему.

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

Для платформ, которые выбрал Coin F ox, характерны такие черты, как наличие интерфейса прикладного программирования для разработчиков (есть у всех) и широкий набор плагинов для объединения с уже существующим торговым ПО. Более того, мобильные версии и многопользовательский режим позволяют принимать биткоины, будучи таксистом или торгуя на рынке.

BitPay

  • возможность принимать платежи в биткоинах с помощью приложений для смартфонов и планшетов на iOS и Android
  • возможность интеграции с многочисленными платформами для электронной коммерции
  • простота добавления функции биткоин-платежей на сайт магазина
  • многопользовательский режим
  • первые 30 дней без комиссии за конвертацию валют

GoCoin

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

Cryptopay

  • печать QR-кода для приема оплаты
  • несложная установка кнопки на сайт
  • интерфейс прикладного программирования на языках Ruby, Node.js, PHP, C# и Python
  • комиссия взимается не с транзакций, а при выводе денег со счета

BitPagos

География: Латинская Америка

  • единое ПО для приема платежей фиатной валютой с пластиковых карт и в биткоинах
  • несложная установка кнопки на сайт
  • специальное приложение BitBookings для предприятий гостиничного и ресторанного бизнеса, доступное на компьютерах, смартфонах и планшетах

Coinify

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

Отдельной строкой можно выделить популярный сервис Blockchain, вся система которого сводится к API для приема платежей с веб-сайта в биткоин-кошелек.

Blockchain

География: весь мир

  • подойдет тем, кому не нужна мгновенная конвертация биткоина в фиатные валюты
  • нет регистрации, нет комиссий

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

Редактор сообщества DeCenter, посвящённого блокчейну, криптовалютам и децентрализованным системам.

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

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

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

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

Первая рабочая версия биткойна стала доступна в 2009 году и использовалась в сравнительно узком кругу гиков и программистов. Цена одного биткойна на тот момент составляла около 0,001 доллара. К 2011 году цена сравнялась с ценой доллара. Со временем курс продолжал расти. Технология привлекала всё больше новых пользователей, а многие экономисты оценили её перспективы. Год назад один биткойн стоил около 600 долларов, сейчас его цена составляет около 2 500 долларов.

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

За каждый созданный блок они получают долю от комиссии с каждой транзакции и вознаграждение системы. Сложность майнинга автоматически регулируется каждые две недели в зависимости от общего числа появившихся за это время блоков. Чтобы майнинг приносил доход, требуется мощное оборудование. Обычно для этого используются вычислительные мощности видеокарт, но сейчас из-за повышенного спроса цены на них сильно выросли, что понижает время окупаемости и повышает сложность майнинга.

Поэтому не спешите закупаться видеокартами. Резкие скачки в этой сфере — обычное явление. Если сегодня на волне хайпа кто-то покупает видеокарту за 50 тысяч рублей, не исключено, что завтра он будет спешно продавать её на Avito за 20 тысяч.

Заниматься добычей биткойна актуально только в промышленных масштабах с использованием специального оборудования. Майнеры-любители давно перешли на более простые и молодые криптовалюты, которые массово стали появляться с ростом популярности биткойна.

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

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

Лайткойн — усовершенствованная копия первой криптовалюты с минимальными косметическими изменениями. Основные особенности: улучшенный алгоритм расчётов, который не предоставляет явных преимуществ владельцам сверхпроизводительного оборудования, ставя их в один ряд с простыми пользователями, а также высокая скорость транзакций. Цена лайткойна на данный момент составляет около 40 долларов.

Эфириум (Ethereum) — платформа для создания децентрализованных онлайн-сервисов на базе блокчейна. В отличие от других криптовалют, авторы не ограничивают его роль платежами, а предлагают в качестве средства для обмена ресурсами или регистрации сделок с активами при помощи умных контрактов.

Умный контракт — электронный алгоритм, описывающий набор условий, выполнение которых влечёт за собой некоторые события в реальном мире или цифровых системах.

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

Читайте также:  Как подделать Биткоин

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

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

Сделать это можно на сайте blockchain.info.

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

Не забудьте позаботиться о безопасности, привязать почту, включить двухфакторную аутентификацию и записать секретную фразу для восстановления.

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

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

Если вы отправите деньги мошеннику или совершите опечатку в адресе, вернуть средства не получится.

Если же вы пионер биткойн-движения в вашем окружении, вы можете купить валюту на бирже. Одна из самых удобных для покупки в России — btc-e.nz. Она не требует идентификации и позволяет пополнить баланс с помощью привычных электронных кошельков.

Также можно воспользоваться проверенными обменниками, которые работают с криптовалютой:

Купить или обменять альткойны можно на криптовалютных биржах. Самая известная из них — Poloniex. Проще всего обменять одну валюту на другую через сервис shapeshift.io.

Для хранения существуют также альтернативные кошельки, например BitPay, хотя это не самый безопасный способ хранения большого объёма криптовалюты.

Наиболее надёжный метод — холодное хранение. Вот несколько его разновидностей:

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

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

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

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

Сейчас этот метод наиболее популярен среди пользователей. Информация помещается на маленькие устройства, стойкие к влаге и вирусам, которые могут поддерживать мультисигнатурный метод хранения. Они удобны для операций с цифровой валютой, имеют функцию резервного копирования и QR-камеру. Пример такого устройства — Ledger Nano S.

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

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

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