public void UpdateConsumerInformation(PaymentMethod paymentMethod, ConsumerLegalAddressResult consumerLegalAddress)
        {
            Log.InfoFormat("Updating consumer information for payment with ID:{0} belonging to order with ID: {1}", paymentMethod.Payment.Id, paymentMethod.OrderGroupId);
            if (!(paymentMethod.Payment is ExtendedPayExPayment))
            {
                Log.ErrorFormat("Payment with ID:{0} belonging to order with ID: {1} is not an ExtendedPayExPayment, cannot update consumer information", paymentMethod.Payment.Id, paymentMethod.OrderGroupId);
                return;
            }

            ExtendedPayExPayment payment = paymentMethod.Payment as ExtendedPayExPayment;
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    payment.FirstName = consumerLegalAddress.FirstName;
                    payment.LastName = consumerLegalAddress.LastName;
                    payment.StreetAddress = consumerLegalAddress.Address;
                    payment.PostNumber = consumerLegalAddress.PostNumber;
                    payment.City = consumerLegalAddress.City;
                    payment.CountryCode = consumerLegalAddress.Country;
                    payment.AcceptChanges();
                    scope.Complete();
                    Log.InfoFormat("Successfully updated consumer information for payment with ID:{0} belonging to order with ID: {1}", paymentMethod.Payment.Id, paymentMethod.OrderGroupId);
                }
            }
            catch (Exception e)
            {
                Log.Error("Could not update consumer information. See next log item for more information", e);
                Log.ErrorFormat(
                    "Could not update consumer information for payment with ID:{0}. ConsumerLegalAddressResult:{1}.",
                    payment.Id, consumerLegalAddress);
            }
        }
        private static ConsumerLegalAddressResult ConvertToConsumerAddress(LegalAddressResult result)
        {
            string lastName = string.Empty;
            string[] names = result.Name.Split(' ');
            string firstName = names[0];
            if (names.Length > 1)
                lastName = string.Join(" ", names.Skip(1));


            ConsumerLegalAddressResult consumerLegalAddressResult = new ConsumerLegalAddressResult()
            {
                Status = result.Status,
                Address = result.StreetAddress,
                City = result.City,
                Country = result.CountryCode,
                FirstName = firstName,
                LastName = lastName,
                PostNumber = result.ZipCode
            };
            return consumerLegalAddressResult;
        }