Paypal Express を使用した Onepage チェックアウトで奇妙なバグが発生します。
ログインした顧客は、新しい請求先住所を「その場で」入力し、「アドレス帳に保存」と「この住所に発送」を設定してから、チェックアウトに進みます。
この時点で、アドレスはデータベースに正しく保存されます。
顧客が Paypal を選択すると、Magento はそのロジック (コレクションの合計、見積もりの保存 - 2 回、データ チェックなど) を実行します。
Xdebug を使用してロジックをステップ実行しましたが、正確な場所を特定することはできませんが、 afterSave() コールバックの 318 行目の /app/code/core/Mage/Sales/Model/Quote.php で Paypal にリダイレクトする直前に、ライン
if (null !== $this->_addresses) {
$this->getAddressesCollection()->save();
}
$this->getAddressesCollection() で、請求先住所と配送先住所が間違っています。どちらも顧客のデフォルトです。ただし、データベースはまだ正しいです。
->save() が起動すると、正しいものが上書きされます。
確かに Magento のバグのようですが、解決策を見つける必要があります。これは EE 1.11.1.0 です。
誰もこれを以前に経験しましたか?
ありがとう