Плагин оплаты криптовалютой TON для магазина WooCommerce

Как сделать платежи для сайта или магазина на базе WordPress & WooCommerce криптовалютой через блокчейн TON (Toncoin, The Open Network)?

Начнем сразу с того что получилось:

репо с кодом тут https://github.com/uptimizt/ton-gateway

тест продукт который можно купить через TON

Предпосылки

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

Тут на днях попробовал купить виртуальный номер NFT для привязки к Телеграм (это безопаснее и лучше работает если живешь за рубежом). Оказалось что платформа Fragment отлично работает и опыт оплаты через TON очень удобен и похож на Google Pay & Apple Pay.

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

Изучив эту тему решил выяснить как написать плагин для сайтов WordPress & магазинов WooCommerce так чтобы оплата была криптовалютой и через блокчейн.

Первые эксперименты в тупик

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

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

Далее нашел мару точек входа микросервисов в которых можно сгенерировать токены и далее написать свою логику мониторинга. Это лучше но все равно надо писать генератор QR и веб хуки.

Затем подсказали готовый мерчант сервис для TON где все это было готово и надо было лишь написать плагин. Вот этот вариант и получилось реализовать.

Основные тезисы

  • это типичный шлюз оплаты для WooCommerce
  • интеграция в готовый мерчант сервис Telepay
  • авторизация через Телеграм
  • если приходит платеж — бот сообщает в Телеграм
Настройки типичные для шлюзов оплаты WooCommerce

Авто конвертер валюты в TON

Сразу же оказалось что в мерчант надо передавать сумму в TON. А на сайте рубли, или например тенге.

Благо сам сервис отдает хотя бы курс для USD.

Далее добавил опцию для конвертации валюты сайта в USD и затем в TON.

function get_ton_amount_for_current_currency($amount)
{
  $ton_price_in_usd = $this->get_ton_usd_price();
  $usd_price = $this->get_option('currency_price_for_usd');
  return strval(round($amount * $usd_price / $ton_price_in_usd, 3));
}

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

Схема работы с точки зрения покупателя

  • Покупатель ставит себе один из кошельков https://ton.org/en/wallets
    • обычно это Tonkeeper или Tonhub для мобильных
    • на декстопе обычно используется Wallet веб версия или расширение для браузера
    • можно без кошелька работать через бота в Телеграм https://t.me/wallet
  • Пополнить кошелек и закупить криптовалюту можно через карту если вы зарубежом или есть p2p в Телеграм боте и можно закупаться через любой банк
  • Далее при оплате генерируется ссылка и QR код — оплатить можно по TON адресу или через мобильный кошелек и QR код

Преимущества для покупателя и продавца

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

Итого

Пока готова тестовая версия которую еще нужно будет обкатать.

Сразу уже виден ряд задач которые надо будет дописать в будущих версиях:

  • апдейт статуса заказа через вебхук
  • вероятно стоит перенести часть настроек из WooCommerce в WP Settings API и сделать шорткод или блок для генерации формы оплаты под какие то сборы

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

Источник: https://wpcraft.ru/blog/ton-blockchain-plugin-wordpress-woocommerce/

%d такие блоггеры, как: