• Behebung von Fehlern im WooCommerce-Checkout – doppelte Zahlungen, nicht synchronisierte Status und Abstürze bei hoher Auslastung

    16 Stunden vor
    • Gewünschtes Budget bis zu 850.37 USD
    • Warten auf einen Auftragnehmer...
  • Nach der Aktualisierung von WordPress und einigen Plugins in einem Kampf-Onlineshop (Themenbereich – Verkauf von Autoteilen, ca. 8–12.000 SKU, 300–600 Bestellungen/Tag, Spitzen bis zu 30 Bestellungen/Minute) traten kritische Fehler bei der Bestell- und Zahlungsabwicklung auf.

    Ausgangssituation und Umfeld
    - WordPress 6.5.x, WooCommerce 8.x
    - PHP 8.2, Nginx + PHP-FPM, MariaDB 10.6
    – Redis-Objektcache, Cloudflare, WP-Cron deaktiviert – System-Cron wird verwendet
    - Zahlungen: Stripe und Local Acquiring über ein separates Plugin (Webhook + Callback)
    - Lieferung: benutzerdefiniertes Tarifberechnungsmodul + Integration mit externer API (Spitzenzeitüberschreitungen)
    - Es gibt ein selbst geschriebenes Must-Use-Plugin, das zusätzliche Bestellfelder hinzufügt und Status über REST mit 1C synchronisiert

    Symptome
    - Manchmal entstehen bei der Zahlung mit Karte doppelte Bestellungen – eine im Bearbeitungsstatus, die zweite in der Warteschleife
    – Stripe-Webhooks ändern den Bestellstatus in regelmäßigen Abständen nicht, obwohl das Ereignis an Stripe übermittelt wurde
    - Bei Spitzenlasten sehen einige Benutzer 500 bei /checkout/ und die Protokolle enthalten schwerwiegende Fehler und Deadlocks/Sperrwartezeitüberschreitungen beim Aufzeichnen einer Bestellung
    - Im WooCommerce-Administrator wird die Bestellkarte manchmal nicht geöffnet – ein weißer Bildschirm aufgrund eines JS-Fehlers auf der Bearbeitungsseite

    Was zu tun
    - Reproduzieren Sie Probleme beim Staging, sammeln Sie Spuren, identifizieren Sie Grundursachen und beheben Sie sie, ohne wichtige Integrationen zu deaktivieren
    - Beheben Sie WooCommerce-Versions-/Hooks-Konflikte mit benutzerdefinierten Plugins und Zahlungsmodulen und vermeiden Sie die doppelte Verarbeitung von Zahlungs- und Rennereignissen beim Erstellen einer Bestellung
    - Korrigieren Sie die Webhooks/Callback-Verarbeitung, sodass Bestellstatus und Metadaten genau einmal aktualisiert werden, selbst bei erneuten Zustellungsereignissen und Netzwerkwiederholungsversuchen
    - Beseitigen Sie 500 Fehler beim Bezahlen, einschließlich Problemen mit Zeitüberschreitungen bei der externen Liefer-API und Blockierungen in der Datenbank
    - Behebung des JS-Fehlers auf der Bestellseite im Admin-Panel (Skript-/Abhängigkeitskonflikt nach dem Update), ohne dass benutzerdefinierte Metaboxen beschädigt werden

    Einschränkungen
    - Die Arbeit wird mit minimalen Änderungen am Theme durchgeführt – alle Änderungen erfolgen über ein untergeordnetes Theme und/oder ein separates Plugin, ohne den WooCommerce/WordPress-Kern zu bearbeiten
    – Sie können Redis, Cloudflare und System-Cron nicht in der Produktion deaktivieren – überprüfen Sie dies nur durch Staging und sorgfältige Veröffentlichung
    - Zugriffe: Staging + schreibgeschützter Zugriff auf Produktionsprotokolle, Änderungen in der Produktion über PR in Git und Bereitstellung über eine bestehende Pipeline

    Erwartetes Ergebnis
    - Korrekturen in Form von Commits/PR mit einer klaren Beschreibung der Gründe und Lösungen
    - Eine Reihe von Diagnoseprotokollen/Metriken (innerhalb der verfügbaren WP/Woo-Tools) zur Überwachung wiederholter Fehler
    - Kurze Anweisungen, was überwacht werden muss und wie ein Rollback sicher durchgeführt werden kann

    Akzeptanzkriterien (messbar)
    1) Während 48 Stunden Testbetrieb auf Staging während eines Lastlaufs entstehen keine Doppelbestellungen – 0 Duplikate pro 1000 Testzahlungen
    2) Stripe-Webhook/Callback ist idempotent – ​​die wiederholte Zustellung desselben Ereignisses ändert die Reihenfolge nicht mehr als einmal und erstellt keine neue
    3) Bei einem Lasttest beim Checkout (mindestens 20 rps für 30 Minuten) beträgt der Anteil von 5xx nicht mehr als 0,2 %, die durchschnittliche TTFB einer Checkout-Seite beträgt beim Staging bis zu 800 ms
    4) Der Verwaltungsfehler von WooCommerce Orders, der den weißen Bildschirm verursachte, wurde behoben – die Bestellkarte wird geöffnet und ohne JS-Fehler in der Konsole gespeichert

    Zusätzlich
    - Ich werde Nginx/PHP-FPM-Protokolle, WooCommerce-Protokolle, Zugriff auf das Git-Repository, eine Liste der letzten Updates und 3-5 Beispiele für problematische Bestellungen/Zahlungen bereitstellen.
  • How would you rate this task?

    Sign in to leave your rating.

    Total ratings: 1

Ihr Angebot

Sie haben für diese Bestellung noch kein Angebot abgegeben.
Klicken Sie auf „Angebot senden“, um Ihr Angebot zu senden.

Brauchen Sie eine ähnliche Aufgabe?

Wenn dieses Projekt Ihrem Bedarf nahe kommt, können Sie in der Kategorie fertige Dienstleistungen anzeigen oder Ihre eigene Aufgabe mit dem erforderlichen Budget, der Frist und den Anforderungen veröffentlichen.

The project «Behebung von Fehlern im WooCommerce-Checkout – doppelte Zahlungen, nicht synchronisierte Status und Abstürze bei hoher Auslastung» can be used as a reference for your own brief: what should be done, what result is needed and what budget to set.