Описание
USDPAY для WooCommerce добавляет некастодиальный способ оплаты в USDT в классическое оформление заказа и блоки WooCommerce «Корзина» и «Оформление заказа».
Плагин передаёт в USDPAY сумму заказа и код валюты ISO. USDPAY рассчитывает сумму в USDT на сервере, округляет её вверх до ближайших 0,01 USDT и фиксирует котировку на выбранный срок действия счёта: 15, 30, 45 или 60 минут. Для USD действует явное правило продукта 1 USD = 1 USDT; для остальных поддерживаемых валют используется проверяемая рыночная котировка.
Покупатель выбирает доступную сеть на платёжной странице USDPAY. USDT переводятся напрямую на кошелёк для получения средств, настроенный мерчантом в USDPAY. Заказ WooCommerce отмечается как оплаченный только после того, как плагин проверит подпись webhook invoice.paid и сопоставит со счётом его идентификатор, ссылку на заказ и запрошенную сумму.
Функции:
- Платёжная страница USDPAY; приватные ключи кошельков не хранятся в WordPress.
- Создание счетов на сервере с ключом идемпотентности.
- Проверка подписи webhook по точному исходному телу запроса.
- Надёжное устранение дубликатов webhook и безопасная обработка повторных попыток.
- Совместимость с высокопроизводительным хранилищем заказов WooCommerce (HPOS).
- Поддержка классического оформления заказа и блоков «Корзина»/«Оформление заказа».
- Выбираемый мерчантом срок действия счёта 15, 30, 45 или 60 минут с неизменной котировкой USDT.
В настоящее время не поддерживаются:
- Автоматические возвраты в блокчейне.
- Регулярные списания WooCommerce Subscriptions.
Внешний сервис
Данный плагин подключается к USDPAY для формирования платежных счетов и перенаправления клиентов на внешнюю страницу оформления заказа. Он отправляет общую сумму заказа в магазине и валюту ISO, внутренний идентификатор заказа WooCommerce, срок действия счета, URL-адрес обратного вызова веб-хука и URL-адрес возврата клиента. URL-адрес возврата может содержать ключ заказа WooCommerce, чтобы клиент мог вернуться на нужную страницу с квитанцией. Плагин не отправляет имя клиента, адрес электронной почты, адрес проживания, содержимое корзины или закрытые ключи кошелька.
USDPAY отправляет подписанные webhook-уведомления о статусе платежа на созданный плагином REST endpoint WordPress.
Использование сервиса регулируется условиями и политикой конфиденциальности USDPAY:
- Условия использования: https://usdpay.me/legal/terms
- Политика конфиденциальности: https://usdpay.me/legal/privacy
Установка
- Установите и активируйте WooCommerce.
- Загрузите ZIP-архив в разделе Плагины > Добавить плагин > Загрузить плагин, затем активируйте его.
- Выберите в настройках магазина WooCommerce любую валюту, которую поддерживает USDPAY.
- В кабинете мерчанта USDPAY создайте или выберите магазин для этого сайта и настройте кошельки для получения средств.
- Создайте секретный API-ключ и скопируйте секрет подписи webhook вашего магазина.
- Откройте WooCommerce > Настройки > Платежи > USDPAY — USDT.
- Вставьте оба секрета, выберите срок действия счёта 15, 30, 45 или 60 минут, включите способ оплаты и сохраните настройки. Рассчитанная сумма в USDT останется неизменной до истечения срока действия счёта.
- Проведите небольшой реальный платёж и убедитесь, что статус заказа меняется с «Ожидает оплаты» на «Выполняется» или «Выполнен» только после подтверждения в блокчейне.
Endpoint для обратных вызовов создаётся автоматически для каждого счёта. Точный адрес отображается в настройках способа оплаты.
Часто задаваемые вопросы
-
Может ли мой магазин WooCommerce использовать EUR, RUB или другую валюту?
-
Да. Версия 0.2.0 поддерживает контролируемый список валют, включая EUR, GBP, RUB, UAH, PLN, TRY, CAD, AUD, JPY, CHF и другие распространённые фиатные валюты. Текущую валюту заказа конвертирует USDPAY, а не WordPress.
-
Всегда ли 1 USD равен 1 USDT?
-
Для расчёта оплаты в этом плагине — да: числовое значение суммы заказа в USD становится запрашиваемой суммой в USDT. Это правило продукта, а не утверждение о том, что рыночная цена USDT никогда не может отклониться от одного доллара США.
-
Хранит ли плагин средства покупателей?
-
Нет. USDT отправляются на кошельки мерчанта, настроенные в USDPAY.
-
Где хранятся данные доступа к API?
-
Они хранятся в базе данных WordPress как настройки платёжного шлюза WooCommerce и используются только серверным PHP-кодом. Защищайте доступ к панели управления WordPress, резервные копии базы данных и конфигурацию так же, как при работе с любой платёжной интеграцией.
-
Возвраты выполняются автоматически?
-
Нет. USDPAY — некастодиальный сервис и не может распоряжаться средствами на кошельке мерчанта. Мерчант должен проверять и отправлять каждый возврат вручную.
Отзывы
Нет отзывов об этом плагине.
Участники и разработчики
«USDPAY for WooCommerce» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участники«USDPAY for WooCommerce» переведён на 1 язык. Благодарим переводчиков за их работу.
Перевести «USDPAY for WooCommerce» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.
Журнал изменений
0.3.0
- Добавлен параметр, позволяющий продавцу выбирать срок действия счета — 15, 30, 45 или 60 минут.
- Рассчитанная сумма в USDT и обменный курс теперь фиксируются на весь срок действия счёта.
- Для существующих и новых установок сохранён срок по умолчанию 15 минут.
0.2.0
- Добавлена серверная конвертация поддерживаемых фиатных валют WooCommerce в USDT.
- В счета и подписанные webhook добавлены неизменяемые сумма и валюта заказа, котировка, источник обменного курса и временные метки.
- Добавлена фиксация рассчитанной котировки на 15 минут и округление суммы в USDT вверх до 0,01 USDT.
- Добавлены явные ошибки для неподдерживаемых валют, недоступных и устаревших курсов.
0.1.1
- Глобальный класс платёжного шлюза переведён на собственный префикс плагина
USDPAY_WC_, чтобы избежать конфликтов с классами WooCommerce.
0.1.0
- Первая версия платёжного шлюза только для USD.
- Добавлены платёжная страница для счетов, подписанные webhook, защита от повторного воспроизведения, поддержка HPOS и блочного оформления заказа.
