private void LoadPaymentProviders()
        {
            DataModel.Store store = StoreContext.CurrentStore;

            // StoreContext.CurrentStore.GetOnsiteCreditCardPaymentProvider() == PaymentProviderName.OfflinePayment
            // StoreContext.CurrentStore.IsPaymentProviderEnabled(PaymentProviderName.AuthorizeNetAim)

            // ON-SITE
            chkPayLater.Checked        = store.IsPaymentProviderEnabled(PaymentProviderName.PayLater);
            chkCardCaptureOnly.Checked = store.IsPaymentProviderEnabled(PaymentProviderName.CardCaptureOnly);
            chkAuthorizeNetAim.Checked = store.IsPaymentProviderEnabled(PaymentProviderName.AuthorizeNetAim);
            chkPayPalDirect.Checked    = store.IsPaymentProviderEnabled(PaymentProviderName.PayPalDirectPayment);

            PayLaterPaymentProvider billMeLaterProvider = new PayLaterPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayLater));

            txtPayLaterDisplayText.Text          = billMeLaterProvider.DisplayText;
            txtPayLaterCustomerInstructions.Text = billMeLaterProvider.CustomerInstructions;

            AuthorizeNetAimProvider authorizeNetAimProvider = new AuthorizeNetAimProvider(store.GetPaymentProviderConfig(PaymentProviderName.AuthorizeNetAim));

            chkAuthorizeNetAimTestGateway.Checked      = authorizeNetAimProvider.IsTestGateway;
            chkAuthorizeNetAimTestTransactions.Checked = authorizeNetAimProvider.IsTestTransactions;
            txtAuthorizeNetAimApiLoginId.Text          = authorizeNetAimProvider.ApiLoginId;
            txtAuthorizeNetAimTransactionKey.Text      = authorizeNetAimProvider.TransactionKey;

            PayPalDirectPaymentProvider payPalDirectPayment = new PayPalDirectPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayPalDirectPayment));

            chkPayPalDirectPaymentIsSandbox.Checked = payPalDirectPayment.IsSandbox;
            txtPayPalDirectPaymentApiUsername.Text  = payPalDirectPayment.ApiUsername;
            txtPayPalDirectPaymentApiPassword.Text  = payPalDirectPayment.ApiPassword;
            txtPayPalDirectPaymentApiSignature.Text = payPalDirectPayment.ApiSignature;

            // OFF-SITE
            chkPayPalStandard.Checked = store.IsPaymentProviderEnabled(PaymentProviderName.PayPalStandard);
            chkPayPalExpress.Checked  = store.IsPaymentProviderEnabled(PaymentProviderName.PayPalExpressCheckout);

            PayPalStandardProvider payPalStandard = new PayPalStandardProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayPalStandard));

            chkPayPalStandardIsSandbox.Checked           = payPalStandard.IsSandbox;
            rdoPayPalStandardShippingLogic.SelectedValue = payPalStandard.ShippingLogic;
            txtPayPalStandardEmail.Text = payPalStandard.EmailAddress;

            PayPalExpressCheckoutPaymentProvider payPalExpressCheckout = new PayPalExpressCheckoutPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayPalExpressCheckout));

            chkPayPalExpressCheckoutIsSandbox.Checked = payPalExpressCheckout.IsSandbox;
            txtPayPalExpressCheckoutApiUsername.Text  = payPalExpressCheckout.ApiUsername;
            txtPayPalExpressCheckoutApiPassword.Text  = payPalExpressCheckout.ApiPassword;
            txtPayPalExpressCheckoutApiSignature.Text = payPalExpressCheckout.ApiSignature;
        }
Beispiel #2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (order.Id.HasValue)
     {
         if (order.GetPaymentProviderName().ToLower() == "paylater")
         {
             PayLaterPaymentProvider payLaterProvider = new PayLaterPaymentProvider(StoreContext.CurrentStore.GetPaymentProviderConfig(PaymentProviderName.PayLater));
             litPaymentSummary.Text = string.Format("{0}<br />{1}", payLaterProvider.DisplayText, payLaterProvider.CustomerInstructions.NewlineToBr());
         }
         else
         {
             litPaymentSummary.Text = string.Format("{0}<br />xxxx-{1}", order.CreditCardType, order.CreditCardNumberLast4);
         }
     }
 }
Beispiel #3
0
        internal void MarkAsPaid()
        {
            Store store = this.UpToStoreByStoreId;

            if (this.GetPaymentProviderName().ToLower() == "paylater")
            {
                PayLaterPaymentProvider payLaterProvider = new PayLaterPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayLater));
                payLaterProvider.MarkOrderAsPaid(this.Id.Value);
            }
            else
            {
                CardCaptureOnlyPaymentProvider cardCaptureOnlyPaymentProvider = new CardCaptureOnlyPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.CardCaptureOnly));
                cardCaptureOnlyPaymentProvider.MarkOrderAsPaid(this.Id.Value);
            }

            PostCheckoutController.AddUserToDnnRoles(this);
        }
Beispiel #4
0
        private void LoadOrderReceipt()
        {
            pnlOrderReceipt.Visible = true;

            rptOrderItems.DataSource = order.OrderItemCollectionByOrderId;
            rptOrderItems.DataBind();

            if (order.GetPaymentProviderName().ToLower() == "paylater")
            {
                PayLaterPaymentProvider payLaterProvider = new PayLaterPaymentProvider(StoreContext.CurrentStore.GetPaymentProviderConfig(PaymentProviderName.PayLater));
                litPaymentSummary.Text = string.Format("{0}<br />{1}", payLaterProvider.DisplayText, payLaterProvider.CustomerInstructions.NewlineToBr());
            }
            else
            {
                litPaymentSummary.Text = string.Format("{0}<br />xxxx-{1}", order.CreditCardType, order.CreditCardNumberLast4);
            }
        }
Beispiel #5
0
        public string GetPaymentSummary(bool showFullCreditCard = true)
        {
            string providerName = this.GetPaymentProviderName();

            if (providerName.ToLower() == "paylater")
            {
                PayLaterPaymentProvider payLaterProvider = new PayLaterPaymentProvider(this.UpToStoreByStoreId.GetPaymentProviderConfig(PaymentProviderName.PayLater));
                return(string.Format("{0}<br />{1}", payLaterProvider.DisplayText, payLaterProvider.CustomerInstructions.NewlineToBr()));
            }
            else if (providerName.ToLower() == "cardcaptureonly" && (this.PaymentStatus != PaymentStatusName.Completed) && showFullCreditCard)
            {
                return(string.Format("{0}<br />{1}<br />{2}<br />CVV: {3}<br />{4}", this.CreditCardType, this.DecryptCreditCardNumber(), this.CreditCardExpiration, this.CreditCardSecurityCode, this.CreditCardNameOnCard));
            }
            else
            {
                return(string.Format("{0}<br />xxxx-{1}", this.CreditCardType, this.CreditCardNumberLast4));
            }
        }
        private void ShowReviewOrder()
        {
            //--- DataBind the cart items
            List <vCartItemProductInfo> cartItems = checkoutOrderInfo.Cart.GetCartItemsWithProductInfo();

            rptCheckoutItems.DataSource = cartItems;
            rptCheckoutItems.DataBind();

            //--- Billing/Shipping Summaries
            litBillToSummary.Text = checkoutOrderInfo.BillingAddress.ToHumanFriendlyString("<br />");
            litShipToSummary.Text = checkoutOrderInfo.ShippingAddress.ToHumanFriendlyString("<br />", false, false);

            //--- Payment Summary
            if (checkoutOrderInfo.Total == 0)
            {
                litPaymentSummary.Text = "N / A";
            }
            else if (checkoutOrderInfo.PaymentProvider == PaymentProviderName.PayPalExpressCheckout)
            {
                litPaymentSummary.Text = "PayPal Express Checkout";
            }
            else if (checkoutOrderInfo.PaymentProvider == PaymentProviderName.PayLater)
            {
                PayLaterPaymentProvider billMeLaterProvider = new PayLaterPaymentProvider(StoreContext.CurrentStore.GetPaymentProviderConfig(PaymentProviderName.PayLater));
                litPaymentSummary.Text = string.Format("{0}<br />{1}", billMeLaterProvider.DisplayText, billMeLaterProvider.CustomerInstructions);
            }
            else
            {
                CreditCardInfo cardInfo = checkoutOrderInfo.CreditCard;
                litPaymentSummary.Text = string.Format(@"{0}<br />xxxx-xxxx-xxxx-{1}<br />{2}/{3}", cardInfo.CardType, cardInfo.CardNumber.Right(4), cardInfo.ExpireMonth2Digits, cardInfo.ExpireYear);
            }

            //--- Order Notes
            RequireOrderNotes = StoreContext.CurrentStore.GetSettingBool(StoreSettingNames.RequireOrderNotes).GetValueOrDefault(false);

            txtOrderNotes.Text = checkoutOrderInfo.OrderNotes;
        }
        private void FillListControls()
        {
            DataModel.Store store = StoreContext.CurrentStore;
            checkoutOrderInfo.ReCalculateOrderTotals();

            //---- CC Types
            string creditCardsAccepted = store.GetSetting(StoreSettingNames.AcceptedCreditCards);

            if (!string.IsNullOrEmpty(creditCardsAccepted))
            {
                string[] cardTypes = creditCardsAccepted.Split(',');
                ddlCCType.Items.Clear();
                foreach (var card in cardTypes)
                {
                    string[] pair = card.Split('-');
                    if (pair.Length == 1)
                    {
                        ddlCCType.Items.Add(new ListItem()
                        {
                            Value = pair[0], Text = pair[0]
                        });
                    }
                    else if (pair.Length == 2)
                    {
                        ddlCCType.Items.Add(new ListItem()
                        {
                            Value = pair[0], Text = pair[1]
                        });
                    }
                }
                ddlCCType.Items.Insert(0, "");
            }
            else
            {
                //List<string> cardTypes = new List<string>(WA.Enum<CreditCardType>.GetNames());
                //cardTypes.Remove(CreditCardType.UNKNOWN.ToString());
                //cardTypes.Remove(CreditCardType.PayPal.ToString());
                //ddlCCType.Items.Clear();
                //ddlCCType.Items.AddRange(cardTypes.ConvertAll(s => new ListItem() { Text = s, Value = s }).ToArray());
                //ddlCCType.Items.Insert(0, "");
                msgFlash.InnerHtml = "<ul><li>No credit cards accepted. Please choose a different payment method.</li></ul>";
                msgFlash.Visible   = true;
            }

            //---- CC Expire Year
            ddlCCExpireYear.Items.Clear();
            ddlCCExpireYear.Items.Add("");
            int maxYear = DateTime.Now.Year + 12;

            for (int y = DateTime.Now.Year; y <= maxYear; y++)
            {
                ddlCCExpireYear.Items.Add(new ListItem()
                {
                    Text = y.ToString(), Value = y.ToString()
                });
            }

            //---- Payment Methods
            PayLaterPaymentProvider billMeLaterProvider = new PayLaterPaymentProvider(store.GetPaymentProviderConfig(PaymentProviderName.PayLater));

            liBillMeLater.Visible          = billMeLaterProvider.IsEnabled;
            lblPayLater.InnerHtml          = billMeLaterProvider.DisplayText;
            payLaterInstructions.InnerHtml = billMeLaterProvider.CustomerInstructions.NewlineToBr();
            liPayPalExpressCheckoutPaymentMethod.Visible = store.IsPaymentProviderEnabled(PaymentProviderName.PayPalExpressCheckout);
            liCreditCardCapture.Visible = store.IsPaymentProviderEnabled(PaymentProviderName.CardCaptureOnly) ||
                                          store.IsPaymentProviderEnabled(PaymentProviderName.AuthorizeNetAim) ||
                                          store.IsPaymentProviderEnabled(PaymentProviderName.PayPalDirectPayment);
        }
        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"));
        }