К содержимому

Сценарии

Приём криптовалюты в интернет-магазине

Оплата криптовалютой в WooCommerce, OpenCart, PrestaShop, Magento и Хорошоп: заказ сам меняет статус, когда платёж подтверждён. Bitcoin, USDT и другие активы.

CryptoLike превращает криптоплатёж в статус заказа. Покупатель выбирает оплату криптовалютой, платит на странице оплаты, и после подтверждения платежа заказ переходит в выбранный вами статус. Так это работает в WooCommerce, OpenCart, PrestaShop, Magento 2, Хорошоп и на собственном сайте через API.

Почему криптовалюту сложно связать с заказами магазина?

Для интернет-магазина сложность криптоплатежей не в кошельке, а в том, чтобы статус каждого заказа был верным. Перевод засчитывается только после подтверждений, а покупатель может отправить меньше, заплатить после срока или нажать «Оплатить» дважды. CryptoLike разбирает каждый такой случай, и никому в команде не нужно проверять блокчейн-обозреватель перед отправкой товара.

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

Как CryptoLike связывает платежи и заказы

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

  1. Заказ оформлен в статусе «ожидает оплаты», и плагин создаёт платёж на сумму заказа в его валюте (USD, EUR, UAH, GBP или CAD, все включены по умолчанию).
  2. Покупатель платит на странице оплаты: актив и сеть, сумма, адрес с QR-кодом, оставшееся время и живой статус. Если плагин не фиксирует монету, покупатель сначала выбирает одну из монет, доступных для инвойсов, и у каждой видит ориентировочную сумму со знаком ≈; список монет в плагине может сузить выбор, а у иконок USDT и USDC есть значок их сети. С виджетом оплаты та же страница открывается внутри вашего checkout.
  3. Приходит вебхук. Плагин проверяет подпись, применяет событие один раз по event_id и отвечает 200 только после того, как статус заказа записан.

Какой статус платежа становится каким статусом заказа?

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

Платёж Заказ
pending Ждёт; покупатель видит «Платёж обнаружен. Ожидаем подтверждения.»
paid Ваш статус оплаты (по умолчанию Processing в WooCommerce и OpenCart)
underpaid до срока На удержании; покупатель доплачивает на тот же адрес
underpaid после срока Проверка: отправить, попросить доплату или вернуть деньги
expired Отменён или остаётся в ожидании — по вашему выбору
Оплата после срока Проверка; деньги уже на вашем балансе
Отмена сетью после paid Проверка: не отправлять товар

Какие платформы поддерживает CryptoLike?

У CryptoLike есть плагины для четырёх CMS и подключение для Хорошоп без плагина, а магазины на своём коде используют REST API или SDK. Во всех вариантах одна и та же страница оплаты, одни и те же статусы и вебхуки. Версии в таблице — те, что указаны в документации каждого плагина.

Платформа Версии Как подключается
Плагин WooCommerce WooCommerce 7.0+, WordPress 6.1+, PHP 7.4–8.4; блочный и классический checkout Плагин
Модуль OpenCart 3.0.x и 4.0.x Расширение
Модуль PrestaShop 8.x; заявленный минимум 1.7.8 Модуль
Модуль Magento 2 2.4.6+, PHP 8.1–8.4, checkout Luma Модуль
Подключение Хорошоп Тарифы с доступом к API Без плагина; ссылка на оплату приходит покупателю письмом
Свой сайт REST API и SDK Ваш код

Как подключить магазин

Подключение магазина на CMS к CryptoLike — это пять шагов без разработчика. Тестовому режиму нужны ключ ck_test_ и тестовый URL API в настройках плагина (по умолчанию там рабочий; тестовый URL даст поддержка CryptoLike); тестовые ключи работают с тестовыми сетями. Плагин не примет ключ, префикс которого не совпадает с режимом, поэтому боевой магазин не сможет по ошибке принять тестовый платёж.

  1. Скачайте архив на странице интеграции и загрузите его в админке магазина.
  2. Попросите у поддержки CryptoLike доступ к тестовой среде и в её кабинете создайте ключ ck_test_ с правами create_invoice и read.
  3. Вставьте ID ключа и секрет (в тестовом режиме — и тестовый URL API) в настройки плагина и нажмите «Проверить соединение».
  4. Добавьте webhook URL плагина как эндпоинт в том же кабинете со всеми событиями invoice.* и вставьте его секрет в плагин.
  5. Оформите тестовый заказ, оплатите его в тестовой сети а затем повторите шаги 2–4 в своём кабинете с боевым ключом и URL API по умолчанию.

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

Вопросы и ответы

Что будет, если покупатель заплатил меньше суммы заказа?

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

Что, если покупатель заплатил после окончания срока?

CryptoLike всё равно зачисляет деньги на ваш баланс и отправляет invoice.late_payment. Плагин переводит заказ на проверку, а не в «оплачен»: вы решаете, выполнить заказ или вернуть деньги.

Может ли двойной клик создать два платежа на один заказ?

Нет. Плагины создают платежи с idempotency_by_order_id, поэтому повторный запрос по тому же заказу возвращает его открытый платёж, а не новый. Перезагрузка страницы, двойной клик или «Оплатить заказ» позже открывают ту же страницу оплаты, а заказ, по которому деньги уже пришли, новый платёж не получит.

Как подключить

В документации →

Гайды и статьи

Термины на странице

Начните с тестового платежа

Создайте аккаунт, попросите у поддержки доступ к тестовой среде и посмотрите, как платёж проходит путь от pending до paid в тестовой сети.