首页 > 解决方案 > Prestashop 1.7 API - 新订单问题

问题描述

外部软件 (Baselinker) 无法通过网络服务在我的 Prestashop 中创建订单。

function validateOrder() on boolean in
/home/YYY/domains/XXX/public_html/classes/order/Order.php:1687 Stack trace: #0
/home/YYY/domains/XXX/public_html/classes/webservice/WebserviceRequest.php(1566): OrderCore->addWs() #1
/home/YYY/domains/XXX/public_html/classes/webservice/WebserviceRequest.php(1370): WebserviceRequestCore->saveEntityFromXml(201) #2
/home/YYY/domains/XXX/public_html/classes/webservice/WebserviceRequest.php(565): WebserviceRequestCore->executeEntityPost() #3
/home/YYY/domains/XXX/public_html/webservice/dispatcher.php(87): WebserviceRequestCore->fetch('TW76KCVK825K1UC...', 'POST', 'orders', Array, false, '<?xml version="...') #4 {main} thrown in /home/YYY/domains/XXX/public_html/classes/order/Order.php on line 1687 

这是第 1687 行 Order.php 中的部分代码。

$payment_module->validateOrder($this->id_cart, Configuration::get('PS_OS_WS_PAYMENT'),
$this->total_paid, $this->payment, null, array(), null, false, $customer->secure_key);

如何解决?

标签: apiprestashop

解决方案


我检查了 Order->addWs() 中的内容,在添加订单之前应该创建客户和购物车。

创建订单时,您需要设置并传递:

  • module -> 需要是已安装支付模块的名称

  • id_customer

  • id_cart

  • 总支付

  • 支付


推荐阅读