Php 如何在WooCommerce中使用api和优惠券代码删除优惠券

Php 如何在WooCommerce中使用api和优惠券代码删除优惠券,php,wordpress,woocommerce,woocommerce-rest-api,coupon,Php,Wordpress,Woocommerce,Woocommerce Rest Api,Coupon,在WooCommerce中,我创建了一个这样的优惠券 $coupon_data = [ 'code' => $code, 'amount' => '15', ]; $wooCommerceMRLiveV2 = WooCommerceConnection::wooCommerceMRLiveV2(); $retval2 = $wooCommerceMRLiveV2->post('coupons', $coupon_data); 当使用优惠券代码时,我需要手动删

在WooCommerce中,我创建了一个这样的优惠券

$coupon_data = [
    'code' => $code,
    'amount' => '15',
];

$wooCommerceMRLiveV2 = WooCommerceConnection::wooCommerceMRLiveV2();
$retval2 = $wooCommerceMRLiveV2->post('coupons', $coupon_data);
当使用优惠券代码时,我需要手动删除它。 但根据API,我只能使用id删除优惠券。但在使用优惠券代码时,我不知道id。 那么,是否有任何方法可以使用优惠券代码删除优惠券或者我可以从代码中检索id

$coupon_code = '10perdiscount';

$cpn = new WC_Coupon($coupon_code);

echo $cpn->get_id();

试试这个

这是我关于删除优惠券的工作代码

$order = wc_get_order($order_id);
$get_previous_coupon = $order->get_used_coupons();
if (count($get_previous_coupon) > 0 && is_array($get_previous_coupon)) {
    foreach( $order->get_used_coupons() as $applied_coupon_code ){
        $applied_coupon = $applied_coupon_code;
    }
    $order->remove_coupon( $applied_coupon );
    $code = 1;
    $message = 'Coupon successfully removed';
}else{
    $code = 0;
    $message = 'error'; 
}

谢谢

我可以这样删除优惠券。我找到了


你在哪里使用RESTAPI?是用wordpress吗?WooCommerce是否与同一个网站相同?您可以在WooCommerce所在的functions.php中添加代码吗?基本上,我需要知道你打算如何删除优惠券。嗨,我在Larave中使用RESTAPI。我找到了路。
$coupon_json = $wooCommerceV2->get('coupons', ['code'=>$coupon_code]);
$coupon_arr = json_decode($coupon_json);
$id = $coupon_arr[0]->id;
$result = $wooCommerceV2->delete('coupons/'.$id);
Log::info($result);