使用woocommerce rest api应用优惠券

时间:2016-04-09 12:10:37

标签: php wordpress wordpress-plugin woocommerce woocommerce-rest-api

我正在使用woocommerce rest api v3开发一个应用程序。现在我试图将我的woocommerce网站上的优惠券整合到我的应用程序中。我正在创建订单并应用此优惠券

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

我已经在woocommerce网站上设置了每位用户的使用限制。

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

此外,我收到另一个论坛的回复,说明优惠券申请功能尚未通过rest api提供。但是,在查看create_order api端点的代码时,我发现应用优惠券的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时不会被覆盖。

2 个答案:

答案 0 :(得分:1)

您需要按照此处所述,在订单对象中添加“ coupon_lines” 每个订单都应具有“ coupon_lines”数组,其中包含您想要的优惠券的“ id”,“ code”,“ amount”。

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

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

答案 1 :(得分:0)

您能否在支票后添加优惠券ID?

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