使用woocommerce rest api应用优惠券

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

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

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

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

此外,我从另一个论坛收到回复,指出优惠券应用功能尚无法通过休息API获得。但是,在查看API端点的代码时,我发现那里调用了用于应用优惠券的webhook。create_order

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

在。但我没有找到.任何人都可以告诉我应该在哪里编写此操作定义,以便在更新WooCommerce时不会覆盖它?add_coupon()add_action('woocommerce_order_add_coupon',...)


答案 1

您需要将“coupon_lines”添加到您的订单对象中,如这里所述,每个订单都应该有“coupon_lines”数组,其中包含“id”,“代码”,“金额”,以获得所需的优惠券。

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

'coupon_lines' => [
    [
        'id' => 55,
        'code' => free50,
        'amount' => '10.75',
    ]
]

答案 2

您可以添加优惠券ID和检查后吗?

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

推荐