私たちは、使用しているMagentoのEE 1.13.0.2をしてペイパルウェブペイメントスタンダードの支払い方法。残念ながら、バックエンドで有料PayPal注文の注文ステータスを設定することはできません。
注文が部分的にではなく正常に支払われたときに、カスタム注文ステータスを設定する必要があります。PayPal注文ステータスを変更するチュートリアルは、古くなっているか、間違っているか、醜いハッキングのようです。
私が集めたものから:
- 支払いの更新はPayPal IPNによって処理されます。
Mage_Paypal_Model_Ipn::_registerPaymentCapture()
「完了した支払いを処理する(全額または一部)」を担当する方法があります。Mage_Paypal_Model_Ipn::_registerTransaction()
PayPalからの要求に分析され、支払い状況が比較されますMage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED
。
正直に言うと、この情報をどうするかわかりません。私は書き換えMage_Paypal_Model_Ipn::_registerTransaction()
てコードを追加するだけです:
// paid
case Mage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED:
$this->_registerPaymentCapture(true);
// my code here
break;
もちろん、イベントオブザーバー(注文または注文状態イベントの1つなど)の方がはるかに優れていますが、PayPalを介して注文が完全に支払われたときに、1回限りのイベントをキャッチする100%信頼できる方法があるかどうかはわかりません。
何か案は?
更新
注文ステータスフローの変更を選択したため、ステータスを変更する必要はありません。誰かが答えたい場合に備えて、質問はしばらく開いておきます。