feat: moneta 2.0, MONETA.Assistant payment module for PHPShop 6.7+
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace MonetaPhpShop\protocol;
|
||||
|
||||
/**
|
||||
* Êîíñòàíòû ïðîòîêîëà MONETA.Assistant (`MONETA.Assistant.ru.pdf`).
|
||||
*/
|
||||
final class AssistantProtocol
|
||||
{
|
||||
/** `MNT_COMMAND` ïðîâåðî÷íîãî çàïðîñà íà Check URL; íà Pay URL ïàðàìåòðà íåò. */
|
||||
public const COMMAND_CHECK = 'CHECK';
|
||||
|
||||
/** Òåêñòîâûé îòêàç íà Check/Pay URL: ñåðâèñ ïîâòîðèò óâåäîìëåíèå. */
|
||||
public const TEXT_FAIL = 'FAIL';
|
||||
|
||||
/** Åäèíñòâåííàÿ âàëþòà ìîäóëÿ (ISO 4217). */
|
||||
public const CURRENCY_RUB = 'RUB';
|
||||
|
||||
private function __construct() {}
|
||||
|
||||
/**
|
||||
* ISO-êîä âàëþòû ìàãàçèíà -> `MNT_CURRENCY_CODE`; null — âàëþòà ìîäóëåì íå ïîääåðæèâàåòñÿ.
|
||||
* `RUR` — óñòàðåâøèé êîä ðóáëÿ, êîòîðûé åù¸ âñòðå÷àåòñÿ â ñïðàâî÷íèêàõ âàëþò ìàãàçèíîâ.
|
||||
*/
|
||||
public static function normalizeCurrency(string $iso): ?string
|
||||
{
|
||||
$iso = strtoupper(trim($iso));
|
||||
|
||||
return (($iso === self::CURRENCY_RUB) || ($iso === 'RUR')) ? self::CURRENCY_RUB : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Çíà÷åíèå `MNT_TEST_MODE` äëÿ ôîðìû è ïîäïèñè.
|
||||
*/
|
||||
public static function testModeFlag(bool $testMode): string
|
||||
{
|
||||
return $testMode ? '1' : '0';
|
||||
}
|
||||
|
||||
/**
|
||||
* ßçûê âèòðèíû PHPShop (`russian`, `russian_utf`, `english`, `english_utf`) ->
|
||||
* `moneta.locale` ïëàò¸æíîé ôîðìû. Ìîíåòà çíàåò òîëüêî `ru` è `en`
|
||||
* (`MONETA.Assistant.ru.pdf`, ïàðàìåòðû çàïðîñà): àíãëèéñêàÿ âèòðèíà — `en`, îñòàëüíûå — `ru`.
|
||||
*/
|
||||
public static function normalizeLocale(string $shopLocale): string
|
||||
{
|
||||
return strncmp(strtolower(trim($shopLocale)), 'english', 7) === 0 ? 'en' : 'ru';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user