feat: paygw_moneta 1.0.0, MONETA.Assistant payment gateway for Moodle
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace paygw_moneta\local\receipt;
|
||||
|
||||
/**
|
||||
* Ставка НДС позиции чека. Значение case — код `vat` для JSON-ответа Check URL
|
||||
* (`cmsspecification.pdf`), оно же хранится в настройке шлюза и снимке заказа;
|
||||
* {@see self::tag()} даёт тег `vatTag` для `INVENTORY` Pay URL
|
||||
* (`kassaspecification.pdf`).
|
||||
*
|
||||
* @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 Vat: string
|
||||
{
|
||||
case None = 'none';
|
||||
case Vat0 = 'vat0';
|
||||
case Vat5 = 'vat5';
|
||||
case Vat7 = 'vat7';
|
||||
case Vat10 = 'vat10';
|
||||
case Vat20 = 'vat20';
|
||||
case Vat22 = 'vat22';
|
||||
case Vat105 = 'vat105';
|
||||
case Vat107 = 'vat107';
|
||||
case Vat110 = 'vat110';
|
||||
case Vat120 = 'vat120';
|
||||
case Vat122 = 'vat122';
|
||||
|
||||
/**
|
||||
* Тег `vatTag` для `INVENTORY` Pay URL (`kassaspecification.pdf`).
|
||||
*/
|
||||
public function tag(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::None => '1105',
|
||||
self::Vat0 => '1104',
|
||||
self::Vat5 => '1108',
|
||||
self::Vat7 => '1109',
|
||||
self::Vat10 => '1103',
|
||||
self::Vat20 => '1102',
|
||||
self::Vat22 => '1113',
|
||||
self::Vat105 => '1110',
|
||||
self::Vat107 => '1111',
|
||||
self::Vat110 => '1107',
|
||||
self::Vat120 => '1106',
|
||||
self::Vat122 => '1114',
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Ключ строки в `lang/{ru,en}/paygw_moneta.php`.
|
||||
*/
|
||||
public function langKey(): string
|
||||
{
|
||||
return 'vat:' . $this->value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user