Nach dem Kauf der UPS-Erweiterung "UPS Shipment" und dem Download der Datei bms-magento-upsshipment-1.3.3.zip wird diese entpackt und in den Hauptpfad der Magentoinstallation kopiert. Die SOAP-(PHP-)Extension muss hierzu aktiviert sein. Nach Inbetriebnahme der Erweiterung kann dann der Fehler "Missing or invalid Shipto AttentionName" auftauchen, wenn der Versand an eine Adresse außerhalb Deutschlands erfolgen soll. UPS benötigt hier dann neben dem eigentlichen Adressaten auch den "z.Hd."-Eintrag, der aber nicht aus Magento heraus übermittelt wird.
Der Fehler entsteht dabei in der Datei
/app/code/community/MDN/UpsShipment/Model/Convertor/Shipment.php
Hier hilft es dann, hinter der Zeile (ca. Zeile 69)
$shipTo['Name'] = $helper->checkMaxLength(implode(' ', $name));
den fehlenden Eintrag zu ergänzen mit den Anweisungen
if ($shippingAddress->getcountry_id() != 'DE') {
$shipTo['AttentionName'] = $shipTo['Name'];
}
Zusätzlich macht sich die Extension danach bemerkbar durch die Fehlermeldung "Missing or invalid Shipper AttentionName", die ähnlich gelagert ist. Hier verändern wir die Datei
/app/code/community/MDN/UpsShipment/Model/Configuration.php
die wir beispielsweise nach der Zeile (ca. Zeile 69)
'Name' => Mage::getStoreConfig('upsshipment/shipper/name', $storeId),
diese zusätzliche Zeile einfügen:
'AttentionName' => Mage::getStoreConfig('upsshipment/shipper/name', $storeId),
Damit sollte alles reibungslos funktionieren. Getestet in Magento CE 1.8.0.0.