2012-10-25 28 views
0

我有一個由Magento支持的電子商務網站,但現在我需要在Magento和公司的管理軟件之間建立連接。在Magento結賬過程中發送請求

的過程應該是這樣的:

  1. 用戶把一些東西,在他的車
  2. 用戶經過結帳過程
  3. 用戶支付與PayPal總後,Magento的應發一個HTTP請求(可能是POST,帶有訂單數據)到一個處理請求的外部服務器,並處理收到的數據。

我的問題是,我不知道如何發送請求從訂單數據Magento後結帳過程。我認爲這是使用電子商務的公司常見的情況。你有這個想法嗎?謝謝。

回答

2

您可以使用一個觀察者結賬事件之後獲得,並在您的觀察,您可以發送某種捲曲後到您的外部服務器。 (就像@Prasath阿爾貝說)

看看那裏做一個觀察者:http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method

您正在尋找checkout_cart_save_after。好運,讓我知道你是否需要別的東西。

編輯:

使用本教程做你的觀察http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method使100%這樣的。創建新模塊來完成它。

那麼你的觀測方法可這樣的事情:

function observermethod($observer){ 
    $observer->getEvent->getOrder()->getData(); 
} 
+0

感謝您的回覆。我應該使用CURL還是有更好的方法? –

+0

您可以使用Curl或Httprequest或任何其他庫文件做什麼http請求。或者你可以使用其他一些PHP函數發送信息。查看http請求示例:http://php.net/manual/en/httprequest.send.php – Guerra

+0

checkout_cart_save_after不是一件好事,它會在每次購物車更新時被調用。更喜歡sales_order_payment_pay(+選項檢查是否貝寶方法)或sales_order_place_after –

1

您可以使用CURL來實現此目的。爲此

1)在外部服務器中添加一個頁面,用於處理來自magento的輸入。

2)編輯Magento購物車功能,發送請求到外部服務器。

例如:您可以使用CURL來提出此請​​求。

$data = "item=".$item;//input data 
    $url="http://External server/handler.php"; 
    $handle = curl_init($url); 
    curl_setopt($handle, CURLOPT_POST, true); 
    curl_setopt($handle, CURLOPT_POSTFIELDS, $data); 
    curl_exec($handle); 
+0

哪裏是放置在Magento的車functionatily? –