/// <summary>
        /// Get the processor settings from the extended data collection
        /// </summary>
        /// <param name="extendedData">The <see cref="ExtendedDataCollection"/></param>
        /// <returns>The deserialized <see cref="CardConnectProcessorSettings"/></returns>
        public static CardConnectProcessorSettings GetProcessorSettings(this ExtendedDataCollection extendedData)
        {
            if (!extendedData.ContainsKey(Constants.ExtendedDataKeys.ProcessorSettings))
            {
                return(new CardConnectProcessorSettings());
            }

            CardConnectProcessorSettings settings = JsonConvert.DeserializeObject <CardConnectProcessorSettings>(extendedData.GetValue(Constants.ExtendedDataKeys.ProcessorSettings));

            return(settings);
        }
Exemple #2
0
        /// <summary>
        /// Initializes the controller.
        /// </summary>
        private void Initialize()
        {
            var provider = GatewayContext.Payment.GetProviderByKey(Guid.Parse(Constants.GatewayProviderSettingsKey)) as CardConnectPaymentGatewayProvider;

            if (provider == null)
            {
                var nullRef = new NullReferenceException("CardConnectPaymentGatewayProvider is not activated or has not been resolved.");
                LogHelper.Error <CardConnectPaymentController>("Failed to find active CardConnectPaymentGatewayProvider", nullRef);

                throw nullRef;
            }

            // instantiate the service
            _cardConnectServices = new CardConnectService(provider.ExtendedData.GetProcessorSettings());

            CardConnectProcessorSettings settings = provider.ExtendedData.GetProcessorSettings();

            _successUrl = settings.SuccessUrl;
            _cancelUrl  = settings.CancelUrl;
            //_deleteInvoiceOnCancel = settings.DeleteInvoiceOnCancel;
        }
        /// <summary>
        /// Saves the processor settings to an extended data collection
        /// </summary>
        /// <param name="extendedData">The <see cref="ExtendedDataCollection"/></param>
        /// <param name="processorSettings">The <see cref="CardConnectProcessorSettings"/> to be serialized and saved</param>
        public static void SaveProcessorSettings(this ExtendedDataCollection extendedData, CardConnectProcessorSettings processorSettings)
        {
            var settingsJson = JsonConvert.SerializeObject(processorSettings);

            extendedData.SetValue(Constants.ExtendedDataKeys.ProcessorSettings, settingsJson);
        }