Как принимать криптовалюту в магазине на WooCommerce

Обновлено September 8, 2026

Магазин на WooCommerce подключает приём криптовалюты одним из четырёх способов: плагином, размещённой платёжной страницей, платёжной ссылкой или напрямую через API. Для типового магазина плагин закрывает задачу меньше чем за два часа после проверки бизнеса. Ниже — порядок установки с Speend, разбор четырёх отказов и стоимость платёжного процессинга по замеру.

Что показывает каталог плагинов

На примерно 7 000 000 активных установок WooCommerce приходится около 26 000 установок плагинов приёма криптовалюты — порядка 0,37%. Криптовалюту принимает примерно каждый двести семидесятый магазин.

Цифры собраны по открытому каталогу wordpress.org, из которого отобран 121 плагин с функцией приёма криптовалюты на WordPress. Шлюзы «карта на входе, стейблкоин на выходе» и плагины внутренних кошельков в счёт не идут: задача у них другая. Установки каталог округляет до порядка, так что все суммы здесь оценка масштаба, а не подсчёт.

Сегмент собран вокруг нескольких имён. Пять плагинов держат 18 000 установок из 26 000, то есть 69% всего, что связано с криптовалютой и работает сейчас на WooCommerce.

Видимость в поиске и установленная база расходятся, и в этом смысл замера. У Coinsnap 60 активных установок, а его плагин стоит вторым по запросу woocommerce bitcoin plugin. У GoUrl около 1200 установок в двух плагинах, которых не касались с 2023 и 2024 годов, и один из них держит седьмую строку по woocommerce bitcoin gateway. Позиция в выдаче о состоянии кода не сообщает ничего.

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

ПлагинАктивных установокОбновлёнЗаявлена совместимость
MyCryptoCheckout800019.08.20267.1
NOWPayments for WooCommerce400025.08.20267.1
Coinbase Commerce400031.05.20246.5.10
Blockonomics200003.08.20267.0.4
BTCPay Greenfield100018.08.20267.0.4
CoinPayments.net100002.05.20256.2.11
GoUrl (два плагина)700 + 50013.04.2024 / 27.10.20236.6.7 / 6.4.10
Cryptocurrency Payment Gateway40001.04.20267.0.4
Crypto.com Pay Checkout30030.04.20256.7.7
TripleA20006.03.20266.9.7
CryptoPay Lite10015.07.20267.0.4
Coinsnap for WooCommerce6005.06.20267.0.4
Coinremitter1005.08.20267.0.4

Данные каталога на 4 сентября 2026 года. Актуальная версия WordPress — 7.1, WooCommerce — v11.1.0 от 3 сентября 2026 года.

Тринадцать плагинов, которые перестали обновлять

Тринадцать плагинов из 121 не получали релиза год и дольше. Вместе они держат около 7600 активных установок, или 29% сегмента. Почти каждый третий магазин, который принимает криптовалюту на WooCommerce, работает на коде, для которого больше года не выходило исправлений.

Платёжный плагин — неудачное место для заброшенного кода. Он подписывает запросы, принимает вебхуки, переводит заказ между статусами и пишет в карточку заказа. Когда WordPress или WooCommerce меняет интерфейс, у поддерживаемого плагина выходит релиз, а у брошенного открывается тема на форуме поддержки. Проверить это можно до установки: дата последнего релиза, значение «tested up to» и свежесть ответов в форуме поддержки лежат в каталоге открыто. Шесть плагинов из таблицы выше называют версию WordPress, отставшую от 7.1 минимум на два минорных релиза.

Магазину, который уже сидит на таком плагине, стоит начать с проверки. Оформите тестовый заказ и доведите его до оплаченного: если статус не меняется сам, шлюз давно оторвался от админки, и часть платежей проходит мимо учёта. Дальше выбор небольшой. Либо в каталоге появляется свежий релиз, либо магазину нужен другой шлюз, и переезд лучше планировать до следующего обновления ядра, не после него.

Плагин Coinbase Commerce и четыре тысячи магазинов

У плагина Coinbase Commerce 4000 активных установок, последнее обновление от 31 мая 2024 года и заявленная совместимость до WordPress 6.5.10. Продукта, к которому он подключается, для большинства этих магазинов больше нет.

Coinbase закрыл мерчантский портал Commerce 31 марта 2026 года для мерчантов за пределами США и Сингапура и свёл продукт в Coinbase Business, который стартовал в этих двух странах с заявленной поэтапной раскаткой в течение 2026 года. Остальным предложили перейти к другому провайдеру до этой даты. Плагин при этом остался в каталоге вместе со счётчиком установок.

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

Четыре способа подключить приём

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

СпособКому подходитЧто нужноДо первого платежа
ПлагинТиповой чекаут WooCommerce, классический или блочныйЗагрузка ZIP, ключи из дашбордаМеньше двух часов после проверки
Размещённая платёжная страницаМагазинам, которым удобно вынести оплату со своего доменаСсылка из дашбордаМинуты
Платёжная ссылкаСчетам, предзаказам, продажам вне каталогаСсылка под суммуМинуты
REST APIКастомному или headless-чекауту, нестандартному потоку заказовРазработка под api.speend.ioНесколько дней

До любого из четырёх нужны две вещи: открытый мерчантский аккаунт и домен магазина, зарегистрированный у провайдера. Проверка бизнеса (KYB) занимает от одного до трёх рабочих дней с момента получения документов и стоит перед всем остальным. Плагин Speend для WooCommerce распространяется пакетом для загрузки, а в разделе плагинов для CMS названы Shopify и Magento: они работают на том же аккаунте, хотя отдельных страниц у них пока нет.

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

Эти же два способа выручают там, где магазин продаёт мимо каталога. Счёт на нестандартную сборку, предоплата по договорённости, продажа в переписке — под каждый такой случай ссылка выставляется под конкретную сумму, и заводить ради этого товар в WooCommerce не нужно. Сравнение способов по платформам вынесено в материал о том, как принимать криптовалюту.

Когда хватает плагина, а когда нужен API

Плагин закрывает магазин, где корзина, чекаут и карточка заказа принадлежат WooCommerce. Он рисуется внутри штатного чекаута, пишет примечания к заказу и сам переводит заказ между статусами. Разработчик в этом сценарии не нужен.

API становится ответом в трёх случаях. Первый — headless или сильно переделанный чекаут, где шаг оплаты рисует ваш фронтенд. Второй — поток заказов, который начинается вне магазина: счета выставляет CRM или бэк-офис, а с WooCommerce они сверяются позже. Третий — постоянные адреса под каждого покупателя, когда клиент депонирует на один и тот же кошелёк вместо нового счёта под каждый заказ.

Выбор упирается в то, кому принадлежит чекаут. Оборот на него влияет мало: магазин с большим оборотом и штатным чекаутом остаётся на плагине, а маленький магазин с самописным фронтендом уходит в API. Лимиты по транзакции устанавливаются индивидуально и зависят от актива, профиля мерчанта и результата проверки, поэтому на этот выбор они обычно не влияют.

Установка: требования и порядок

Пакету нужны WordPress 5.8 или новее, WooCommerce 6.0 или новее и PHP 7.4 или новее с включёнными расширениями curl и json. Устанавливается он загрузкой ZIP: пакет Speend Payments v1.2.0 скачивается со страницы плагина и загружается через админку WordPress.

Поиск в разделе «Плагины → Добавить новый» его не найдёт. Пакет раздаётся с домена провайдера, минуя каталог wordpress.org, — так же поставляют свои шлюзы CryptAPI, CCPayment и Coinremitter, выкладывая их на GitHub. Загрузка архива — штатный для WordPress способ, и добавляет она ровно один клик.

  1. Откройте страницу плагина и скачайте текущий пакет. Рядом с файлом опубликована контрольная сумма, так что архив можно сверить до того, как он попадёт на сайт.
  2. В админке WordPress пройдите «Плагины → Добавить новый → Загрузить плагин», выберите ZIP, установите, активируйте.
  3. Войдите в мерчантский дашборд и зарегистрируйте домен магазина. Плагин авторизуется по домену, и запрос с незарегистрированного хоста отклоняется.
  4. Скопируйте Merchant UUID и API-ключ из дашборда в настройки плагина.
  5. Скопируйте Withdrawal API key, если из админки WooCommerce нужны возвраты. Без этого ключа возврат выключен.
  6. Задайте пароль вебхука, если хотите, чтобы он входил в подпись обратного вызова.
  7. Сохраните. Плагин сам пропишет адрес вебхука и подтянет список доступных монет и сетей.

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

Ключи и вебхук

В дашборде живут четыре реквизита, и задачи у них разные. Merchant UUID идентифицирует аккаунт. API-ключ подписывает обычные запросы: создание счёта, чтение его статуса, получение списка монет и сетей. Withdrawal API key отдельный и разрешает деньгам уходить с баланса, поэтому от него зависят возвраты. Пароль вебхука необязателен и влияет только на подпись обратного вызова.

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

Доставка повторяется до семи раз на один статус. Плагин дедуплицирует вызовы по последнему применённому статусу, поэтому повтор по уже отработанному статусу ничего не меняет.

Настройка витрины и первый платёж

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

Режим оплаты — единственная из четырёх настроек с заметным для покупателя следствием. Redirect уводит его на размещённую платёжную страницу и возвращает в магазин после оплаты. Режим On-site (host-to-host) держит оплату внутри чекаута магазина. Redirect быстрее запускается, On-site оставляет покупателя на вашем домене на всём протяжении заказа. Зачисление в обоих режимах одинаковое.

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

Срок жизни счёта выбирается из значений 1, 2, 3, 4, 6, 8 и 12 часов, по умолчанию стоит 2. Внутри этого срока держится выставленная сумма. При коротком сроке окно, в котором курс успевает уйти, сужается, а длинный срок удобнее покупателю, которому сначала нужно вывести средства с биржи.

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

Что ломается после установки

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

Статусы приходят в обратных вызовах и доступны отдельным запросом:

  • process: счёт создан, ничего не пришло
  • check: депозит замечен, идут подтверждения сети
  • paid: счёт оплачен, заказ закрывается оплаченным
  • paid_over: пришло больше суммы счёта, заказ тоже закрывается оплаченным
  • wrong_amount_waiting: пришла часть суммы, остаток ещё ждём
  • wrong_amount: счёт закрылся с недоплатой
  • locked: транзакция удержана AML-проверкой, заказ уходит в ожидание до решения
  • cancel: счёт истёк или отменён без оплаты.

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

Хотите принимать криптоплатежи на своём сайте?

Быстрый KYC/KYB и подключение - комиссия от 0,5%

Связаться с нами

Заказ висит в ожидании, хотя платёж прошёл

Начните со статуса платежа. Если он check, депозит замечен и сеть ещё подтверждает перевод: заказ и должен стоять в ожидании, и он сдвинется сам, без вмешательства.

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

Отличить одно от другого помогает экран заказа. Плагин пишет примечание на каждый применённый статус, и по цепочке этих примечаний видно, на каком шаге всё встало: примечание про замеченный депозит есть, а про оплату нет — значит, до магазина дошёл вызов по check и не дошёл по paid. Полное отсутствие примечаний при живом счёте означает, что ни один вызов не был принят, и разбирать нужно доставку целиком.

Отдельный случай — статус locked. Он означает, что транзакцию удерживает AML-проверка, и до решения заказ остаётся в ожидании. Здесь ждать бесполезно и чинить нечего: вопрос закрывается перепиской с провайдером, а покупателю лучше сразу сказать, что оплата принята и проверяется.

Вебхуки перестали приходить

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

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

Третьим проверяют саму сверку подписи, и это касается только сайтов, где обратные вызовы разбирает самописный код вместо плагина. Хеш считается по телу запроса без поля sign, закодированному в base64, плюс API-ключ, плюс пароль вебхука. Порядок ключей в теле обязан сохраниться: пересборка тела перед хешированием переставит их и даст другой хеш. По этой причине самописная сверка чаще всего отвергает совершенно нормальный вызов.

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

Недоплата и переплата

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

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

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

Конфликт после обновления ядра WordPress

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

То же правило работает и в обратную сторону. Откладывать обновление ядра ради спокойствия платёжного плагина смысла нет: в релизах WordPress и WooCommerce закрываются уязвимости, а магазин с платёжным модулем остаётся заметной целью. Разумный порядок такой: сначала стенд, потом боевой магазин, и всё это в разумный срок после выхода релиза.

Совместимость, заявленная в метаданных обновления, у большинства шлюзов отстаёт от текущего релиза WordPress, и у этого плагина тоже. Значение из метаданных стоит читать как ориентир, а проверку делать руками — до обновления, не после:

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

Сколько это стоит

Стоимость складывается из трёх строк: комиссия провайдера, конвертация, если валюта расчёта отличается от того, чем заплатил покупатель, и комиссия сети. Базовая ставка от 0,5%, скрытых наценок сверх раскрытого курса нет. Плата за подключение и абонентская плата отсутствуют.

Автоконвертация считается по монете. Перевод биткоина в стейблкоин в момент получения стоит 0%. Для остальных монет конвертация в другую валюту вывода стоит 1%. На монетных страницах валютами расчёта названы USDT, USDC, EUR и USD.

Комиссия сети передаётся по стоимости блокчейна, без наценки, и зависит она от рельса и от дня, тогда как провайдер на неё не влияет. Замер от 4 сентября 2026 года:

  • Ethereum L1, USDT в сети ERC-20 новому получателю: $0,0136
  • TRON, USDT в сети TRC-20 новому получателю: $4,27
  • Solana, перевод SPL-токена: $0,0005

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

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

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

Возвраты

Возврат оформляется в криптовалюте из админки WooCommerce, с экрана заказа, там же, где оформлялся бы возврат по карте. Работает он только при сохранённом Withdrawal API key: без ключа функция выключена, и кнопка возврата ничего не делает.

У возврата свои статусы. refund_processing означает, что выплата в пути, refund_success помечает заказ возвращённым, refund_failed оставляет заказ нетронутым и требует посмотреть на баланс и на адрес получателя. Каждый возврат уходит переводом в сети и несёт комиссию того рельса, по которому идёт.

Средства до вывода лежат на балансе мерчанта у провайдера, и собственником остаётся мерчант. Вывод доступен по требованию: на самокастодиальный кошелёк, на биржевой аккаунт или на поддерживаемый банковский канал.

Кому подходит

Плагин подходит магазинам со штатным чекаутом WooCommerce, которым криптовалюта нужна дополнительным способом оплаты рядом с уже подключёнными. На странице приёма криптовалюты в интернет-магазине названы электроника и техника, цифровые товары и загрузки, подписки, трансграничная розница, товары с высоким чеком и люкс.

Магазинам с высоким чеком нужен один дополнительный разговор до запуска. Лимиты по транзакции устанавливаются индивидуально и зависят от актива, профиля мерчанта и результата проверки, поэтому свой потолок стоит подтвердить на онбординге, до первого крупного заказа.

Юрисдикция регистрации бизнеса выясняется на проверке. От того, где магазин продаёт и на каком языке публикуется, она не зависит. Этот вопрос закрывается документами KYB, и поднять его лучше заранее, если структура компании нестандартная.

Вопросы

Нужен ли для этого разработчик?
Нет, если магазин работает на штатном чекауте WooCommerce. Установка сводится к загрузке ZIP и четырём полям, скопированным из дашборда, правок в шаблонах и коде не требуется. Разработка появляется только на маршруте с API, который нужен кастомному или headless-чекауту. Администратор магазина проходит установку сам, а помощь разработчика может понадобиться разве что при проверке лога PHP после обновления ядра.

Сколько времени занимает подключение целиком?
Проверка бизнеса идёт от одного до трёх рабочих дней с момента подачи документов, сторона WordPress занимает меньше двух часов. Эти сроки не накладываются друг на друга: ключи выдаются после проверки, поэтому закончить настройку плагина раньше открытия аккаунта нельзя. Дату запуска считайте от подачи документов.

Что произойдёт, если покупатель отправит меньше суммы счёта?
Счёт останется открытым в статусе wrong_amount_waiting, и остаток ещё может прийти в пределах срока жизни счёта. Если срок истечёт с недобором, статус сменится на wrong_amount и заказ потребует ручного решения. Оплаченным заказ не станет ни в одном из двух случаев, так что автоматическая отгрузка по частичной оплате не запустится.

Можно ли вернуть деньги покупателю?
Да, в криптовалюте, с экрана заказа в WooCommerce. Сначала в настройках плагина должен быть сохранён отдельный Withdrawal API key, и каждый возврат несёт комиссию сети, по которой уходит. Аналога карточного чарджбэка здесь нет, поэтому возврат всегда остаётся осознанным действием со стороны магазина.

Что делать со скачком курса между заказом и оплатой?
Сумма зафиксирована на весь срок жизни счёта, который выбирается от 1 до 12 часов и по умолчанию равен 2. При автоконвертации остаток риска снимается в момент получения: входящий платёж сразу переводится в стейблкоин или другую валюту расчёта. Короткий срок вместе с автоконвертацией даёт более плотную связку, длинный удобнее покупателям, которые выводят средства с биржи.

Работает ли то же самое на Shopify и Magento?
Обе платформы поддерживаются на том же мерчантском аккаунте, с теми же ставками и вариантами расчёта. Отдельных страниц плагинов под них пока нет, поэтому подключение для этих платформ идёт через дашборд и поддержку.

Поделиться
Anna Kuznetsova
Автор

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