Добавление элемента в Square через SquareConnect PHP API — исключены категории и сборы

SquareConnect API новичок здесь.

Я пытаюсь добавить элемент в Square, используя метод PHP:

$api_instance = new SquareConnect\Api\V1ItemsApi();
$body = new \SquareConnect\Model\V1Item($request_body);
$result = $api_instance->createItem($location_id, $body);

Мое определение request_body:

$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, добавления элемента в соответствующую категорию и установки его налоговой информации. Я не хочу предпринимать эти дополнительные шаги, если их можно избежать.

Информация о налогах в разделе «сборы» дословно взята из определений, найденных в элементах, добавленных через интерфейс Square. Я подтвердил и повторно подтвердил, что идентификатор категории и название категории совпадают с номерами нужной категории. Я также попытался заменить массив «category» простым определением «category_id» => «ID КАТЕГОРИИ». Тот же результат.

Кто-нибудь может помочь? Также, если есть лучший способ добавить элемент в Square через API, пожалуйста, дайте мне знать!

Заранее спасибо.

0

Решение

Часть первая, категории

Если вы посмотрите на документы об указании категории элемента при создании элемента:

категория документы

Вы указываете массив:

  "category" => array(
"id" => "**CATEGORY ID**",
"name" => "**CATEGORY NAME**"),

вместо этого вы должны использовать строку:

  "category" => "**CATEGORY ID**",

Часть вторая, сборы

Если вы снова посмотрите документы, вы не увидите никаких ссылок на сборы в элементах V1. Это потому, что вы не можете создать комиссию с этой конечной точкой. Вместо этого вы должны создать новую плату. Вы можете увидеть пример кода здесь: https://github.com/square/connect-php-sdk/blob/master/docs/Api/V1ItemsApi.md#createfee

0

Другие решения

Я собираюсь сосредоточиться на category_id, так как вы, кажется, выяснили проблему «сборов» на основе комментариев.

Я просто использовал это как тестовый код, и категория была успешно установлена:

  $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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector