Terima kasih pada @medmek dan @ pangeran-patel jawaban. Sebagai pertanyaan dari @ jafar-pinjar tentang status pesanan khusus, panggilan setState dan setStatus dapat menggunakan Kode Status. Misalnya, kode status khusus "berbayar" dibuat. Untuk memperbarui status / status ke pesanan:
...
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;
}
}
...
}
Untuk memperbarui status pesanan:
$orderID = 1234; // this is the order ID
$code = 'paid';
$this->setOrderStatus($orderID, $code);
Semoga itu bisa membantu seseorang di luar sana.