76 lines
4.9 KiB
SQL
76 lines
4.9 KiB
SQL
-- Ìèãðàöèÿ ñî âñòðîåííîãî ìîäóëÿ «Ìîíåòà» PHPShop 6.7.0 (â òàáëèöå íàñòðîåê âåðñèÿ 1.2).
|
|
-- ßäðî çàïóñêàåò ôàéë êíîïêîé «Îáíîâèòü ìîäóëü» (PHPShopModules::getUpdate()): ðåæåò òåêñò
|
|
-- ïî òî÷êå ñ çàïÿòîé è âûïîëíÿåò çàïðîñû ñ ïîäàâëåíèåì îøèáîê, ïîòîì ïèøåò âåðñèþ èç module.xml.
|
|
-- Ïîýòîìó òî÷êè ñ çàïÿòîé — òîëüêî â êîíöå çàïðîñîâ, à ïîâòîðíûé çàïóñê íè÷åãî íå ïîðòèò:
|
|
-- ALTER íà ñóùåñòâóþùóþ êîëîíêó ìîë÷à ïàäàåò, UPDATE òðîãàþò òîëüêî íåçàïîëíåííûå ïîëÿ.
|
|
-- Ñòàðûå êîëîíêè (merchant_id, merchant_sig, title, serial) íå óäàëÿþòñÿ, merchant_sig î÷èùàåòñÿ ïîñëå ïåðåíîñà êîäà.
|
|
|
|
ALTER TABLE `phpshop_modules_moneta_system`
|
|
ADD COLUMN `account_id` varchar(20) NOT NULL default '' AFTER `id`,
|
|
ADD COLUMN `integrity_code` varchar(255) NOT NULL default '' AFTER `account_id`,
|
|
ADD COLUMN `payment_server` varchar(8) NOT NULL default 'PROD' AFTER `integrity_code`,
|
|
ADD COLUMN `test_mode` enum('0','1') NOT NULL default '0' AFTER `payment_server`,
|
|
ADD COLUMN `fiscalization` enum('0','1') NOT NULL default '0' AFTER `test_mode`,
|
|
ADD COLUMN `receipt_email` varchar(64) NOT NULL default '' AFTER `fiscalization`,
|
|
ADD COLUMN `sno` varchar(1) NOT NULL default '' AFTER `receipt_email`,
|
|
ADD COLUMN `payment_method` varchar(32) NOT NULL default 'full_payment' AFTER `sno`,
|
|
ADD COLUMN `payment_object` varchar(32) NOT NULL default 'commodity' AFTER `payment_method`,
|
|
ADD COLUMN `goods_vat` varchar(16) NOT NULL default 'platform' AFTER `payment_object`,
|
|
ADD COLUMN `delivery_vat` varchar(16) NOT NULL default 'platform' AFTER `goods_vat`,
|
|
ADD COLUMN `paid_status` int(11) NOT NULL default '101' AFTER `status`;
|
|
|
|
-- Íîìåð ñ÷¸òà: âñòðîåííûé ìîäóëü õðàíèë åãî â merchant_id áåç ïðîâåðêè, ïåðåíîñèì òîëüêî öèôðû.
|
|
UPDATE `phpshop_modules_moneta_system` SET `account_id` = TRIM(`merchant_id`)
|
|
WHERE `account_id` = '' AND TRIM(`merchant_id`) REGEXP '^[0-9]{1,20}$';
|
|
|
|
-- «Ñåêðåòíîå ñëîâî» âñòðîåííîãî ìîäóëÿ ïîäïèñûâàëî ôîðìó îïëàòû — ýòî êîä ïðîâåðêè öåëîñòíîñòè.
|
|
UPDATE `phpshop_modules_moneta_system` SET `integrity_code` = TRIM(`merchant_sig`)
|
|
WHERE `integrity_code` = '' AND TRIM(`merchant_sig`) <> '';
|
|
-- Ñåêðåò íå äîëæåí îñòàâàòüñÿ âòîðûì ýêçåìïëÿðîì â ñòàðîé êîëîíêå: ïîñëå ñìåíû êîäà â íàñòðîéêàõ
|
|
-- ïðåæíèé ëåæàë áû òàì äàëüøå. Î÷èùàåì, òîëüêî êîãäà êîä óæå ïåðåíåñ¸í.
|
|
UPDATE `phpshop_modules_moneta_system` SET `merchant_sig` = ''
|
|
WHERE `integrity_code` <> '' AND `merchant_sig` <> '';
|
|
|
|
-- «Îïëàòà ïðè ñòàòóñå»: ó âñòðîåííîãî ìîäóëÿ êîëîíêà äîïóñêàëà NULL, ó íàñ 0 — «Íîâûé çàêàç».
|
|
UPDATE `phpshop_modules_moneta_system` SET `status` = 0 WHERE `status` IS NULL;
|
|
ALTER TABLE `phpshop_modules_moneta_system` MODIFY `status` int(11) NOT NULL default '0';
|
|
|
|
-- Æóðíàë îïåðàöèé: ñòðîêà íà êàæäîå ïîäïèñàííîå óâåäîìëåíèå Check/Pay URL. Ó çà÷ò¸ííîé
|
|
-- îïëàòû çàïîëíåí paid_order_id — UNIQUE íå äà¸ò çà÷åñòü çàêàç äâàæäû (MyISAM, òðàíçàêöèé íåò).
|
|
CREATE TABLE IF NOT EXISTS `phpshop_modules_moneta_operations` (
|
|
`id` int(11) NOT NULL auto_increment,
|
|
`created_at` int(11) NOT NULL default '0',
|
|
`command` varchar(8) NOT NULL default '',
|
|
`transaction_id` varchar(255) NOT NULL default '',
|
|
`operation_id` varchar(255) NOT NULL default '',
|
|
`order_id` int(11) NOT NULL default '0',
|
|
`order_uid` varchar(64) NOT NULL default '',
|
|
`amount` varchar(20) NOT NULL default '',
|
|
`test_mode` enum('0','1') NOT NULL default '0',
|
|
`result_code` int(11) default NULL,
|
|
`event` varchar(32) NOT NULL default '',
|
|
`paid_order_id` int(11) default NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `paid_order_id` (`paid_order_id`),
|
|
KEY `order_id` (`order_id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
|
|
|
-- Ñ÷¸ò÷èê æóðíàëà îòêàçîâ êîëáýêà äî ïðîâåðêè ïîäïèñè: íå ÷àùå ñòðîêè â ìèíóòó, îäíà ñòðîêà.
|
|
-- Îòäåëüíî îò íàñòðîåê — çàïèñü â MyISAM áëîêèðóåò òàáëèöó, à íàñòðîéêè ÷èòàåò êàæäûé êîëáýê.
|
|
CREATE TABLE IF NOT EXISTS `phpshop_modules_moneta_log_throttle` (
|
|
`id` int(11) NOT NULL default '1',
|
|
`logged_at` int(11) NOT NULL default '0',
|
|
`skipped` int(11) NOT NULL default '0',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
|
INSERT IGNORE INTO `phpshop_modules_moneta_log_throttle` (`id`, `logged_at`, `skipped`) VALUES (1, 0, 0);
|
|
|
|
-- Ñïîñîá îïëàòû 10048: íàçâàíèå è èêîíêó âñòðîåííîãî ìîäóëÿ ìåíÿåì íà íîâûå, òîëüêî åñëè ìåð÷àíò
|
|
-- èõ íå ïðàâèë. Êèðèëëèöà — ñ ïðåôèêñîì _cp1251: ôàéë â cp1251, à «Îáíîâèòü ìîäóëü» âûïîëíÿåò
|
|
-- åãî áåç ïåðåêîäèðîâêè (â îòëè÷èå îò install/module.sql ïðè «Âêëþ÷èòü»), è íà ìàãàçèíå ñ áàçîé
|
|
-- utf-8 ëèòåðàë áåç ïðåôèêñà ÷èòàëñÿ áû â êîäèðîâêå ñîåäèíåíèÿ è íå ñîâïàë áû ñ íàçâàíèåì.
|
|
UPDATE `phpshop_payment_systems` SET `name` = _cp1251'Ïðè¸ì ïëàòåæåé áàíêîâñêèìè êàðòàìè, ÷åðåç ÑÁÏ è Pay-ñåðâèñû (Ìîíåòà)'
|
|
WHERE `id` = 10048 AND `name` = _cp1251'Ìèð, Visa, Mastercard (Ìîíåòà)';
|
|
UPDATE `phpshop_payment_systems` SET `icon` = 'phpshop/modules/moneta/templates/moneta.svg'
|
|
WHERE `id` = 10048 AND `icon` = '/UserFiles/Image/Payments/moneta.png';
|