. */ namespace Storefront\BTCPay\Model\Config\Source\Event; use Magento\Sales\Model\Order; use Magento\Sales\Model\Order\Config; class InvoiceProcessing implements \Magento\Framework\Data\OptionSourceInterface { /** * @var Config */ protected $_orderConfig; /** * @param Config $orderConfig */ public function __construct(Config $orderConfig) { $this->_orderConfig = $orderConfig; } /** * @return array */ public function toOptionArray() { $state = Order::STATE_PROCESSING; $statuses = $this->_orderConfig->getStateStatuses([$state]); $options = [ [ 'value' => '', 'label' => __('Do nothing') ] ]; foreach ($statuses as $code => $label) { $options[] = [ 'value' => $code, 'label' => __('Set order to status "%1"', $label) ]; } return $options; } }