75 lines
3.6 KiB
SQL
75 lines
3.6 KiB
SQL
-- ============================================================================
|
||
-- PayPal Orders v2 (REST) – Aktivierung
|
||
-- Neues Modul, parallel zum Legacy-NVP-PayPal (payment_methods.id = 4).
|
||
--
|
||
-- In Schritten ausfuehren – nichts wird an der Legacy-Zahlart geaendert,
|
||
-- bis DU es in SCHRITT 4 bewusst tust.
|
||
-- VORHER: DB-Dump ziehen.
|
||
-- ============================================================================
|
||
|
||
|
||
-- ----------------------------------------------------------------------------
|
||
-- SCHRITT 1 – Schema: Spalte fuer den Betragsabgleich (Manipulationsschutz).
|
||
-- Additiv, nullable, keine Datenaenderung an bestehenden Auftraegen.
|
||
-- ----------------------------------------------------------------------------
|
||
ALTER TABLE `orders`
|
||
ADD COLUMN `paypal_v2_expected_amount` DECIMAL(10,2) NULL DEFAULT NULL;
|
||
|
||
|
||
-- ----------------------------------------------------------------------------
|
||
-- SCHRITT 2 – Zahlart anlegen (klont die Legacy-PayPal-Zeile id=4).
|
||
-- helperjoinkey='pp' => identischer PayPal-Aufschlag (shipping_area.add_pp).
|
||
-- active=1, ABER noch KEINER Kundengruppe zugeordnet => im Shop unsichtbar.
|
||
-- ----------------------------------------------------------------------------
|
||
INSERT INTO `payment_methods`
|
||
(`name`, `module`, `argument`, `active`, `rang`,
|
||
`invoice_text`, `order_text`, `order_email_text`,
|
||
`helperjoinkey`, `configuration_group_id`)
|
||
VALUES
|
||
('PayPal', 'paypalrest', '', 1, 2,
|
||
'Bezahlung erfolgte per PayPal',
|
||
'Sie werden zur Bezahlung Ihrer Bestellung zu PayPal weitergeleitet.',
|
||
'Der zu zahlende Betrag wird per PayPal ueberwiesen.',
|
||
'pp', 'PayPalRest');
|
||
|
||
-- Neue ID merken (fuer die folgenden Schritte):
|
||
-- SELECT id FROM payment_methods WHERE module='paypalrest';
|
||
|
||
|
||
-- ----------------------------------------------------------------------------
|
||
-- SCHRITT 3 – TESTEN (Sandbox): Zahlart NUR fuer eine Testgruppe sichtbar.
|
||
-- <NEUE_ID> ersetzen. <TEST_GRUPPE> = Kundengruppe eines Test-Accounts.
|
||
-- (Kundengruppen der Legacy-Methode: 1, 101, 103 aktiv; 100 inaktiv.)
|
||
-- ----------------------------------------------------------------------------
|
||
-- INSERT INTO `customer_group_payment_method_configuration`
|
||
-- (`group_id`, `payment_method_id`, `shipping_area_id`, `active`)
|
||
-- VALUES
|
||
-- (<TEST_GRUPPE>, <NEUE_ID>, 1, 1);
|
||
|
||
|
||
-- ----------------------------------------------------------------------------
|
||
-- SCHRITT 4 – GO-LIVE (erst nach erfolgreichem Sandbox-Test,
|
||
-- config.php auf mode='live' + Live-Credentials!):
|
||
-- a) Neue Methode fuer die echten Gruppen freischalten (wie Legacy):
|
||
-- INSERT INTO `customer_group_payment_method_configuration`
|
||
-- (`group_id`, `payment_method_id`, `shipping_area_id`, `active`)
|
||
-- VALUES
|
||
-- (1, <NEUE_ID>, 1, 1),
|
||
-- (101, <NEUE_ID>, 1, 1),
|
||
-- (103, <NEUE_ID>, 1, 1);
|
||
--
|
||
-- b) Alte NVP-PayPal-Zahlart (id=4) deaktivieren, damit sie NICHT mehr
|
||
-- auswaehlbar ist (Bestellungen/Historie bleiben unberuehrt):
|
||
-- UPDATE `payment_methods` SET `active` = 0 WHERE `id` = 4;
|
||
-- Alternativ nur die Gruppen-Sichtbarkeit abschalten:
|
||
-- UPDATE `customer_group_payment_method_configuration`
|
||
-- SET `active` = 0 WHERE `payment_method_id` = 4;
|
||
|
||
|
||
-- ----------------------------------------------------------------------------
|
||
-- ROLLBACK (falls noetig): neue Methode wieder verstecken
|
||
-- ----------------------------------------------------------------------------
|
||
-- DELETE FROM `customer_group_payment_method_configuration`
|
||
-- WHERE `payment_method_id` = (SELECT id FROM payment_methods WHERE module='paypalrest');
|
||
-- UPDATE `payment_methods` SET `active` = 0 WHERE `module` = 'paypalrest';
|