Problem

Beim Erstellen von Sendungen mit Transportversicherung oder Nachnahme tritt diese Meldung auf:


Hard validation error occured. Bitte geben Sie einen gültigen Betrag an


Ursache

Wenn der Betrag der Bestellung 1000 EUR oder höher ist, fügt Magento ein zusätzliches Komma als Tausender-Trennzeichen in den Betrag ein. Das Komma kann vom DHL Webservice (API) aber nicht korrekt verarbeitet werden.


Lösung

Dieses Problem betrifft das DHL Versenden-Modul für Magento 1 bis einschl. Version 1.3.0. In späteren Versionen ist es behoben.


Als Quickfix können folgende Änderungen vorgenommen werden:


Bearbeiten Sie die Datei:

  • lib/Dhl/Versenden/Bcs/Api/Webservice/Adapter/Soap/ServiceType.php


Suchen Sie darin nach dieser Codestelle:

$insuranceAmount = $requestData->getInsurance();


Ersetzen Sie die Zeile durch folgenden Code:

$insuranceAmount = str_replace(',', '', $requestData->getInsurance());


Suchen Sie dann in der gleichen Datei nach dieser Zeile:

$codAmount = $requestData->getCod();


und tragen Sie stattdessen folgendes ein:

$codAmount = str_replace(',', '', $requestData->getCod());


Durch diese Änderungen wird das Problem sowohl für Transportversicherung als auch für Nachnahme behoben.


Speichern Sie die Datei, löschen Sie alle Magento-Caches, und stoßen Sie die Übertragung an DHL erneut an.