feat: paygw_moneta 1.0.0, MONETA.Assistant payment gateway for Moodle
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace paygw_moneta\local\protocol;
|
||||
|
||||
/**
|
||||
* Коды `MNT_RESULT_CODE` ответов модуля (`MONETA.Assistant.ru.pdf`, гл. 4–5).
|
||||
*
|
||||
* На Check URL код описывает состояние заказа; на Pay URL сервис считает
|
||||
* уведомление доставленным только при 200, при 100/302/402 повторяет его,
|
||||
* при 500 прекращает попытки.
|
||||
*
|
||||
* @package paygw_moneta
|
||||
* @copyright 2026 Moneta Labs {@link https://moneta.ru/}
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
enum ResultCode: int
|
||||
{
|
||||
/** Ответ содержит сумму заказа — в проверочном запросе `MNT_AMOUNT` не было. */
|
||||
case WithAmount = 100;
|
||||
|
||||
/** Заказ оплачен, уведомление доставлено. */
|
||||
case Paid = 200;
|
||||
|
||||
/** Заказ в обработке, точный статус определить нельзя. */
|
||||
case InProgress = 302;
|
||||
|
||||
/** Заказ создан и готов к оплате. */
|
||||
case AwaitingPayment = 402;
|
||||
|
||||
/** Заказ неактуален (отменён, не найден); сервис прекращает повторы. */
|
||||
case Rejected = 500;
|
||||
|
||||
/**
|
||||
* Текст для `MNT_DESCRIPTION` / `description`: без кавычек, `&`, `$`, `#`
|
||||
* и слэшей — требование `cmsspecification.pdf` к значениям ответа.
|
||||
*/
|
||||
public function description(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::WithAmount => 'Order amount',
|
||||
self::Paid => 'Order is paid',
|
||||
self::InProgress => 'Order is being processed',
|
||||
self::AwaitingPayment => 'Order created, but not paid',
|
||||
self::Rejected => 'Order is not available',
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user