USDPAY for WooCommerce

Описание

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

Установка

  1. Установите и активируйте WooCommerce.
  2. Загрузите ZIP-архив в разделе Плагины > Добавить плагин > Загрузить плагин, затем активируйте его.
  3. Выберите в настройках магазина WooCommerce любую валюту, которую поддерживает USDPAY.
  4. В кабинете мерчанта USDPAY создайте или выберите магазин для этого сайта и настройте кошельки для получения средств.
  5. Создайте секретный API-ключ и скопируйте секрет подписи webhook вашего магазина.
  6. Откройте WooCommerce > Настройки > Платежи > USDPAY — USDT.
  7. Вставьте оба секрета, выберите срок действия счёта 15, 30, 45 или 60 минут, включите способ оплаты и сохраните настройки. Рассчитанная сумма в USDT останется неизменной до истечения срока действия счёта.
  8. Проведите небольшой реальный платёж и убедитесь, что статус заказа меняется с «Ожидает оплаты» на «Выполняется» или «Выполнен» только после подтверждения в блокчейне.

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 и блочного оформления заказа.