WC_REST_Orders_V1_Controller::prepare_coupon_lines()
Create or update an order coupon.
Method of the class: WC_REST_Orders_V1_Controller{}
No Hooks.
Return
WC_Order_Item_Coupon
.
Usage
// protected - for code of main (parent) or child class $result = $this->prepare_coupon_lines( $posted, $action );
- $posted(array) (required)
- Item data.
- $action(string) (required)
- 'create' to add coupon or 'update' to update it.
WC_REST_Orders_V1_Controller::prepare_coupon_lines() WC REST Orders V1 Controller::prepare coupon lines code WC 9.7.1
protected function prepare_coupon_lines( $posted, $action ) { $item = new WC_Order_Item_Coupon( ! empty( $posted['id'] ) ? $posted['id'] : '' ); if ( 'create' === $action ) { $coupon_code = ArrayUtil::get_value_or_default( $posted, 'code' ); if ( StringUtil::is_null_or_whitespace( $coupon_code ) ) { throw new WC_REST_Exception( 'woocommerce_rest_invalid_coupon_coupon', __( 'Coupon code is required.', 'woocommerce' ), 400 ); } } $this->maybe_set_item_props( $item, array( 'code', 'discount' ), $posted ); return $item; }