Files
Moodle/classes/local/protocol/ResultCode.php
T

50 lines
1.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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',
};
}
}