2

我已经成功通过 Prestashop webservice api 下了一个新订单。导致我出现问题的是订单的 current_status每次下订单时都会以某种方式自动更改为 12(远程接受付款)。

我无法弄清楚这是什么原因,因为我将它设置为 10(等待银行电汇付款),并且在发出 POST 请求后得到的响应中它仍然设置为 10。但如果我在后台、数据库或通过 api 检查它,订单现在的状态为 12。

知道是什么导致了这种变化吗?

4

1 回答 1

1

Prestashop 会自动将“已接受远程付款”的订单状态添加到通过 Web 服务添加的订单中。或者,您可以在添加订单后通过网络服务添加订单状态。

请考虑以下代码:

$xml = $webService->get(array('url' => PS_SHOP_PATH.'/api/order_histories?schema=blank'));

$xml->order_history->id_order = $id['order'];
$xml->order_history->id_order_state = '3';

$opt = array('resource' => 'order_histories');
$opt['postXml'] = $xml->asXML();
$xml = $webService->add($opt);

这样,它将状态更改为处理中。您还需要禁用远程支付接受验证和电子邮件功能。

于 2015-12-31T14:01:33.067 回答