断続的で一見ランダムなバグが、少なくとも 3 つの異なるサイトで Magento チェックアウトに影響を与えています。Magento フォーラムには、このトピックに関する多くのスレッドがあり、いくつかの悪いアドバイスがあります (例外を飲み込んでください)。この問題は売り上げの損失を引き起こし、サイト所有者に多くの不満をもたらしています. この問題は、2011 年 3 月以降、Magento で記録されています ( http://www.magentocommerce.com/bug-tracking/issue/?issue=11081 )。
支払い方法、ブラウザ、Magento のバージョン、またはその他の要素に相関を試みたパターンはありません。主な症状は、var/log/exception.log に記録された例外であり、「見積もりの合計を収集する必要があります」というメッセージがスローされMage_Sales_Model_Quote::prepareRecurringPaymentProfiles()
ます。
例外が発生したときに要求パラメーターをログに記録し、payment
パラメーターが空であることを特定しました。お客様が [Place Order] をクリックした時点で Magento が Payment ステップからフォーム要素を再送信し (AJAX リクエスト間でクレジット カードの詳細がサイトに保持されないようにするため)、フォームのシリアル化が失敗し、null が返されると考えられます。 /empty を opcheckout.js コードが PHP に渡し、例外をトリガーします。
Form.serialize
プロトタイプのメソッドがこのように失敗する原因となる条件またはデータ、および/または問題をさらに攻撃する方法を提案できますか?