[JavaScript, Node.JS, Финансы в IT] Принимаем криптовалютные платежи с Coinbase Commerce
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Если Вы планиуете подключать криптовалютные платежи и еще не знакомы с Coinbase Commerce, стоит потратить 5 минуты Вашего времени. Расскажу о подключении, настройке и поделюсь готовым open source решениями для Nodejs.
Coinbase Commerce — это крипто-эквайринг без комиссий, паспортов, с отличным API и Вашим личным счетом.
Привет, Хабр!
Для приложения мы с командой выбирали крипто-эквайринг из нескольких вариантов. Все компании берут комиссию, имеют посредственное API и различаются условиями, это стандартный набор для фиатного приема средств.
Главный вопросом был выбор сервиса, который подходит для целевой аудитории. В нашем случае, целевая аудитория — это "штаты". Как известно, есть Америка и есть остальной мир, поэтому количество сервисов, которые нам подходят, быстро уменьшилось.
Список доступных криптовалют: USD Coin, Dai, Bitcoin, Bitcoin Cash, Ethereum, Litecoin
Coinbase Commerce (далее — CC).
Плюсы и минусы
- Быстрая настройка
- Нет комиссий — клиент переводит деньги напрямую на Ваш счет
- Принимает стейблкоины USD Coin & DAI, а также много других
- Глобальный сервис — у Америки в приоритете биржа "Coinbase", имеет фактор доверия даже со стороны государства. Для всего остального мира не принципиально
- Нет посредников. Только Ваш кошелек и Ваш аккаунт
- Отсутствие возвратных платежей. Конечно, клиенту можно вернуть средства по требованию, но это на Ваше усмотрение
- Тестирование хуков — с панели сервиса можно отправлять тестовые вебхуки
Минусов почти нет, кромне одного и он весомый. Чтобы полноценно протестировать работу приложения, нужно использовать свои деньги. Да, хуки вы можете отправлять и "напильником" подогнать работу, однако этого не достаточно для продакшн-версии.
Регистрация
Процесс проходит в 5 этапов.
- Регистрация аккаунта email + пароль
- Подключение 2х этапной верификации
- Настройка кошелька
- Бекап кошелька
- Доступ к интерфейсу и прием платежей
Подключение 2х этапной верификации
Настройка кошелька
При создании кошелька, CC генерирует seed-фразы, которые нужно сохранить.
После ручного ввода seed-фраз, CC предлагает использовать Google Drive для бекапа кошелька.
Доступ к интерфейсу и прием платежей
Прием платежей
Есть два способа приема платежей, мы рассмотрим оба.
- С использованием интерфейса — фиксированная оплата за товар\услугу или пожертвования. Не требует навыков программирования, подходит всем.
- С использованием API — более сложный вариант, требующий настройки бэкенда. Позволяет создавать динамические платежи.
С использованием интерфейса
Создание позиции товара\услуги с фиксированной ценой.
Прием пожертвований.
Последним этапом, CC предлагает выбрать, какую информацию о пользователе будет собирать.
После того, как создаем позицию для оплаты, система нам предлагает варианты интеграции (ссылка или скрипт).
// link
// https://commerce.coinbase.com/checkout/<id>
<a href="https://commerce.coinbase.com/checkout/<id>" target="_blank">
// embed
<div>
<a class="buy-with-crypto"
href="https://commerce.coinbase.com/checkout/<id>">Buy with Crypto</a>
<script src="https://commerce.coinbase.com/v1/checkout.js?version=201807">
</script>
</div>
С использованием API
Вариант с API формирует платежку вручную и она активна ограниченное количество времени.
Схема работы
С клиента передаем информацию о сумме платежа на сервер, далее формируем временный
"checkout" и возвращаем ссылку https://commerce.coinbase.com/checkout/<id> на клиент, по которой пользователь переходит на страницу оплаты или происходит автоматическая переадресация.
В случае успешной оплаты, отмены или, если время платежки истечет, CC направит информацию на вебхук.
Настройка WebHook
Необходимо добавить url публичного вебхука Settings => Webhook subscriptions.
Протестировать работу вебхука можно на бесплатном сервисе Webhook.site.
Для локальной разработки нужно использовать модуль, который локальную точку доступа сделает публичной, например модуль Ngrok.
// install
$ npm install ngrok -g
// `http://localhost:3000/coinbase-webhook` => `https://<ngrok-host>/coinbase-webhook`
$ ngrok http 3000
Как вариант, можно использовать пример ответа вебхука с сайта Webhook.site и далее отправлять через Postman на локальную точку доступа.
После добавления вебхука, его можно протестировать. Интерфейс позволяет менять только события: charge:created, charge:confirmed, charge:failed, charge:delayed, charge:pending, charge:resolved.
Документация Webhook
Open Source
Подготовил вариант c использованием API — coinbase-commerce-node.
Заключение
В целом, мне понравилась интеграции Coinbase Commerce. Поделитесь своим опытом подключения платежей для приложений.
Спасибо за внимание!
===========
Источник:
habr.com
===========
Похожие новости:
- [Node.JS, Разработка на Raspberry Pi] Raspberry pi & Азбука Морзе
- [JavaScript, Развитие стартапа, Разработка веб-сайтов] Как быстро создать Bootstrap-сайт для бизнеса: 6 полезных инструментов
- [Финансы в IT] Стоимость IT-компаний США превысила капитализацию всего фондового рынка Евросоюза
- [Google Chrome, JavaScript, Софт] Используем Chrome DevTools профессионально (перевод)
- [JavaScript, Программирование] Compose повсюду: композиция функций в JavaScript (перевод)
- [Управление продуктом, Брендинг, Финансы в IT] Презентация Сбербанка: новый логотип, SberPay, голосовой помощник, магазин приложений
- [Python, Node.JS, Машинное обучение] Machine learning in browser: ways to cook up a model
- [Интернет-маркетинг, Финансы в IT] Подписки на цифровые сервисы в России подорожают на треть после пандемии
- [JavaScript, Open source] Создание модуля на фреймворке Htmlix
- [Финансы в IT] Сбербанк купит музыкальный сервис и создаст «СберЗвук»
Теги для поиска: #_javascript, #_node.js, #_finansy_v_it (Финансы в IT), #_coinbase, #_coinbase_commerce, #_crypto, #_cryptocurrency, #_node, #_javascript, #_payments, #_javascript, #_node.js, #_finansy_v_it (
Финансы в IT
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:17
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Если Вы планиуете подключать криптовалютные платежи и еще не знакомы с Coinbase Commerce, стоит потратить 5 минуты Вашего времени. Расскажу о подключении, настройке и поделюсь готовым open source решениями для Nodejs. Coinbase Commerce — это крипто-эквайринг без комиссий, паспортов, с отличным API и Вашим личным счетом. Привет, Хабр! Для приложения мы с командой выбирали крипто-эквайринг из нескольких вариантов. Все компании берут комиссию, имеют посредственное API и различаются условиями, это стандартный набор для фиатного приема средств. Главный вопросом был выбор сервиса, который подходит для целевой аудитории. В нашем случае, целевая аудитория — это "штаты". Как известно, есть Америка и есть остальной мир, поэтому количество сервисов, которые нам подходят, быстро уменьшилось. Список доступных криптовалют: USD Coin, Dai, Bitcoin, Bitcoin Cash, Ethereum, Litecoin Coinbase Commerce (далее — CC). Плюсы и минусы
Минусов почти нет, кромне одного и он весомый. Чтобы полноценно протестировать работу приложения, нужно использовать свои деньги. Да, хуки вы можете отправлять и "напильником" подогнать работу, однако этого не достаточно для продакшн-версии. Регистрация Процесс проходит в 5 этапов.
Подключение 2х этапной верификации Настройка кошелька При создании кошелька, CC генерирует seed-фразы, которые нужно сохранить. После ручного ввода seed-фраз, CC предлагает использовать Google Drive для бекапа кошелька. Доступ к интерфейсу и прием платежей Прием платежей Есть два способа приема платежей, мы рассмотрим оба.
С использованием интерфейса Создание позиции товара\услуги с фиксированной ценой. Прием пожертвований. Последним этапом, CC предлагает выбрать, какую информацию о пользователе будет собирать. После того, как создаем позицию для оплаты, система нам предлагает варианты интеграции (ссылка или скрипт). // link
// https://commerce.coinbase.com/checkout/<id> <a href="https://commerce.coinbase.com/checkout/<id>" target="_blank"> // embed <div> <a class="buy-with-crypto" href="https://commerce.coinbase.com/checkout/<id>">Buy with Crypto</a> <script src="https://commerce.coinbase.com/v1/checkout.js?version=201807"> </script> </div> С использованием API Вариант с API формирует платежку вручную и она активна ограниченное количество времени. Схема работы С клиента передаем информацию о сумме платежа на сервер, далее формируем временный "checkout" и возвращаем ссылку https://commerce.coinbase.com/checkout/<id> на клиент, по которой пользователь переходит на страницу оплаты или происходит автоматическая переадресация. В случае успешной оплаты, отмены или, если время платежки истечет, CC направит информацию на вебхук. Настройка WebHook Необходимо добавить url публичного вебхука Settings => Webhook subscriptions. Протестировать работу вебхука можно на бесплатном сервисе Webhook.site. Для локальной разработки нужно использовать модуль, который локальную точку доступа сделает публичной, например модуль Ngrok. // install
$ npm install ngrok -g // `http://localhost:3000/coinbase-webhook` => `https://<ngrok-host>/coinbase-webhook` $ ngrok http 3000 Как вариант, можно использовать пример ответа вебхука с сайта Webhook.site и далее отправлять через Postman на локальную точку доступа. После добавления вебхука, его можно протестировать. Интерфейс позволяет менять только события: charge:created, charge:confirmed, charge:failed, charge:delayed, charge:pending, charge:resolved. Документация Webhook Open Source Подготовил вариант c использованием API — coinbase-commerce-node. Заключение В целом, мне понравилась интеграции Coinbase Commerce. Поделитесь своим опытом подключения платежей для приложений. Спасибо за внимание! =========== Источник: habr.com =========== Похожие новости:
Финансы в IT ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:17
Часовой пояс: UTC + 5