update_meta_data( self::META_KEY_SUBMISSION_STATUS, $status ); $order->update_meta_data( self::META_KEY_STATUS_UPDATED_AT, current_time( 'mysql', true ) ); $order->save(); } /** * Get submission status for an order. * * @param int $order_id Order ID. * * @return string */ public function get_submission_status( int $order_id ): string { $order = wc_get_order( $order_id ); $status = $order ? $order->get_meta( self::META_KEY_SUBMISSION_STATUS ) : ''; if ( in_array( $status, self::VALID_STATUSES, true ) ) { return $status; } return 'pending'; } /** * Trigger retry hook and mark submission pending. * * @param int $order_id Order ID. */ public function retry_submission( int $order_id ): void { $this->set_submission_status( $order_id, 'pending' ); do_action( 'woocommerce_pos_fiscal_submission_retry', $order_id ); } }