RU

Приём USDT в WooCommerce: криптовалютный платёжный плагин по шагам

Приём USDT в WooCommerce

Магазинам игровых ключей, подарочных карт, аккаунтов, курсов и других товаров всё чаще попадаются покупатели, которым удобнее заплатить криптой, и чаще всего — в USDT. В этом гайде — как добавить криптовалюту способом оплаты в WooCommerce: покупатель выбирает крипту на оформлении заказа, платит на странице SnapEX Pay в USDT в сетях TRON, Ethereum, BSC, Solana, TON, Polygon и других или другой монетой, и заказ сам переходит в Processing («Обработка»). Свой кошелёк и нода блокчейна не нужны — деньги приходят на баланс мерчанта SnapEX Pay в USDT.

Как проходит платёж

покупатель → крипта → Place order
плагин → SnapEX Pay: счёт в USD
покупатель → платит на SnapEX Pay
SnapEX Pay → вебхук → магазин
плагин → GET счёта в API → paid?
WooCommerce: заказ Processing
  1. Покупатель оформляет заказ с криптовалютным способом оплаты. Плагин создаёт счёт SnapEX Pay на сумму заказа в USD и отправляет покупателя на страницу оплаты.
  2. Покупатель выбирает монету и сеть и платит. Когда счёт оплачен, SnapEX Pay шлёт вашему магазину подписанный вебхук.
  3. Плагин перечитывает счёт через API SnapEX Pay и проводит заказ, только если счёт в статусе paid и сумма совпадает. Одно лишь тело вебхука ничего не отмечает оплаченным.

Заказ отмечается оплаченным тремя независимыми способами — каким сработает первым: подписанным вебхуком, при возврате покупателя со страницы оплаты и фоновой проверкой (WP-Cron запускает её каждые 5 минут; каждый ожидающий заказ перепроверяется не чаще раза в 10 минут, в течение 5 дней). Потерянный вебхук не оставит оплаченный заказ неоплаченным, и заказ не проведётся дважды — даже если вебхук, возврат покупателя и проверка сработают одновременно.

Что нужно

  • WordPress 6.2+ и WooCommerce 8.2+ (проверено до WooCommerce 11.2).
  • PHP 7.4 или новее.
  • HTTPS на адресе магазина — иначе SnapEX Pay не сможет доставлять вебхуки.
  • Аккаунт мерчанта SnapEX Pay: регистрация на pay.snapex.pro.

Плагин работает с блоком Checkout и классической страницей [woocommerce_checkout], со ссылками «Pay for order» («Оплатить заказ»), с HPOS (отдельными таблицами заказов) и со старым хранением заказов.

Шаг 1. Установите плагин

Плагин бесплатный и опубликован в каталоге WordPress.org: SnapEX Pay for WooCommerce.

  1. В админке WordPress откройте Плагины → Добавить новый плагин и найдите SnapEX Pay.
  2. Нажмите Установить у SnapEX Pay for WooCommerce, затем Активировать. WooCommerce к этому моменту должен быть активен.

Через WP-CLI:

wp plugin install snapex-pay-for-woocommerce --activate

Если сервер не достаёт до WordPress.org, скачайте snapex-pay-for-woocommerce-1.1.0.zip и загрузите его в Плагины → Добавить новый плагин → Загрузить плагин. Обновления потом приходят обычным экраном обновлений WordPress. В базе руками ничего делать не нужно.

Шаг 2. Получите API-ключ

В кабинете мерчанта SnapEX Pay откройте «Разработчикам» и выпустите API-ключ. Плагину нужны права invoices.read и invoices.write; ключ из кабинета получает все права Merchant API, в том числе эти. Ключ показывается один раз — сразу скопируйте его. Перевыпуск сразу отзывает старый ключ, поэтому меняйте его в WooCommerce в тот же момент.

Шаг 3. Настройте способ оплаты

Откройте WooCommerce → Настройки → Платежи и нажмите SnapEX Pay (crypto) (или Settings у плагина на странице «Плагины»). Заполните поля:

Поле Что указать
Enable Отметьте Accept crypto with SnapEX Pay.
Title Что покупатель видит на оформлении; по умолчанию Crypto (USDT and other coins) — можно написать «Криптовалюта (USDT и другие монеты)».
Description Строка под названием на оформлении.
API key Ключ из шага 2. Без него способ оплаты на оформлении не показывается.
Webhook secret См. шаг 4.
Network fee paid by Merchant — покупатель платит ровно сумму заказа, комиссии удерживаются из поступления. Customer — комиссия SnapEX Pay и комиссия сети добавляются покупателю сверху. Подробно: Кто платит комиссию за криптоплатёж.
Payment window, minutes Сколько действует страница оплаты: от 1 до 1440, по умолчанию 60.
USD for 1 … Только если валюта магазина не USD — см. шаг 5.
Test mode См. шаг 6.
Partner ID См. шаг 7.
API URL Оставьте как есть.

Сохраните изменения. Способ оплаты появится на оформлении заказа с иконкой SnapEX Pay.

Шаг 4. Настройте вебхук

Вебхук необязателен, но рекомендуется: с ним заказ переходит в Processing сразу после подтверждения оплаты, а не при следующей фоновой проверке.

  1. Скопируйте адрес вебхука, который показан под полем Webhook secret. С включёнными ЧПУ он вида https://<ваш магазин>/wc-api/snapexpay_webhook/.
  2. В кабинете на странице «Разработчикам» вставьте его адресом вебхука и сохраните.
  3. Секрет подписи whsec_… показывается один раз, сразу после первого сохранения. Вставьте его в поле Webhook secret в WooCommerce и сохраните.

Как плагин проверяет уведомление:

  • заголовок Webhook-Signature: HMAC-SHA256 от {Webhook-Timestamp}.{сырое тело запроса} с вашим секретом; без подписи или с неверной — ответ 401;
  • Webhook-Timestamp — не дальше 5 минут от часов сервера (старше — ответ 400), держите NTP включённым;
  • сам счёт — перечитывается через API SnapEX Pay вашим ключом.

Если API в этот момент недоступен, плагин отвечает 502, и SnapEX Pay повторит доставку. В кабинете один адрес вебхука на аккаунт; на события по счетам, которые создал не этот магазин, плагин отвечает 200 и пропускает их — так один аккаунт мерчанта может обслуживать ещё и биллинг или бота. Если открыть адрес вебхука в браузере, появится SnapEX Pay webhook endpoint — так легко проверить, что его не блокирует файрвол, плагин безопасности или кэш. Подробно о подписи и повторах: Вебхуки криптоплатежей.

Шаг 5. Если магазин торгует не в долларах

Счета SnapEX Pay — в долларах США. Если цены в магазине в рублях, евро или другой валюте, в настройках появляется поле USD for 1 RUB (с кодом вашей валюты). Два варианта:

  • Фиксированный курс. Укажите, сколько долларов стоит единица вашей валюты: если сегодня 1 USD = 80 RUB, укажите 0.0125 (1 / 80). Сумма заказа пересчитывается по этому курсу; обновлять его нужно самим.
  • Плагин валют. Оставьте поле пустым и пересчитывайте в фильтре snapexpay_wc_amount_usd: он получает сумму (или null), сумму заказа, валюту и заказ и возвращает сумму в USD.

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

Шаг 6. Тестовый заказ без реальных денег

  1. Включите Test mode. Теперь способ оплаты видят только менеджеры магазина (пользователи с правом управлять WooCommerce, в том числе администраторы); покупатели его не видят — никто не оплатит настоящий заказ тестовыми деньгами.
  2. В том же браузере, войдя администратором, положите товар в корзину, перейдите к оформлению, выберите криптовалютный способ и оформите заказ.
  3. На странице SnapEX Pay — метка Test. Выберите любую монету и сеть: страница покажет тестовый адрес, и примерно через 10 секунд платёж подтвердится сам. Ничего отправлять не нужно.
  4. Вас вернёт на страницу «Заказ получен», а заказ в WooCommerce → Заказы станет Processing. В заметках заказа — SnapEX Pay: invoice INV-… paid … Test payment. Если нет — смотрите заметки заказа, WooCommerce → Статус → Журналы (источник snapexpay) и журнал доставок на странице «Разработчикам» в кабинете.
  5. Выключите тестовый режим.

Тестовые платежи не зачитываются после выключения тестового режима (в заметке заказа — test invoice … paid while test mode is off — not applied), так что тестовыми деньгами нельзя оплатить настоящий товар. Подробно: Как протестировать криптоплатежи без денег.

Шаг 7. Partner ID: кто настроил плагин

Поле Partner ID необязательно. Если вы настраиваете WooCommerce для своего магазина, оставьте его пустым.

Если вы агентство или фрилансер по WordPress и делаете магазины клиентам, вставьте свой Partner ID: аккаунт мерчанта клиента привяжется к вам, и вы будете получать 35% нашей комиссии с платежей этого клиента. Клиент сам заводит аккаунт SnapEX Pay и API-ключ, деньги идут на его баланс. Условия: партнёрская программа SnapEX Pay.

Что видит покупатель

  • На оформлении заказа — криптовалютный способ оплаты с названием и описанием из настроек.
  • После Place order («Оформить заказ») — страницу оплаты SnapEX Pay: USDT в сетях TRC20, ERC20, BEP20, Solana, TON, Polygon и других, а также другие монеты (60+ всего), если SnapEX Pay предлагает их для суммы заказа.
  • После оплаты покупатель возвращается на страницу «Заказ получен» магазина. Если платёж уже подтверждён, заказ сразу оплачен; если нет — перейдёт в Processing по вебхуку или при следующей фоновой проверке.
  • Если страница оплаты истекла, её кнопка возврата в магазин ведёт на страницу «Pay for order» этого заказа. Повторная оплата, пока страница действует, открывает ту же страницу, а не второй счёт; после её истечения или если сумма заказа изменилась, создаётся новая.

Что происходит с заказом

  • Оформлен, ещё не оплачен → Pending payment («Ожидает оплаты») с заметкой SnapEX Pay: payment page opened, invoice INV-… for … USD. Настройка WooCommerce Hold stock не отменит заказ, пока его страница оплаты действует.
  • Оплачено полностью → стандартное завершение оплаты WooCommerce: заказ становится Processing (или Completed для виртуальных и скачиваемых товаров), остатки списываются, уходят обычные письма. Номер транзакции — ID счёта SnapEX Pay (INV-…), по нему платёж легко найти в кабинете.
  • Оплачено частично (покупатель прислал меньше и не доплатил вовремя) → On hold («На удержании») с заметкой о монете, сети и полученной сумме. Полученное лежит на вашем балансе SnapEX Pay; проверьте его в кабинете и, если принимаете, проведите заказ вручную. Как устроены недоплаты: Клиент заплатил меньше суммы счёта.
  • Не оплачено вовремя → заметка invoice INV-… expired unpaid; заказ остаётся неоплаченным, покупатель может оплатить его заново по ссылке «Pay for order».
  • Оплачено после того, как WooCommerce отменил заказ → On hold с заметкой the order was no longer awaiting payment — check stock and process it manually. Заказы, отменённые за последние 5 дней, всё равно проверяются, так что такой платёж не потеряется.
  • Сумма заказа изменилась после того, как покупатель открыл оплату (например, вы отредактировали заказ) → On hold с заметкой the order total changed after the payment started; проверьте и проведите вручную.
  • Лишний платёж после закрытия счёта SnapEX Pay → если настроен вебхук, заметка extra payment received on invoice INV-… — check the SnapEX Pay cabinet; деньги на вашем балансе SnapEX Pay, заказ не меняется.

Возвраты плагин не отправляет: возврат в WooCommerce только записывается в заказ, крипта автоматически назад не уходит.

Если что-то не работает

  • Способа оплаты нет на оформлении. Проверьте, что он включён и API-ключ заполнен; что тестовый режим выключен (или вы вошли менеджером магазина); для магазина не в долларах — что сделан шаг 5.
  • «Could not start the crypto payment: …». SnapEX Pay отклонил счёт — чаще всего неверный или отозванный API-ключ; причина — в сообщении и в WooCommerce → Статус → Журналы (источник snapexpay).
  • «Crypto payment is not available for this currency». Заказ в валюте, на которую курс не действует (курс из настроек — только для основной валюты магазина); другие валюты пересчитывайте в фильтре snapexpay_wc_amount_usd.
  • Вебхук получает 401. Webhook secret в WooCommerce не совпадает с секретом из кабинета.
  • Вебхук получает 400 «stale or missing timestamp». Сбиты часы сервера.
  • Вебхук получает 503. Адрес в кабинете указан, а поле Webhook secret в WooCommerce пустое.
  • Вебхук получает 403 или страницу входа. Файрвол или плагин безопасности блокирует POST-запросы к /wc-api/; разрешите адрес вебхука.
  • Оплаченный заказ переходит в Processing не сразу. Вебхука нет — платёж подхватила фоновая проверка. Настройте шаг 4. WP-Cron срабатывает только при заходах на сайт; в тихом магазине запускайте wp-cron.php системным cron раз в несколько минут.

Всё, что делает плагин, — в заметках заказа и в WooCommerce → Статус → Журналы (источник snapexpay). Чтобы удалить его, деактивируйте и удалите плагин на странице «Плагины».

Стоимость

1% с платежа плюс фиксированная сетевая комиссия, которая зависит от монеты и сети; без платы за подключение и абонентской платы. Плагин бесплатный.

Страница плагина: WooCommerce, на WordPress.org: SnapEX Pay for WooCommerce. Обзор для магазинов: Криптоплатежи для интернет-магазинов. Сравнение шлюзов: SnapEX Pay против NOWPayments, Cryptomus и CoinGate. Регистрация: pay.snapex.pro.

Другие гайды

Приём USDT в WHMCS: криптовалютный платёжный шлюз по шагам Как подключить криптоплатежи к WHMCS 8 и 9 через бесплатный шлюз SnapEX Pay: загрузка модуля, API-ключ, вебхук, WHMCS не в долларах, тестовый платёж без реальных денег, Gateway Log. Клиенты оплачивают счета в USDT или 60+ монетах, счёт отмечается оплаченным автоматически. Приём USDT в BILLmanager: криптоплатежи для хостинга по шагам Как подключить криптоплатежи SnapEX Pay к BILLmanager 6: установка модуля, API-ключ, вебхук, Partner ID, тестовый платёж без реальных денег, комиссии и что видит клиент. Клиенты платят в USDT или 60+ монетах, платёж зачисляется автоматически. Продажа VPN-подписок через Telegram-бота за USDT: настройка по шагам Как запустить Telegram-бота SnapEX Pay для VPN: тарифы, API-ключ, подключение Marzban, 3x-ui или Remnawave, HTTPS-вебхук и тестовая покупка без реальных денег. Клиент платит в USDT и получает ссылку на подписку в том же чате. Криптоплатежи в Xboard и V2Board: приём USDT за VPN-подписки по шагам Как подключить SnapEX Pay к панели Xboard или V2Board: установить плагин, добавить способ оплаты, настроить вебхук, пересчитать цены в CNY и других валютах в USD и проверить заказ без реальных денег. Продление VPN-подписок за крипту: без дублей пользователей и потерянных дней Как модули SnapEX Pay для Marzban, 3x-ui, Remnawave и Telegram VPN-бота обрабатывают повторную оплату: от какой даты считаются новые дни, что происходит с трафиком, конфигом и повторными вебхуками. Как протестировать криптоплатежи без реальных денег Тестовые счета SnapEX Pay проходят те же статусы и шлют те же вебхуки, что и боевые, но подтверждаются сами и не трогают баланс. Как ими пользоваться. Как выбрать криптошлюз для хостинга: 8 вопросов перед подключением Чек-лист для хостинг- и VPS-провайдеров, которые выбирают криптошлюз: модуль для биллинга, как отмечается оплата, недоплаты, комиссия, в чём деньги, монеты, тестовый режим и биллинг не в долларах. Кто платит комиссию за криптоплатёж: вы или клиент В SnapEX Pay для каждого счёта можно выбрать, кто оплачивает комиссию сервиса и сетевой запас. Что делает fee_on и как он меняет сумму к оплате и сумму, которую вы получите. Клиент прислал меньше суммы счёта: как работают недоплаты в крипте Биржи часто вычитают комиссию за вывод из суммы, и криптосчёт оплачивается не полностью. Что SnapEX Pay делает с недоплатой, какие вебхуки приходят и что делать с заказом. SnapEX Pay, NOWPayments, Cryptomus и CoinGate: сравнение комиссий и готовых модулей Сравнение SnapEX Pay с NOWPayments, Cryptomus и CoinGate по опубликованной комиссии, абонентской плате и готовым модулям для биллингов хостинга, VPN-панелей и магазинов. Данные о конкурентах — с их сайтов, 11 октября 2026. Вебхуки криптоплатежей: проверка подписи, повторы и дубли Как SnapEX Pay подписывает и доставляет вебхуки, как проверить подпись на PHP и Node.js и как сделать обработчик устойчивым к повторам, дублям и событиям не по порядку.

Готовы принимать криптовалюту?

Создайте аккаунт мерчанта и получите API-ключ. 1% с платежа, без абонентской платы.