在Magento结账过程后发送请求

时间:2012-10-25 10:33:56

标签: php zend-framework magento e-commerce magento-1.7

我有一个由Magento提供支持的电子商务网站,但现在我需要在Magento和公司的管理软件之间建立连接。

这个过程应该是这样的:

  1. 用户将一些东西放入购物车
  2. 用户完成结帐流程
  3. 在用户使用Paypal支付了总额后,Magento应该向处理请求的外部服务器发送HTTP请求(可能是POST,带有订单数据),并对收到的数据进行处理。
  4. 我的问题是我不知道如何在结账过程之后使用订单数据从Magento发送请求。我认为这是使用电子商务的公司的常见情况。你有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用观察者来获取结账后事件,并且在您的观察者上,您可以向外部服务器发送某种卷曲帖子。 (就像@Prasath Albert所说的那样)

看一下观察者: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();
}

答案 1 :(得分:1)

您可以使用CURL来实现此目的。为此

1)在外部服务器中添加一个页面,用于处理来自magento的输入。

2)编辑Magento Cart功能,向外部服务器发送请求。

例如:您可以使用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);