2013-06-18 17 views
-1

即時消息使用一個頁面結帳,我需要在支付成功後傳遞少量信息。我使用了sales_order_payment_pay,checkout_type_onepage_save_order_after,sales_order_payment_place_end & checkout_onepage_controller_success_action事件。但是,一旦點擊下訂單,就會觸發這些事件。即使付款失敗也觸發了該事件。我只需在成功付款時傳遞信息。如何觸發magento收到的付款事件?

回答

2

sales_order_payment_place_end就足夠好了。只需添加您需要使用的任何邏輯即可。你可以抓住從$observer$payment$order$payment

試着看$payment->getAmountAuthorized如果支付成功,這應該是大於0

編輯:$ observer-> getEvent() - > getPayment( ); (應該工作)

+0

「checkout_onepage_controller_success_action」事件伎倆。多謝你們。要獲取訂單ID,我使用了$ observer-> getEvent() - > getOrderIds(); – Palanikumar

+0

@Palanikumar:兩件事:一:請注意,如果管理員下單,它可能會或可能不會觸及此事件。不知道這對你是否重要。這就是爲什麼我建議sales_order_payment_place_end(你也說'付款已成功')。其次:或者給我們一個正確的答案,或者自己創建一個答案並選擇它。幫助! –

+0

@ SH-我需要從$ observer中獲得$ payment變量的代碼是什麼? –