Magento – M2E Pro Billing Address is not available. Rechnungsadresse fehlt nur noch Name

Update vom 21.03.2014

Die Zeit ist schnell voran geschritten und so auch die M2E Pro Versionen. Mittlerweile sind wir schon über Version 6 und der Code hat sich ein wenig geändert, das Ergebnis ist aber dasselbe. Die Meldung hat sich nur ein wenig geändert:

amazon

The Amazon does not supply the complete billing buyer information.

(“The Amazon” – Die Borg? 🙂 )

Das Problem geht immernoch von derselben Datei wie u.g. aus. Es sind aber ein paar Zeilen mehr geworden und zwar ca. 67 bis 147 (alles zwischen den // #### )

  
        if ($this->order->getShippingAddress()->hasSameBuyerAndRecipient()) {

            return parent::getBillingAddressData();

        }

        $customerNameParts = $this->getNameParts($this->order->getBuyerName());

        return array(

            'firstname'  => $customerNameParts['firstname'],

            'lastname'   => $customerNameParts['lastname'],

            'country_id' => '',

            'region'     => '',

            'region_id'  => '',

            'city'       => 'The Amazon does not supply the complete billing buyer information.',

            'postcode'   => '',

            'street'     => array(),

            'company'    => ''

        );

    }

    public function shouldIgnoreBillingAddressValidation()

    {

        if ($this->order->getAmazonAccount()->isMagentoOrdersBillingAddressSameAsShipping()) {

            return false;

        }

        if ($this->order->getShippingAddress()->hasSameBuyerAndRecipient()) {

            return false;

        }

        return true;

    }

    // ########################################

Dies kann man auskommentieren oder löschen.

Update vom 17.07.2013

Es klappt wie o.g. ich habe es nun getestet: Einfach die alte Datei verwenden bzw. die neuen Zeilen löschen und die Versandadresse wird wieder auch als Rechnungsadresse verwendet.

Ursprünglicher Artikel

Seit den neueren Versionen (ab M2E Pro 5.2.1) dieser wunderbaren kostenlosen Schnittstelle zwischen Magento, Amazon, eBay und anderen fällt auf, dass bei der Rechnungsadresse (Billing Address) von Amazon Bestellungen nur noch der Name und ein

Billing Address is not available.

zu lesen ist. Da war doch vorher die Adresse….? Auf Nachfrage beim Entwickler wurde sinngemäß wie folgt geantwortet:

“Aktuell gibt es keine Rechnungsadresse, da Amazon in der API Schnittstelle keine Rechnungsadressdaten übermittelt.
In den Versionen vor M2E Pro 5.2.1 wurde einfach die Versandadresse als Rechnungsadresse verwendet (kopiert). Hier gab es aber Beschwerden von Nutzeren, daher haben wir dies geändert.
Wenn sich heute die Rechnungs- von der Versandadresse unterscheided wird ein N/A mitgegeben.”

Wodurch wird also diese “Billing Address is not available.” Mitteilung ausgegeben? Im Ordner

app/code/community/Ess/M2ePro/Model/Amazon/Order

liegt die Datei Proxy.php

Bild

Wenn man die beiden Datei Versionen < 5.2.1 und >=5.2.1 anschaut, sieht man, dass in der neuen Version ein paar Zeilen hinzugekommen sind.

Und zwar die Zeilen 35-60

    public function getBillingAddressData()
    {
        $rawAddressData = $this->order->getShippingAddress()->getRawData();

        $customerNameParts = $this->getNameParts($rawAddressData['buyer_name']);

        return array(
            'firstname'  => $customerNameParts['firstname'],
            'lastname'   => $customerNameParts['lastname'],
            'country_id' => '',
            'region'     => '',
            'region_id'  => '',
            'city'       => 'Billing Address is not available.',
            'postcode'   => '',
            'street'     => array(),
            'company'    => ''
        );
    }

    public function shouldIgnoreBillingAddressValidation()
    {
        return true;
    }

    // ########################################

Wenn man es sich nun einfach machen möchte, kann man entweder das Layout der Rechnung anpassen, so dass die Versandadresse anstelle der Rechnungsadresse ausgegeben wird oder aber “Billing Address is not available” durch einen eigenen Spruch wie “(s. Versandadresse)” ersetzen. (Dies wird nicht rückwirkend funktionieren. Rechnungen, die erstellt wurden, bleiben mit dem alten Spruch und nur neue ändern sich.)

Wahrscheinlich ist die schönere Lösung, um den Status Ante wieder herzustellen, die alte Version der Proxy.php zu verwenden oder die betreffenden Zeilen einfach zu löschen (ich habe es noch nicht getestet!).

Genutzt in Magento Versionen 1.4.1.1 bis 1.8.1.0.. Fragen, Kommentare, Anregungen? Gerne!

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

2 comments on “Magento – M2E Pro Billing Address is not available. Rechnungsadresse fehlt nur noch Name”

  1. Ich bin vor kurzem auch über das Problem gestolpert, hatte aber noch keine Zeit, mich damit zu beschäftigen. Dann weiiß ich jetzt wenigstens, wo ich schauen muss.

    Besten Dank!

  2. Wichtiger Hinweis zu dem Artikel ist, dass M2e den Realtime API Benutzt um die Bestellungen zu bekommen und hier ist das Problem, dass hier die Billing Address fehlt.

    Bei einigen Kunden passt diese mit der Lieferadresse aber überein.
    Was man machen muss ist sich den Report “_GET_FLAT_FILE_ORDERS_DATA_” holen und auswerten.
    M2e ist wohl aber an dem “Problem” dran, wann es gelöst wird, konnten Sie leider nicht sagen.

Leave a Reply to Kai Köpke

Your email address will not be published. Required fields are marked *