【问题标题】:Working with Shopify Order API使用 Shopify 订单 API
【发布时间】:2017-03-16 09:53:39
【问题描述】:

我正在为我的 Shopify 商店制作一个私人应用程序。该应用程序应该取代标准的结帐流程。 一切正常,订单发送到我的 Shopify 商店,我可以在管理区域看到它,我面临的唯一问题是下订单后购物车属性不会重置(客户的产品仍然存在购物车,最重要的是,购物车令牌不会改变)。 任何人都知道为什么会发生这种情况以及我该如何解决?我在想也许我没有向商店发送足够的信息,但我可能错了。这是我要发送的内容:

$product = $shopify('POST /admin/orders.json', array(), array
    (
      'order' => array
      (
        "email" => $email,
        "fulfilment_status" => "",
        "send_receipt" => true,
        "line_items" => $products,
        'customer' => array
        (
          "first_name" => $firstName,
          "last_name" => $name,
          "email" => $email
        ),
        'billing_address' => array
        (
          "first_name" => $firstName,
          "last_name" => $name,
          "address1" => $adress,
          "phone" => $telefon,
          "city" => $city,
          "province" => $province,
          "country" => $country,
          "zip" => $zip
        ),
        'note_attributes' => array (
        array("name" => "Company", "value" => $company),
        array("name" => "CUI","value" => $cui),
        array("name" => "Registration","value" => $reg)
        ),
        'shipping_address' => array
        (
          "first_name" => $firstName,
          "last_name" => $name,
          "address1" => $adress,
          "phone" => $phone,
          "city" => $city,
          "province" => $province,
          "province_code" => $provinceCode,
          "name" => $firstName." ".$name,
          "country_code" => $countryCode,
          "country" => $country,
          "zip" => $zip
        ),
        'shipping_lines' => $shipping,
        'financial_status' => 'pending'
      )
    ));

【问题讨论】:

    标签: api shopify


    【解决方案1】:

    执行POST 后,响应数据中将出现order_status_url 字段。将用户带到该 URL,购物车将被重置。

    请注意,除非订单通过结帐流程完成,否则order_status_url 将为空。

    更正:通过 API 下的订单无法进入结帐流程,在这种情况下请查看下方。

    您可以通过 AJAX GET/cart/clear.js 清除购物车 您可以通过分别使用"attributes": {}"note":""/cart/update.js 执行AJAX POST 来清除属性/注释。

    【讨论】:

    • 没有别的办法了吗?
    • 没有。但它很容易实现。无论如何,您都需要将他们带到与 checkout_url 相同的谢谢 URL
    • 我在 /admin/orders.json 的响应数据中找不到任何名为“checkout_url”的字段...我做错了什么?
    • 我的错误。这是order_status_url。更新了答案。
    • 我再次更新了答案。请注意,除非购物车通过结帐流程被清除,否则购物车令牌不会更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多