Как удалить купон с помощью API и кода купона в WooCommerce

В WooCommerce я создал такой купон.

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

$wooCommerceMRLiveV2 = WooCommerceConnection::wooCommerceMRLiveV2();
$retval2 = $wooCommerceMRLiveV2->post('coupons', $coupon_data);

И когда код купона используется, мне нужно удалить его вручную. Но согласно API документации, я могу удалять купоны только с помощью id. Но в момент использования кода купона я не знаю id. Итак, есть ли способ удалить купон с помощью кода купона? Или я могу получить идентификатор из кода?


person Ma Long    schedule 24.01.2020    source источник
comment
вы используете остальные API, где? это в вордпрессе? WooCommerce с тем же сайтом? Вы можете добавить коды в functions.php там, где находится ваш WooCommerce? По сути, мне нужно знать, как вы планируете удалить купон.   -  person Reigel    schedule 24.01.2020
comment
Привет, я использую rest API в Lave. И я нашел способ.   -  person Ma Long    schedule 25.01.2020


Ответы (3)



$coupon_code = '10perdiscount';

$cpn = new WC_Coupon($coupon_code);

echo $cpn->get_id();

Попробуй это

person mujuonly    schedule 24.01.2020

Это мой рабочий код об удалении купона.

$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'; 
}

Спасибо

person rajat.gite    schedule 24.01.2020