18

我正在使用 WooCommerce rest 开发应用程序API v3。现在我正在尝试将 WooCommerce 网站上的优惠券集成到我的应用程序中。我正在创建订单并应用这样的优惠券

"coupon_lines":[{
    'code'=>'coupon1',
    'amount'=>'1.00'
}]

我在 woocommerce 网站中为每位用户设置了使用限制。

当我直接从网站订购时,使用限制已正确应用。即,当达到限制时,用户不能使用优惠券。但是当我通过 REST API 下订单时,这些限制不适用。

此外,我收到了另一个论坛的回复,指出通过 rest API 尚不提供优惠券应用功能。但是,在查看create_orderAPI 端点的代码时,我发现那里调用了用于应用优惠券的 webhook。

 do_action( 'woocommerce_order_add_coupon', $this->id, $item_id, $code, $discount_amount, $discount_amount_tax ); 

add_coupon(). 但我没有找到add_action('woocommerce_order_add_coupon',...). 谁能告诉我应该在哪里编写此操作定义,以便在更新 WooCommerce 时它不应该被覆盖?

4

2 回答 2

1

您需要将“coupon_lines”添加到您的订单对象中,如此处所述每个订单都应具有包含“id”、“code”、“amount”的“coupon_lines”数组,用于您想要的优惠券。

https://woocommerce.github.io/woocommerce-rest-api-docs/v3.html#view-customer-orders

'coupon_lines' => [
    [
        'id' => 55,
        'code' => free50,
        'amount' => '10.75',
    ]
]
于 2020-03-17T05:35:59.813 回答
0

你能在检查后添加优惠券ID吗?

"coupon_lines":[{
        'id' => '',
        'code'=>'coupon1',
        'amount'=>'1.00'
}]
于 2016-04-26T16:39:45.337 回答