WC_Abstract_Legacy_Order::update_coupon PHP Method

update_coupon() public method

Update coupon for order. Note this does not update order totals.
public update_coupon ( object | integer $item, array $args ) : integer
$item object | integer
$args array
return integer updated order item ID
    public function update_coupon($item, $args)
    {
        wc_deprecated_function('WC_Order::update_coupon', '2.7', 'Interact with WC_Order_Item_Coupon class');
        if (is_numeric($item)) {
            $item = $this->get_item($item);
        }
        if (!is_object($item) || !$item->is_type('coupon')) {
            return false;
        }
        if (!$this->get_id()) {
            $this->save();
            // Order must exist
        }
        // BW compatibility for old args
        if (isset($args['discount_amount'])) {
            $args['discount'] = $args['discount_amount'];
        }
        if (isset($args['discount_amount_tax'])) {
            $args['discount_tax'] = $args['discount_amount_tax'];
        }
        $item->set_order_id($this->get_id());
        $item->set_props($args);
        $item->save();
        do_action('woocommerce_order_update_coupon', $this->get_id(), $item->get_id(), $args);
        return $item->get_id();
    }