独自のサードパーティゲートウェイを実装するためにmagentoのコードの一部を変更できましたが、誰かが注文を行ったときに取引の「購入」カウントが正しくないという問題があります。saveOrderActionが実行されるとカウントが直接増加します(成功または失敗する前)ページ-失敗すると、カウントは再び減少します、これは正しいです-しかし、成功ページの前に増加させたくありません)この段階では、注文はシステムに「処理中」として保存されます
私が持っていないコードは基本的に次のとおりです。「saveOrderAction」には、選択した支払い方法をチェックする条件があります。
サードパーティの場合は、サードパーティのページにリダイレクトし、サードパーティのページからmagentoに戻って「successAction」または「failureAction」(どちらの場合でも)にいくつかのパラメータを渡します。
次に、それに応じて注文を保存し、その状態を完了として設定します。
私がやりたいのは、支払いが成功した後に「購入した」カウントを増やすことだけです。誰かが「購入した」がmagentoでどのように実装されるかのロジックの洞察を私に与えることができれば
これは、model mage \ checkout \ model \ type \ onepage.phpの関数saveOrder()で発生することを私は知っています:
$service = Mage::getModel('sales/service_quote', $this->getQuote());
$service->submitAll();
しかし、submitAllのどこで発生しているのかわかりません...最初は注文を保存しないか、カウントされない別の状態に設定するか、何がわからないのでしょうか。
どんな助け/提案も大歓迎です!ありがとう :)