protected void btnSave_Click(object sender, EventArgs e) { DataModel.Store store = StoreContext.CurrentStore; //PaymentProviderName onSitePaymentProvider = WA.Enum<PaymentProviderName>.TryParseOrDefault(Request.Form["enabledOnSiteProvider"], PaymentProviderName.UNKNOWN); //PaymentProviderName offSitePaymentProvider = WA.Enum<PaymentProviderName>.TryParseOrDefault(Request.Form["enabledOffSiteProvider"], PaymentProviderName.UNKNOWN); if (!onSiteCheckboxes.Exists(x => x.Checked) && !offSiteCheckboxes.Exists(x => x.Checked)) { ShowFlash("<span style='color: Red;'>ERROR - Please choose at least one payment provider.</span>"); return; } if (chkAuthorizeNetAim.Checked && chkPayPalDirect.Checked) { ShowFlash("<span style='color: Red;'>ERROR - Please choose either Authorize.Net OR PayPal Pro (both cannot be selected)</span>"); return; } if (chkPayPalStandard.Checked && chkPayPalExpress.Checked) { ShowFlash("<span style='color: Red;'>ERROR - Please choose either PayPal Standard OR PayPal Express Checkout (both cannot be selected)</span>"); return; } //--- ON-Site Payment Providers PayLaterPaymentProvider billMeLaterPaymentProvider = new PayLaterPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayLater)); billMeLaterPaymentProvider.IsEnabled = chkPayLater.Checked; billMeLaterPaymentProvider.DisplayText = txtPayLaterDisplayText.Text; billMeLaterPaymentProvider.CustomerInstructions = txtPayLaterCustomerInstructions.Text; store.UpdatePaymentProviderConfig(billMeLaterPaymentProvider.GetConfiguration()); CardCaptureOnlyPaymentProvider cardCaptureOnlyPaymentProvider = new CardCaptureOnlyPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.CardCaptureOnly)); cardCaptureOnlyPaymentProvider.IsEnabled = chkCardCaptureOnly.Checked; store.UpdatePaymentProviderConfig(cardCaptureOnlyPaymentProvider.GetConfiguration()); AuthorizeNetAimProvider authorizeNetAimProvider = new AuthorizeNetAimProvider(store.GetPaymentProviderConfig(PaymentProviderName.AuthorizeNetAim)); authorizeNetAimProvider.IsEnabled = chkAuthorizeNetAim.Checked; authorizeNetAimProvider.IsTestGateway = chkAuthorizeNetAimTestGateway.Checked; authorizeNetAimProvider.IsTestTransactions = chkAuthorizeNetAimTestTransactions.Checked; authorizeNetAimProvider.ApiLoginId = txtAuthorizeNetAimApiLoginId.Text; authorizeNetAimProvider.TransactionKey = txtAuthorizeNetAimTransactionKey.Text; store.UpdatePaymentProviderConfig(authorizeNetAimProvider.GetConfiguration()); PayPalDirectPaymentProvider payPalDirectPayment = new PayPalDirectPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayPalDirectPayment)); payPalDirectPayment.IsEnabled = chkPayPalDirect.Checked; payPalDirectPayment.IsSandbox = chkPayPalDirectPaymentIsSandbox.Checked; payPalDirectPayment.ApiUsername = txtPayPalDirectPaymentApiUsername.Text; payPalDirectPayment.ApiPassword = txtPayPalDirectPaymentApiPassword.Text; payPalDirectPayment.ApiSignature = txtPayPalDirectPaymentApiSignature.Text; store.UpdatePaymentProviderConfig(payPalDirectPayment.GetConfiguration()); //--- OFF-Site Payment Providers PayPalStandardProvider payPalStandard = new PayPalStandardProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayPalStandard)); payPalStandard.IsEnabled = chkPayPalStandard.Checked; payPalStandard.IsSandbox = chkPayPalStandardIsSandbox.Checked; payPalStandard.ShippingLogic = rdoPayPalStandardShippingLogic.SelectedValue; payPalStandard.EmailAddress = txtPayPalStandardEmail.Text; store.UpdatePaymentProviderConfig(payPalStandard.GetConfiguration()); PayPalExpressCheckoutPaymentProvider payPalExpressCheckout = new PayPalExpressCheckoutPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayPalExpressCheckout)); payPalExpressCheckout.IsEnabled = chkPayPalExpress.Checked; payPalExpressCheckout.IsSandbox = chkPayPalExpressCheckoutIsSandbox.Checked; payPalExpressCheckout.ApiUsername = txtPayPalExpressCheckoutApiUsername.Text; payPalExpressCheckout.ApiPassword = txtPayPalExpressCheckoutApiPassword.Text; payPalExpressCheckout.ApiSignature = txtPayPalExpressCheckoutApiSignature.Text; store.UpdatePaymentProviderConfig(payPalExpressCheckout.GetConfiguration()); Response.Redirect(StoreUrls.AdminWithFlash(ModuleDefs.Admin.Views.PaymentMethods, "Payment Settings Saved Successfully")); }