Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用PrestaShop&x27创建订单;s API_Php_Xml_Prestashop_Prestashop 1.6 - Fatal编程技术网

Php 使用PrestaShop&x27创建订单;s API

Php 使用PrestaShop&x27创建订单;s API,php,xml,prestashop,prestashop-1.6,Php,Xml,Prestashop,Prestashop 1.6,我有一个PrestaShop 1.6.0.9,我正在尝试创建一个新订单。我将遵循以下步骤: 使用我之前创建的客户机的安全密钥、我想购买的产品的id和数量创建购物车 然后创建一个新订单(发送帖子到/api/order),传递客户id、安全密钥、产品id、价格(含税和不含税)等。。。 这是我发送的整个XML: 5. 51 121 21现金交付 帕戈恩金属城1 1e87b5d59d7c812a9d840a548e4b8a45 7. 341 42 24.8524.85 20.5424.85 如您所见

我有一个PrestaShop 1.6.0.9,我正在尝试创建一个新订单。我将遵循以下步骤:

  • 使用我之前创建的客户机的安全密钥、我想购买的产品的id和数量创建购物车

  • 然后创建一个新订单(发送帖子到
    /api/order
    ),传递客户id、安全密钥、产品id、价格(含税和不含税)等。。。 这是我发送的整个XML:

  • 
    5.
    51
    121
    21现金交付
    帕戈恩金属城1
    1e87b5d59d7c812a9d840a548e4b8a45
    7.
    341
    42
    24.8524.85
    20.5424.85
    

    如您所见,我正在使用“cashondelivery”模块。我的问题是,当我将XML发布到API时,会创建get顺序,但是:

  • 不知何故,订单没有显示在订单列表中,但如果我在发布订单XML之前转到“客户->购物车->我创建的购物车id”->从该购物车创建的订单,我就可以获得该订单

  • 一旦我进入订单,我就看不到客户机的详细信息(因为没有插入客户机的id)。我很确定id为2的客户机确实存在,但我不确定为什么它没有与我发送到API的POST一起插入


  • 知道这两个问题为什么会发生吗?

    我将为从谷歌来到这里的任何人发布答案。 即使PS文档说不需要id,您也必须传递购物车和订单中的每个id字段

    这意味着,在创建购物车和订单时,必须提供客户id、地址id、交货地址id等


    如果你这样做失败,你的订单可能会被插入,也可能不会。而且,如果它被插入,也不能保证它会出现在“订单”列表中。

    我为从谷歌来到这里的任何人发布答案。 即使PS文档说不需要id,您也必须传递购物车和订单中的每个id字段

    这意味着,在创建购物车和订单时,必须提供客户id、地址id、交货地址id等

    如果您这样做失败,您的订单可能会被插入,也可能不会。而且,如果您的订单被插入,则不能保证它会显示在“订单”列表中。

    为了创建有效的订单,您需要遵循一些“隐藏的”强制事项:

  • 安全密钥必须在客户的安全密钥和订单的安全密钥之间匹配 安全密钥
  • (送货地址)必须与有效的国家/地区相关联
  • 因此,最好的方法是遵循创建订单的整个流程,当然:

  • 创建客户,从返回的xml中获取客户的
    安全密钥
    客户id

  • 使用上述步骤中的
    customer\u id
    创建购物车

  • 使用上述步骤中的
    customer\u id
    、客户的
    secure\u key
    cart\u id
    创建订单

  • 为了创建有效的订单,您需要遵循一些“隐藏的”强制事项:

  • 安全密钥必须在客户的安全密钥和订单的安全密钥之间匹配 安全密钥
  • (送货地址)必须与有效的国家/地区相关联
  • 因此,最好的方法是遵循创建订单的整个流程,当然:

  • 创建客户,从返回的xml中获取客户的
    安全密钥
    客户id

  • 使用上述步骤中的
    customer\u id
    创建购物车

  • 使用上述步骤中的
    customer\u id
    、客户的
    secure\u key
    cart\u id
    创建订单


  • 如果是客人结账怎么办如果是客人结账怎么办