Bei einer geringen Anzahl von Magentonutzern kommt des zu dem Fall, dass PayPal Zahlungen dazu führen, dass keine Auftragsbestätigung verschickt wird. Die Probleme hierfür können sehr vielfältig sein. So kann ein Grund sein, dass die IPN Kommunikation fehlschlägt und nicht alle Daten sauber übertragen werden. Alternativ kann es auch ein Problem mit curl oder einer anderen Sache geben. Selbst wenn die Bestellung dann in Magento aufgeführt wird und die Zahlung von PayPal bestätigt wurde, verschickt magento keine Bestellbestätigung. Das führt zwangsläufig bei dem Kunden zu einem unzufriedenen Einkaufserlebnis! 

Das primäre Augenmerk sollte IMMER in der Korrektur des Fehlers liegen. Wenn der Shop aber bereits im Livebetrieb ist, muss manchmal eine extreme Quick’n’Dirty Lösung her. Genau diese möchte ich an dieser Stelle einmal kurz vorstellen. Aber Achtung! Es wird in diesem Fall immer und sofort eine Bestellbestätigung verschickt – noch bevor die Zahlung erfolgreich durchgeführt wurde!!

Wir ändern die Datei /app/code/core/Mage/Checkout/Model/Type/Onepage.php << Das ist eine Mage-Datei und wird ggf. bei einem Update überschrieben. Jedoch sollte diese Lösung eh nur für den Notfall genutzt werden!

Wir suchen die folgenden Zeilen:

if (!$redirectUrl && $order->getCanSendNewEmailFlag()) {
try {
$order->sendNewOrderEmail();
} catch (Exception $e) {
Mage::logException($e);
}
}

Und ändern diese wie folgt ab:

//if (!$redirectUrl && $order->getCanSendNewEmailFlag()) {
try {
$order->sendNewOrderEmail();
} catch (Exception $e) {
Mage::logException($e);
}
//}

 Das war es auch schon. Jetzt muss die Datei nur noch gespeichert und wieder hochgeladen werden. Diese Variante funktioniert bei Magento 1.702. Andere Versionen können Probleme machen oder eine andere Lösung erfordern!