Laravel.io
<?php

namespace App\Jobs\Order;

use App\Http\Controllers\OrderController;
use App\Models\Mediator;
use App\Presets\OrderPreset;
use App\Services\Bitrix24\Bitrix24Service;
use App\Services\MoiSklad\MoiSkladService;
use Exception;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;

class CreateOrderJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public $tries = 3;

    /** @var OrderPreset */
    private $orderPreset;

    /** @var int */
    private $serviceNumber;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct(OrderPreset $orderPreset, int $serviceNumber)
    {
        $this->onQueue('creating_and_updating');
        $this->orderPreset = $orderPreset;
        $this->serviceNumber = $serviceNumber;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        $orderExistenceCheck = (new OrderController())->exists($this->orderPreset);
        if ($orderExistenceCheck['status'] === false) {
            return;
        }

        if ( ! empty($orderExistenceCheck['data'])) {
            return ;
        }

        if ($this->serviceNumber === Mediator::BITRIX_24) {
            $createOrderInMoiSkladRequest = (new MoiSkladService())->createOrder($this->orderPreset);
            if ($createOrderInMoiSkladRequest['status'] === false) {
                return;
            }

            $orderPreset = $createOrderInMoiSkladRequest['data'];

        } elseif ($this->serviceNumber === Mediator::MOI_SKLAD) {
            try {
                $createOrderInBitrix24Request = (new Bitrix24Service())->createOrder($this->orderPreset);
            } catch (Exception $e) {

                Log::error('CreateOrderJob@handle | ', [
                    'err_msg' => $e->getMessage(),
                    'err_code' => $e->getCode(),
                    'err_file' => $e->getFile(),
                    'err_line' => $e->getLine(),
                    'err_trace' => $e->getTrace()
                ]);

                return;
            }

            if ($createOrderInBitrix24Request['status'] === false) {
                return;
            }

            $orderPreset = $createOrderInBitrix24Request['data'];

        } else {
            Log::error('CreateOrderJob@handle | Such Service ' . "[$this->serviceNumber]" . ' is not existed!');
            return;
        }

        (new OrderController())->create($orderPreset);
    }
}

Please note that all pasted data is publicly available.