通过API创建订单在Magento中失败

时间:2011-10-13 15:28:05

标签: api magento

尝试通过Magento API V1.0创建新订单时,我遇到了一个相当奇怪的错误。以下是我的代码的基本工作流程:

  1. 使用cart.create方法创建购物车。
  2. 使用cart_customer.set方法将客户设为“来宾”。
  3. 使用cart_product.add方法将商品添加到购物车。
  4. 使用cart.order方法创建订单。
  5. 此时, cart.order 方法抛出一个SoapFault异常,其消息为“在非对象上调用成员函数setFinalPrice()”。如果我将cart.order方法替换为cart.infocart_product.list等其他方法,则会引发相同的异常。

    由于异常的消息似乎不具有描述性,我想知道是否有其他人曾经碰到过这个消息。

    感谢。

    更新:问题是由于我在调用cart_product.add方法时使用SKU将产品添加到购物车。使用产品ID而不是SKU时不再抛出异常(我怀疑这可能是一个错误)。但是,此时cart.order方法返回 false ,因此仍未创建订单。

1 个答案:

答案 0 :(得分:3)

在执行cart.order方法之前,您必须将付款和送货地址分配给购物车。

这是在magento中创建订单的标准程序。

步骤应该是这样的:

  • 使用cart.create方法创建购物车。
  • 使用cart_customer.set方法将客户设为“来宾”。
  • 使用cart_product.add方法将商品添加到购物车。
  

试着打电话   在您致电 cart.order

之前 cart_shipping.method cart_payment.method
  • 使用cart.order方法创建订单。