Спасибо @medmek и @ prince-patel. В ответ на вопрос @ jafar-pinjar относительно статуса пользовательского заказа вызовы setState и setStatus могут принимать код состояния. Например, создается пользовательский код статуса «платный». Чтобы обновить статус / состояние заказа:
...
use \Magento\Sales\Api\OrderRepositoryInterface;
class nameOfTheClass {
...
protected $_orderRepository;
...
public function __construct(..., OrderRepositoryInterface $orderRepository, ...){
$this->_orderRepository = $orderRepository;
...
}
...
public function setOrderStatus($orderID, $statusCode){
try{
// obtain the order with the order ID
$order = $this->_orderRepository->get($orderID);
$order->setState($statusCode)->setStatus($statusCode);
$this->_orderRepository->save($order);
return true;
} catch (\Exception $e){
// add some logging here
return false;
}
}
...
}
Чтобы обновить статус заказа:
$orderID = 1234; // this is the order ID
$code = 'paid';
$this->setOrderStatus($orderID, $code);
Надеюсь, это поможет кому-то там.