msp3BePaid

Оплата через bePaid для MiniShop3
Автор дополнения
Иван Бочкарев
Пакетов
44
Закачек
288
Обычно отвечает в течение суток
Автор дополнения
Пакетов
44
Закачек
288
Обычно отвечает в течение суток
Версия 2.0.0-pl
Дата выпуска 25.09.2026
Загрузки 0
Просмотры 17
Внимание, этот компонент требует PHP 8.2 или выше!
Внимание, этот компонент требует MODX 3 или выше.
Оплата через bePaid для MiniShop3 — карты, ЕРИП, webhook и возвраты

msp3BePaid подключает bePaid к MiniShop3 в MODX 3 и позволяет принимать онлайн-оплату через платёжную страницу bePaid.

Покупатель переходит на checkout bePaid, а подтверждение оплаты приходит на сайт через webhook.

Возможности

  • Оплата банковскими картами.
  • ЕРИП.
  • Другие типы оплаты bePaid через настройку payment_types.
  • Создание checkout-токена через API bePaid.
  • Webhook для подтверждения оплаты.
  • Проверка подписи уведомления Content-Signature.
  • Возврат покупателя на сайт после оплаты.
  • Синхронизация состояния платёжной ссылки.
  • Возврат платежа по номеру транзакции.
  • История попыток оплаты во вкладке заказа.
  • Тестовый режим bePaid.

Карта, ЕРИП и другие способы оплаты

msp3BePaid создаёт один способ оплаты в MiniShop3 — Оплата через BePaid.

Доступные типы оплаты определяются настройкой payment_types. Это позволяет использовать возможности checkout bePaid без создания отдельного модуля под каждый тип оплаты.

Безопасный webhook

bePaid отправляет уведомление о платеже на webhook дополнения.

Если в настройках указан публичный ключ, msp3BePaid проверяет подпись Content-Signature перед обработкой уведомления.

Источником истины для подтверждения оплаты остаётся серверное уведомление bePaid.

Возвраты

После подтверждения оплаты во вкладке заказа доступен возврат по номеру транзакции.

До подтверждения платежа через webhook возврат средств не выполняется.

Тестовый режим

После установки тестовый режим включён по умолчанию. Это позволяет сначала проверить checkout, webhook и обработку платежа, а затем перейти к рабочим операциям.

Интеграция с MiniShop3

msp3BePaid использует стандартную систему заказов и способов оплаты MiniShop3.

Статус оплаченного заказа устанавливает MiniShop3 на основании результата платежа.

Требования

  • MODX Revolution 3.0+;
  • MiniShop3 1.14.0-beta1+;
  • PHP 8.2+;
  • pdoTools 3.x;
  • PHP-модуль bcmath;
  • HTTPS для webhook;
  • Shop ID и секретный ключ bePaid.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.0.0] - 2026-09-24

Переписан на каркас MiniShop3 payment skeleton с сохранением поведения bePaid.

Added

  • Checkout token через POST checkout.bepaid.by/ctp/api/checkouts, redirect на redirect_url.
  • Webhook: Basic Auth store_id:secret_key, опционально RSA Content-Signature.
  • return.php: проверка checkout status, redirect покупателя, опциональная синхронизация через ms3_payment_lifecycle при лаге webhook.
  • ERIP block, типы оплаты из payment_types, суммы в minor units через AmountConverter (ext-bcmath).
  • Возврат: POST gateway.bepaid.by/transactions/refunds с parent_uid, затем lifecycle->refund().
  • SSRF guards: CheckoutUrlValidator, RedirectUrlGuard.
  • PHPUnit: AmountConverter, Fixtures, SecurityGuards, контракт MS3.
  • Лексиконы ru, en, be.

Changed

  • Статус заказа только через ms3_payment_lifecycle. Пакет не пишет status_id.
  • Секреты сначала в msPayment.properties (store_id, secret_key, public_key), иначе msp3bepaid_*.
  • Checkout token и tracking_id в payload попытки через initiate(), не в order.properties.
  • HTTP только file_get_contents / StreamHttpTransport. Без curl_exec.

Removed

  • OrderStatusUpdater из live path.

Dependencies

  • MODX 3.x, MiniShop3 >= 1.14.0-beta1, PHP >= 8.2, ext-json, ext-bcmath.

Последние обсуждения в сообществе MODX.pro