首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过SquareConnect PHP添加项目到正方形-- 'category‘和'fees’被排除

通过SquareConnect PHP添加项目到正方形-- 'category‘和'fees’被排除
EN

Stack Overflow用户
提问于 2018-02-27 10:28:55
回答 2查看 122关注 0票数 0

这里是SquareConnect API的新手。

我正在尝试使用PHP方法向Square添加一个项目:

代码语言:javascript
运行
复制
$api_instance = new SquareConnect\Api\V1ItemsApi();
$body = new \SquareConnect\Model\V1Item($request_body);
$result = $api_instance->createItem($location_id, $body);

我的request_body定义:

代码语言:javascript
运行
复制
$request_body = array( 
  "name" => "**ITEM NAME**",
  "description" => "**ITEM DESCRIPTION**",
  "category" => array(
      "id" => "**CATEGORY ID**",
      "name" => "**CATEGORY NAME**"
  ),
  "variations" => array( 
      array( 
          "name" => "**VARIATION NAME**", 
          "sku" => "**SKU**",
          "pricing_type" => "FIXED_PRICING", 
          "price_money" => array( 
              "currency_code" => "USD", 
              "amount" => "**AMOUNT**"
          ) 
      ) 
  ),
  "fees" => array(
    "enabled" => "1",
    "name" => "Sales Tax",
    "rate" => "0.0775",
    "calculation_phase" => "FEE_SUBTOTAL_PHASE",
    "adjustment_type" => "TAX",
    "inclusion_type" => "ADDITIVE",
    "type" => "US_SALES_TAX"
  )
);

正在将项目和变体数据添加到Square,但不包括“类别”和“费用”定义。因此,该项目最终在平面空间中,这需要我登录到主Square界面,将项目添加到适当的类别,并设置其税收信息。如果可以避免的话,我不想采取这些额外的步骤。

"fees“部分中的税务信息是从通过Square接口添加的项目中找到的定义中逐字获取的。我已经确认并再次确认类别id和类别名称与所需类别的类别id和类别名称匹配。我还尝试用一个简单的"category_id“=> "CATEGORY ID”定义替换"category“数组。同样的结果。

有人能帮上忙吗?另外,如果有更好的方法通过API将项目添加到Square,请让我知道!

提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2018-02-28 02:36:21

第一部分,类别

如果您查看有关在条目创建过程中指定条目类别的docs

您正在指定一个数组:

代码语言:javascript
运行
复制
  "category" => array(
      "id" => "**CATEGORY ID**",
      "name" => "**CATEGORY NAME**"
  ),

相反,您应该使用字符串:

代码语言:javascript
运行
复制
  "category" => "**CATEGORY ID**",

第二部分,费用

如果您再次查看文档,您将不会在V1 items create中看到任何对费用的引用。这是因为您不能使用该端点创建摘要。相反,您应该使用create a new fee。您可以在这里看到一些示例代码:https://github.com/square/connect-php-sdk/blob/master/docs/Api/V1ItemsApi.md#createfee

票数 0
EN

Stack Overflow用户

发布于 2018-03-02 02:49:25

我将专注于category_id,因为您似乎已经根据评论弄清楚了“费用”问题。

我只是使用这个作为测试代码,并且成功设置了类别:

代码语言:javascript
运行
复制
  $items_api = new \SquareConnect\Api\V1ItemsApi();

  $body = array(
    "name" => "Test Item",
    "category_id" => "YFIHMKYXNFJ7TE5FRBWQAGU6",
    "variations" => array(
        array(
        "name" => "Small",
        "pricing_type" => "FIXED_PRICING",
        "price_money" => array(
            "amount" => 100,
            "currency_code" => "USD"
        )
    ))
  );

  $result = $items_api->createItem($location_id, $body);
  echo $result;

Location_id是较早创建的,但其他所有内容都在那里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49000175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档