Принимаем оплату в bitcoin: Часть первая, теоретическая

Интернет полон статей о том, какое прекрасное будущее готовит нам blockchain, как это "стильно, модно и инновационно". Однако информации, как практически воспользоваться всем этим великолепием, крайне мало. Попробуем частично восполнить этот пробел.

Рассмотрим основные вехи большого пути на примере интеграции bitcoin в качестве способа приема платежей.  

Предположим вы - разработчик, и ваш продвинутый и небедный заказчик, начитавшись о том как круто принимать платежи в криптовалюте, пришел к вам с простенькой просьбой - "А прикрути-ка нам биткоин!".

Для начала попробую отбить у вас желание заниматься этим неблагодарным делом. 

Вот неполный список проблем, с которыми вы столкнетесь: 

-постоянно меняющийся курс 

-время прохождения транзакции по сети

-полное отсутствие контроля над суммой, которую отправляет покупатель 

-отсутствие внятного и прозрачного механизма, который позволит просто организовать отслеживание платежа


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

Тогда  для начала рассмотрим, как, собственно, мы будем принимать платежи. Как всегда, есть как минимум два пути. Первый, относительно простой, мало чем отличающийся от интеграции, например, PayPal или Privat24. Воспользоваться готовым сервисом, например - bitpay. Сервисов таких немало, многие из них, помимо bitcoin, позволяют принимать несколько разных криптовалют. Все прозаично и достаточно просто, документация и примеры есть чаще всего на сайте сервиса в достаточном объеме.

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


Поэтому рассмотрим второй путь, полный трудностей, проблем и неочевидных решений

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

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

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

Программное обеспечение сайта продавца формирует специальную форму, чаще всего именуемую SCI (Shopping Cart interface). После клика по кнопке "Оплатить" эта форма перенаправит покупателя на сайт платежной системы (к примеру PayPal), с заранее заданными данными о платеже. Очевидно это будет как минимум - номер заказа, сумма к оплате и, вероятно, какое-то примечание к платежу, например "Инвойс за теннисные мячики №00012". 

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

Что нам важно в этой последовательности? 

Три ключевых момента. 

Первое - сумма оплаты задается продавцом. 

Второе -платеж происходит с достаточно точной идентификацией за какой именно заказ. 

И третье - уведомление, которое получает сервер продавца практически невозможно подделать. 


Такая система сформировалась не сразу, но в более-менее похожей форме она реализована в большинстве платежных шлюзов и электронных платежных систем, таких как Skrill или PayPal. 


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

Во-первых, в bitcoin (и во всех криптовалютах, построенных на его основе) нет прямого способа, позволяющего передать идентификатор платежа. 

Во-вторых - вы практически не контролируете, какую сумму отправит пользователь (с небольшими оговорками).


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

Вы получаете новый адрес bitcoin и передаете его пользователю, вместе с рассчитанной суммой к оплате. Хорошим тоном считается указывать на протяжении какого времени платежные реквизиты валидны (мы ведь помним, курс криптовалют очень нестабилен), обычно это 15 минут. Далее, вы регулярно проверяете состояние этого адреса, получена ли на него необходимая сумма или нет. В случае, если сумма поступила - платеж можно считать совершившимся, и перейти к обработке дальнейшей заказа (отправка товара, пополнение мобильного счета и так далее)

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

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

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


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

Читайте также

7382018-08-15

Сколько можно заработать на трейдинге начинающему инвестору. Часть тринадцатая. Трейдинг (продолжение)

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

Обучение
3122018-09-23

Сколько можно заработать на трейдинге начинающему инвестору. Часть двадцать вторая. Трейдинг (продолжение)

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

Обучение

Последние статьи из раздела Обучение

Свежее видео на канале

Выбор редакции

135592017-12-13

Bitcoin: пирамида или нет?

С января 2009 года, когда был сгенерирован первый генезиз-блок bitcoin-сети, прошло уже девять лет, но до сих пор всякого рода "эксперты" ломают копья в спорах: являются ли криптовалюты финансовой пирамидой или нет. Быстрый рост доходности bitcoin и прибыли тех, кто раньше стал участником этой системы, пугает схожестью с пирамидами 90-х.

Bitcoin
105462018-04-28

on-chain и off-chain управление: за и против

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

Blockchain
69942018-07-28

Грузинская криптокухня. Выбираем блюда

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

Право, Майнинг, Регуляторы
55972018-06-24

Поиск серых майнеров в недрах Chrome и Opera

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

Безопасность
32492018-09-12

Три быка, которые могут спасти крипторынок

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

Мнение
31292018-06-08

Принимаем оплату в bitcoin: Часть первая, теоретическая

Интернет полон статей о том, какое прекрасное будущее готовит нам blockchain, как это "стильно, модно и инновационно". Однако информации, как практически воспользоваться всем этим великолепием, крайне мало. Попробуем частично восполнить этот пробел.

Обучение