2011-11-18 81 views
2

我的模塊需要知道何時發生成功結賬。所以,根據我在各個地方閱讀的內容,我會聽取checkout_onepage_controller_success_action和checkout_multipage_controller_success_action事件。這很好,當我在我的開發網站上用虛擬信用卡支付時,上述事件之一被解僱。但是我想知道如果我使用PayPal付款,會發生什麼情況,所以我說PayPal開發人員沙箱會對其進行測試。檢查http流量時,我發現訂單發出時,notify_url已發送給PayPal。這是有希望的 - 當PayPal/ipn操作從PayPal中調用時,如果收到「已完成」狀態,PayPal模塊將觸發結帳_xxx_controller_success_action - 對嗎?錯誤。Magento,PayPal和PayPal IPN - 訂單成功放置時不會觸發事件

我的模塊依賴於知道訂單成功放置的時間,所以我正在尋求有關解決此問題的最佳方法的建議。

我只是在這裏添加一點關於我的環境,以防它是相關的。 我在筆記本電腦上運行Magento 1.4.2.0。使用PayPal Standard時,會將一個notify_url發送給PayPal,該PayPal將覆蓋PayPal賬戶中的任何設置。我正在通過筆記本電腦進行測試,因此傳遞給PayPal的通知網址無法從PayPal沙箱訪問。所以我改變了notify_url指向一個可訪問的JSP,它只是打印出它收到的通知。然後,我將該參數字符串賦給我在我的機器上運行的一個小程序,該程序將它發佈到原始的notify_url(.../index.php/paypal/ipn)。

謝謝。

回答

0

我有同樣的煩惱 - 嘗試使用sales_order_payment_pay事件,而不是 - 它的工作很好,我

1

這是一個老的文章,但仍然是一個相關的問題。我們成功使用事件checkout_onepage_controller_success_action(Magento核心GoogleAnalytics擴展程序使用)來觀察成功的PayPal Express訂單(以及結算單頁訂單)。事件sales_order_payment_pay未觸發新訂單。