Биткоин привлекает всё больше внимания, а технологии блокчейн прогнозируют светлое будущее. У текущей моды на криптовалюты масса обоснованных плюсов:
- Безопасные онлайн-платежи: здесь отсутствует фрод и чарджбеки. Сеть устроена так, что отправленный платеж вернуть нельзя, достоверность транзакции подтверждают пользователи по всему миру, а каждая транзакция шифруется.
- Выгодные комиссии: стоимость проведения платежа не превышает 1%. И чем больше сумма перевода — тем меньше потери.
- Анонимность: средства клиентов не контролируют банки — никто не вправе блокировать транзакцию или добавить лишнюю комиссию.
- Платежи без ограничений: транзакции проводятся в неограниченных объемах, чего не позволяют другие платежные средства.
Существует множество сервисов, позволяющих принимать биткоины и другие валюты. Лишь малая часть из них:
- Blockchain (ключ для работы с API выдаётся по заявке).
- Coinbase (необходимо заполнить заявку и дождаться одобрения).
- Bitaps (открытое API).
- Cryptonator.
Подключили оплату через API сервиса Bitaps оказалось сделать проще. Если у Blockchain требуется писать заявку и ждать одобрения три банковских дня, то здесь изначально можно подключиться самостоятельно. В API найдётся всё необходимое для этого.
Приём платежей
При формировании счета для клиента надо сгенерировать и мониторить уникальный адрес (временный кошелек) для каждого платежа. Как только платёж подтверждён сетью, сервер API перечисляет биткоины с временного кошелька на указанный кошелек (свой или корпоративный, куда вам удобно будет получать средства).
У каждого сервиса свой API, но выглядит схема примерно одинаково:
- Сгенерируйте платеж, обратившись по специальной ссылке и передав параметры.
- Создайте биткоин-адрес продавца, на который будут пересылаться деньги.
- Создайте ссылку вашей системы (callback), которая будет вызываться при подтверждении платежа.
- Укажите количество принятых подтверждений платежа в сети Bitcoin (опциональное поле, по умолчанию — 3).
- Определите уровень комиссии сети (опциональное поле, по умолчанию — low). Чем он выше, тем быстрее произойдет перевод.
В итоге получается сгенерированный адрес для приёма оплаты, код платежа и счёт. Код вы используете в базе данных для записи, сортировки или поиска информации о платежах. Счёт может быть отправлен покупателю или использован для платёжной формы.
После зачисления средств по указанному счету происходит подтверждение в сети Bitcoin. На каждое подтверждение отправляется обращение к callback и передаются параметры, чтобы опознать платеж. При получении последнего подтверждения надо выполнить заказ или услугу клиента. Сумма передается в сатоши — самой маленькой части биткоина.
Для конвертации используйте методы получения курсов валют. Курс часто меняется, поэтому получите его во время зачисления и сделайте конвертацию.
Пример на языке PHP
Количество подтверждений
Необходимое количество подтверждений зависит от модели риска, клиентов и сумм. Если вы доверяете клиентам, то принимайте платежи без подтверждений или с одним подтверждением. При небольших переводах трех подтверждений достаточно.
Шесть подтверждений математически невозможно подделать, не имея 51% вычислительной мощности сети. Чем больше подтверждений необходимо, тем больше комиссия и время ожидания. В среднем платеж проходит 15-20 минут, а оплата для клиента будет выглядеть следующим образом:
- Выбор товара или услуги.
- Выставление счета клиенту (вывод на странице номера кошелька и суммы, необходимой для оплаты).
- Перевод средств клиентом.
- Ожидание трех подтверждений и завершение заказа или услуги (в нашем случае это пополнение счета рекламного кабинета).
Важные замечания
- Кроме комиссии сервиса приема платежей, существует биткоин-комиссия за перевод с временного кошелька на указанный вами. Об этом нигде, к сожалению, не написано, поэтому рекомендуем не проводить мелкие платежи. В нашей сети установлено минимальное пополнение — 1000 рублей.
- Курс биткоина, как и других криптовалют, ощутимо меняется каждую секунду. Рекомендуем пересчитывать курс и как можно чаще выводить биткоин в реальную валюту. Конечно, это работает для тех случаев, если вам важно работать с реальной валютой, конвертируя биткоин по курсу.
- Не каждый блокчейн-сервис разрешает использовать API для приема платежей без подтверждения. Критерии приема в тот или иной сервис неизвестны, поэтому подавайте заявки в несколько мест.
- В каждом сервисе комиссии на прием платежей отличаются. Изучите детально каждый, прежде чем решите подключиться.
- Не выставляйте число обязательных подтверждений для выполнения оплаты выше шести. Это приведет к большему времени ожидания для клиента и негативным отзывам. Для безопасности хватит трех.
- При уровне комиссии low перевод средств занимает тридцать минут. Если желаете сэкономить покупателям средства, не увеличивайте уровень комиссии.