/// <summary>
 /// Initializes a new instance of the <see cref="EPayPageBuilder"/> class.
 /// </summary>
 public EPayPageBuilder(EPayMd5Computer md5Computer, ICallbackUrl callbackUrl, IAbsoluteUrlService absoluteUrlService)
 {
     _callbackUrl        = callbackUrl;
     _absoluteUrlService = absoluteUrlService;
     LocalizationContext = new CustomGlobalization();
     Md5Computer         = md5Computer;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="EPayPaymentMethodService"/> class.
        /// </summary>
        public EPayPaymentMethodService(EPayPageBuilder pageBuilder, EPayMd5Computer md5Computer)
        {
            PageBuilder = pageBuilder;
            Md5Computer = md5Computer;
            Language    = 2;

            var binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport)
            {
                CloseTimeout           = TimeSpan.FromMinutes(1),
                OpenTimeout            = TimeSpan.FromMinutes(1),
                ReceiveTimeout         = TimeSpan.FromMinutes(10),
                SendTimeout            = TimeSpan.FromMinutes(10),
                AllowCookies           = false,
                BypassProxyOnLocal     = false,
                HostNameComparisonMode = HostNameComparisonMode.StrongWildcard,
                MaxBufferSize          = 65536,
                MaxBufferPoolSize      = 524288,
                MaxReceivedMessageSize = 65536,
                MessageEncoding        = WSMessageEncoding.Text,
                TextEncoding           = Encoding.UTF8,
                TransferMode           = TransferMode.Buffered,
                UseDefaultWebProxy     = true
            };

            var uri             = new Uri("https://ssl.ditonlinebetalingssystem.dk/remote/payment.asmx", UriKind.Absolute);
            var endpointAddress = new EndpointAddress(uri);

            Client = new PaymentSoapClient(binding, endpointAddress);
        }