public async Task Consume(ConsumeContext <PaymentAccepted> context)
        {
            Console.WriteLine($"Message received: {JsonSerializer.Serialize(context.Message)}");

            var shippingOrder = await _shippingOrderRepository.Get(context.Message.OrderId);

            if (shippingOrder == null)
            {
                throw new ArgumentNullException(nameof(context.Message.OrderId));
            }
            var address      = _shippingAddressesRepository.GetCustomerAddress(context.Message.OrderId);
            var confirmation = _shippingProvider.ArrangeShippingFor(address.Address, context.Message.OrderId.ToString());

            shippingOrder.UpdateShippingStatus(confirmation);

            await _shippingOrderRepository.SaveChanges();
        }