Standard Zahlungsart ändern - Lösung

Hallo zusammen

Ich mir gestern etwas die Zähne ausgebissen aufgrund folgender Situation. Was tun, wenn die Standard-Zahlungsart bei einigen Kunden falsch hinterlegt ist? D.h. wenn diese z.B. aufgrund einer Migration eine Zahlungsart besitzen, welche es in Shopware 6 gar nicht mehr gibt? Nun gut, man könnte jetzt aufwändig jeden Kunden suchen und dann über die Massenmigration die Daten ändern. Hat man mehrere tausend Kunden, wäre das wohl eine kleinere Lebensaufgabe. Viel einfacher geht es so:

Achtung! Diese Anleitung bitte nur ausführen, wenn man das nötige Wissen von Datenbankänderungen mitbringt.

Zunächst logt Ihr Euch mal ins Backend ein und sucht unter „Einstellungen / Zahlungsarten“ die Zahlungsart heraus, welche bei Euren Kunden falsch hinterlegt ist. Wenn ihr in der betreffenden Zahlungsart seid, achtet auf den Link im Browser. Dort steht z.B.: 9080713393ce4d109b32ad1b7493e71b
Das ist die UUID welche ihr euch merken müsst und welche ihr ändern wollt.

Logged Euch nun in Eurer Datenbank z.B. phpMyAdmin ein und sucht die Tabelle „customer“. Für uns interessant ist die Spalte „default_payment_method_id“. Denn dort ist unsere UUID BINAR gespeichert. Also in diesem Beispiel: 0x9080713393ce4d109b32ad1b7493e71b

Nun braucht ihr noch die Zahlungsmethode auf die Ihr wechseln wollt. Geht dafür wieder in das Backend Eures Shops (Einstellungen / Zahlungsmethoden) und sucht dort nach dem identischen Prinzip nach der UUID der neuen Zahlungsmethode. In diesem Beispiel die a0b841050b314e2681255066d4a7547f

Kopiert die Nummer und baut nun damit folgende Abfrage:
(Ersetzt die Beispiel UUIDs durch Eure eigenen)

UPDATE customer
SET default_payment_method_id = UNHEX(REPLACE(‚a0b841050b314e2681255066d4a7547f‘, ‚-‘, ‚‘))
WHERE default_payment_method_id = UNHEX(REPLACE(‚0x9080713393ce4d109b32ad1b7493e71b‘, ‚-‘, ‚‘));

Tragt nun diesen Code in phpMySql im Tab „SQL“ in das leere Feld ein und startet die Abfrage. Diese sollte auch bei mehreren tausend Kunden nur wenige Sekunden laufen. Nun sollten alle betreffenden Kunden die neue Zahlungsmethode zugewiesen haben. :wink:

Ich hoffe jemandem hilft diese Anleitung.
LG

1 „Gefällt mir“

oder einfach nur so:

UPDATE customer
SET default_payment_method_id = 0x391bba423a094594af05ebd5859595ed 
WHERE default_payment_method_id = 0xdb830faf14b8414e903e8c7e7a6c8457
1 „Gefällt mir“

Yep :slight_smile: Stimmt, wieso auch mehr Code, wenns auch mit weniger geht. :slight_smile: