价格规则未应用于 Shopify 订单项中的购物车

问题描述 投票:0回答:1

我目前已经通过post方法为shopify添加了价格规则。

const title = body.get("title");

const price_rule = new admin.rest.resources.PriceRule({session: session});
price_rule.title = title;
price_rule.value_type = "fixed_amount";
price_rule.value = "-10";
price_rule.customer_selection = "all";
price_rule.target_type ="line_item";
price_rule.target_selection = "entitled";
price_rule.allocation_method = "each";
price_rule.starts_at = "2018-03-22T00:00:00-00:00";
price_rule.entitled_product_ids = [
  6952008155224
];

price_rule.prerequisite_quantity_range = {
  "greater_than_or_equal_to": 2,
}

price_rule.allocation_limit = 3;

await price_rule.save({
  update: true,
});

我的期望是,当我添加产品 6952008155224 且数量大于或等于 2 时,每项将扣除 10。 这意味着如果乘积为 30,则为 -10,并为每个乘积提供 20。 但是,我在购物车或结帐中没有看到任何有关折扣的信息。
该帖子成功但未执行。

知道我是否遗漏了什么吗?

shopify
1个回答
0
投票

如果没有与折扣代码明确关联,Shopify 的价格规则不会自动应用于购物车或结帐。价格规则本身定义了折扣的逻辑,但需要与折扣代码绑定才能生效。

因此,您需要创建与您创建的价格规则关联的折扣代码。

const discount_code = new admin.rest.resources.DiscountCode({session: session});
discount_code.code = "DISCOUNT10";
discount_code.price_rule_id = price_rule.id;

await discount_code.save();

对于自动折扣,Shopify 的 REST API 并不直接允许通过价格规则进行自动折扣。您需要通过 Shopify 管理员配置自动折扣。


顺便说一下,通过查看您的代码,折扣类型似乎是

Buy X Get Y
,但我不确定这个价格规则是否有效。您可能还需要定义
prerequisite_product_ids

由于您的期望是在添加数量大于或等于 2 的产品时获得

6952008155224
产品的 -$10 折扣,因此您可以将
prerequisite_product_ids
设置为与
entitled_product_ids
相同,如下所示。

price_rule.prerequisite_product_ids = [
  6952008155224
];
price_rule.entitled_product_ids = [
  6952008155224
];
© www.soinside.com 2019 - 2024. All rights reserved.