feat: moneta 2.0, MONETA.Assistant payment module for PHPShop 6.7+
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace MonetaPhpShop\receipt;
|
||||
|
||||
/**
|
||||
* Ïðèçíàê ïðåäìåòà ðàñ÷¸òà (`po` â `INVENTORY`, `paymentObject` â JSON Check URL): ïåðå÷åíü
|
||||
* `kassaspecification.pdf` ïëþñ `composite`.
|
||||
* Íàñòðîéêîé âûáèðàåòñÿ òîëüêî äëÿ òîâàðîâ; äîñòàâêà âñåãäà {@see self::SERVICE}.
|
||||
* Çíà÷åíèÿ õðàíÿòñÿ â íàñòðîéêàõ ìîäóëÿ — íå ïåðåèìåíîâûâàòü.
|
||||
*/
|
||||
final class PaymentObject
|
||||
{
|
||||
public const COMMODITY = 'commodity';
|
||||
public const SERVICE = 'service';
|
||||
|
||||
/** Çíà÷åíèå -> ïîäïèñü â íàñòðîéêàõ. */
|
||||
public const LABELS = [
|
||||
self::COMMODITY => 'Òîâàð',
|
||||
'excise' => 'Ïîäàêöèçíûé òîâàð',
|
||||
'job' => 'Ðàáîòà',
|
||||
self::SERVICE => 'Óñëóãà',
|
||||
'gambling_bet' => 'Ñòàâêà àçàðòíîé èãðû',
|
||||
'gambling_prize' => 'Âûèãðûø àçàðòíîé èãðû',
|
||||
'lottery' => 'Ëîòåðåéíûé áèëåò',
|
||||
'lottery_prize' => 'Âûèãðûø ëîòåðåè',
|
||||
'intellectual_activity' => 'Ïðåäîñòàâëåíèå ðåçóëüòàòîâ èíòåëëåêòóàëüíîé äåÿòåëüíîñòè',
|
||||
'payment' => 'Ïëàò¸æ',
|
||||
'agent_commission' => 'Àãåíòñêîå âîçíàãðàæäåíèå',
|
||||
'award' => 'Âûïëàòà (âçíîñ, ïåíè, øòðàô, âîçíàãðàæäåíèå, áîíóñ)',
|
||||
'composite' => 'Ñîñòàâíîé ïðåäìåò ðàñ÷¸òà',
|
||||
'another' => 'Äðóãîå',
|
||||
'property_right' => 'Èìóùåñòâåííîå ïðàâî',
|
||||
'non_operating' => 'Âíåðåàëèçàöèîííûé äîõîä',
|
||||
'insurance_premium' => 'Ñòðàõîâîé ñáîð',
|
||||
'sales_tax' => 'Òîðãîâûé ñáîð',
|
||||
'resort_fee' => 'Êóðîðòíûé ñáîð',
|
||||
];
|
||||
|
||||
/** @var string */
|
||||
private $value;
|
||||
|
||||
private function __construct(string $value)
|
||||
{
|
||||
$this->value = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Çíà÷åíèå èç íàñòðîåê; íåèçâåñòíîå èëè ïóñòîå — òîâàð (äåôîëò êàññû).
|
||||
*/
|
||||
public static function fromSetting(?string $value): self
|
||||
{
|
||||
return new self(isset(self::LABELS[(string) $value]) ? (string) $value : self::COMMODITY);
|
||||
}
|
||||
|
||||
public static function commodity(): self
|
||||
{
|
||||
return new self(self::COMMODITY);
|
||||
}
|
||||
|
||||
public static function service(): self
|
||||
{
|
||||
return new self(self::SERVICE);
|
||||
}
|
||||
|
||||
public function getValue(): string
|
||||
{
|
||||
return $this->value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user