new

msp3YooKassa

Component for MODX Revolution
Packages
21
Downloads
143
Usually answers within 24 hours
Автор дополнения
Packages
21
Downloads
143
Usually answers within 24 hours
Version 1.0.2-pl
Release date 07.09.2026
Downloads 4
Views 158
Warning! This component requires PHP 8.2 or higher!
Warning! This package requires MODX 3 or higher.

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.

[1.0.2-pl] - 2026-07-09

Fixed

  • Webhook: notifications for payments not created by this package (e.g. SMS invoices from the YooKassa cabinet) are acknowledged and skipped at debug level instead of writing order not found to the MODX error log.

[1.0.1-pl] - 2026-06-20

Fixed

  • Webhook and two-stage capture: order status is updated via MiniShop3 OrderStatusService instead of direct save(), so msOnChangeOrderStatus fires and notification center emails (e.g. manager alert on paid status) are sent.
  • OrderStatusUpdater: status change runs before saving properties, avoiding a paid payment ID in DB while the order status stayed unchanged.
  • Webhook/capture failures (status change, hash mismatch, missing order) are always written to the MODX error log; debug-only messages stay behind msp3yookassa_debug.
  • OrderStatusUpdater validates MiniShop3 bootstrap before changing status.

Changed

  • README, docs/readme.txt, _preview/DESCRIPTION.md: статус после оплаты, уведомления MS3, разделение error/debug логов.

[1.0.0-pl] - 2026-04-23

Added

  • YooKassa API integration for MiniShop3.
  • One-stage payment (immediate capture).
  • Two-stage payment (hold; capture/cancel from manager via Capture processor).
  • HTTP webhook endpoint to sync order status from YooKassa notifications.
  • Optional 54-FZ receipts (fiscalization) via ReceiptBuilder.
  • System settings: shop_id, secret_key, receipt mode, VAT code, success/fail URLs, debug flag.
  • Bootstrap plugin (OnMODXInit) for PSR-4 autoload of payment handlers.
  • Transport resolvers: settings, msPayment records (one-stage and two-stage classes), assets.
  • Payment send() success payload includes order_id, order_num, and msorder (UUID) for storefront integrations and debugging.
  • Build: optional modstore.pro transport encryption (EncryptedVehicle, resolve.encryption.php) — same pattern as ms3Favorites; enable with encrypt => true in _build/config.inc.php.
  • Repository _preview/: ModStore copy (DESCRIPTION.md, modstore-description.md), logos logo-320.png / logo-320-v2.png / logo-320-v3.png, banners banner-1200x630.png / banner-1200x630-v2.png — not included in transport ZIP.

Changed

  • Runtime MODX log lines from this extra (including webhook and receipt debug, YooKassa payment flow) are written only when system setting msp3yookassa_debug is enabled.
  • Capture processor: log line on capture failure is also gated by msp3yookassa_debug (failure message still returned to the manager action).
  • Debug log label: YooKassa createPayment request distinguishes the API request body from the payment response.

Fixed

  • $modx->log(): context is no longer passed as the third argument (that parameter is the log target in MODX/xPDO). Passing an array there could corrupt HTTP output and break MiniShop3 JSON API (order/submit), causing frontend submission errors.
  • Order persistence after createPayment: if saving the order with yookassa_payment_id in properties fails, return a clear error instead of continuing silently.