最近、オブザーバーとMagentoイベントを使用してMagentoストアの受注を管理するための自動スクリプトをいくつか設定しました。私の問題は、注文が選択された支払いタイプに応じてシステムに置かれて保存されるときの問題を扱っています。Magento PayPalモジュールのイベント
たとえば、誰かが前払いを選択した場合、注文はすぐに保存され、顧客は自動的に成功ページに転送されます。これまでのところ問題はありません。
お客様がPaypal経由で支払いを行う場合、状況はまったく異なります。 PayPalにリダイレクトされ、アカウントにログインして支払いを確認した後、顧客はMagentoストアにリダイレクトされません。彼はリンクをクリックしてそこに戻り、成功ページにも転送しますが、確かに誰もそれをやることはありません。問題は、私が使っているオブザーバーイベントは、そのページにユーザーがいるとコードを実行するだけです。 (私が使っているイベントは "checkout_Onepage_Controller_Success_Action"です)。
したがって、私は、MagentoがPayPalの支払いが成功したか、キャンセルされたかなどの情報をどこから取得する必要があるかを知る必要があります。私は、/ app/code/core/Mage/Paypal/controllers /の下のPayPalコントローラファイルを調べましたが、可能な解決策に近いと思われるのはStandardController.phpのsuccessAction()でした。しかし、この機能は、顧客がMagento店に戻って私の役に立たないようにすることを選択した場合にのみ起動されるようにも見えます。
誰かがその問題を経験していますか?
正確に使用しているpaymenntメソッドを指定 –
私の例はMagento v1.5.1.0の標準PayPalモジュールを指します – FlyingM
コントローラーイベントではなくオーダーオブジェクトに関連するイベントにバインドし、すべてのイベントをテキストファイルにログアウトしてくださいあなたのプロセスの中でトリガーされているものがあれば、適切なものを選択することができます –