尝试通过Magento API V1.0创建新订单时,我遇到了一个相当奇怪的错误。以下是我的代码的基本工作流程:
cart.create
方法创建购物车。cart_customer.set
方法将客户设为“来宾”。cart_product.add
方法将商品添加到购物车。cart.order
方法创建订单。此时, cart.order 方法抛出一个SoapFault异常,其消息为“在非对象上调用成员函数setFinalPrice()”。如果我将cart.order
方法替换为cart.info
或cart_product.list
等其他方法,则会引发相同的异常。
由于异常的消息似乎不具有描述性,我想知道是否有其他人曾经碰到过这个消息。
感谢。
更新:问题是由于我在调用cart_product.add
方法时使用SKU将产品添加到购物车。使用产品ID而不是SKU时不再抛出异常(我怀疑这可能是一个错误)。但是,此时cart.order
方法返回 false ,因此仍未创建订单。
答案 0 :(得分:3)
在执行cart.order方法之前,您必须将付款和送货地址分配给购物车。
这是在magento中创建订单的标准程序。
步骤应该是这样的:
试着打电话 在您致电 cart.order
之前 cart_shipping.method 和 cart_payment.method