/// <summary>
        /// Populates the type of the payment.
        /// </summary>
        void PopulatePaymentType()
        {
            IBilling             BillingManager = (IBilling)ObjectFactory.CreateInstance("BusinessProcess.SCM.BBilling, BusinessProcess.SCM");
            List <PaymentMethod> paymentMethods = BillingManager.GetPaymentMethods("");

            PaymentConfigHelper.RefreshSection();
            if (paymentMethods != null)
            {
                int i = 0;
                for (i = 0; i < paymentMethods.Count(); i++)//PaymentMethod e in paymentMethods)
                {
                    PaymentMethod e    = paymentMethods[i];
                    string        name = e.Name;

                    if (PaymentConfigHelper.PaymethodExists(name))
                    {
                        try
                        {
                            string _thishandler = PaymentConfigHelper.GetHandlerNameByPayMethod(name);
                            e.MethodDescription = PaymentConfigHelper.PayElementDescription(name);
                            if (!string.IsNullOrEmpty(_thishandler))
                            {
                                e.Handler            = _thishandler;
                                e.HandlerDescription = PaymentConfigHelper.HandlerDescription(_thishandler);
                                e.ControlName        = PaymentConfigHelper.HandlerControlName(_thishandler);
                            }
                        }
                        catch { }
                    }
                }
                gridPaymentType.DataSource = paymentMethods;
                gridPaymentType.DataBind();
            }
        }
        public static string GetSetting(this PaymentProvider paymentProvider, string helperKey)
        {
            var helper = new PaymentConfigHelper(paymentProvider);

            var value = helper.Settings[helperKey];

            if (!string.IsNullOrEmpty(value))
            {
                return(value);
            }

            Log.Instance.LogError(paymentProvider.Name + ": Missing or empty PaymentProvider.Config field with Key: " + helperKey);
            return(string.Empty);
        }
        /// <summary>
        /// Populates the payment plugins.
        /// </summary>
        private void PopulatePaymentPlugins()
        {
            List <string> _handlers = PaymentConfigHelper.Handlers();

            ddlHandler.ClearSelection();
            ddlHandler.Items.Clear();
            ddlHandler.Items.Add(new ListItem("Select...", ""));
            foreach (string handlerName in _handlers)
            {
                string controlName = PaymentConfigHelper.HandlerControlName(handlerName);
                string description = PaymentConfigHelper.HandlerDescription(handlerName);
                ddlHandler.Items.Add(new ListItem(handlerName, handlerName));
            }
        }
        /// <summary>
        /// Handles the SelectedIndexChanging event of the grdCustom control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="GridViewSelectEventArgs"/> instance containing the event data.</param>
        protected void gridPaymentType_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
        {
            int thePage     = gridPaymentType.PageIndex;
            int thePageSize = gridPaymentType.PageSize;

            GridViewRow gridRow = gridPaymentType.Rows[e.NewSelectedIndex];

            gridPaymentType.SelectedIndex = e.NewSelectedIndex;
            errorLabel.Text = "";

            //this.SerialNumber = gridRow.Cells[0].Text.Trim();
            Label  lblStatus = gridRow.FindControl("labelStatus") as Label;
            string stStatus  = lblStatus.Text.Trim().ToUpper();

            rblStatus.SelectedIndex       = stStatus == "ACTIVE" ? 0 : 1;
            this.CurrentPayMethodID       = this.gridPaymentType.SelectedDataKey["ID"].ToString();
            this.buttonSubmit.Text        = "Update";
            this.buttonSubmit.CommandName = "UPDATE";

            this.PopulatePaymentPlugins();
            Label lblHandler = gridRow.FindControl("labelHandler") as Label;

            if (lblHandler != null)
            {
                this.CurrentHandler = lblHandler.Text.Trim();
            }

            this.CurrentPayMethodName = this.gridPaymentType.SelectedDataKey["Name"].ToString();
            textDescription.Text      = PaymentConfigHelper.PayElementDescription(this.CurrentPayMethodName);
            this.prevTypeCode.Value   = this.textPaymentTypeCode.Text = PaymentConfigHelper.PayElementCode(this.CurrentPayMethodName);
            if (CurrentPayMethodName.ToLower().Trim() == "cash" || CurrentPayMethodName.ToLower().Trim() == "deposit")
            {
                disableTypeEditing();                                                                                                       //disable editing for cash and Deposit
            }
            this.paymentTypePopup.Show();
        }
        protected void installConfig(object sender, EventArgs e)
        {
            var configfile     = PaymentConfigHelper.GetPaymentProviderConfigXml();
            var configfilePath = PaymentConfigHelper.GetPaymentProviderConfig();

            if (configfile == null)
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "Error!", "PaymentProviderConfig not found!");
                return;
            }

            var payPalAccountId = "#YOUR PAYPAL ACCOUNT ID/EMAIL#";

            if (!string.IsNullOrEmpty(txtPayPalAccountId.Text))
            {
                payPalAccountId = txtPayPalAccountId.Text;
            }

            if (configfile.Descendants("provider").Any(x =>
            {
                var xAttribute = x.Attribute("title");
                return(xAttribute != null && xAttribute.Value == "PayPal");
            }))
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.info, "Paypal config",
                                                              "PayPal config already created");
            }
            else
            {
                var createPayPalNode = new XElement("provider", new XAttribute("title", "PayPal"),
                                                    new XElement("accountId", payPalAccountId));

                if (configfile.Descendants("providers").Any())
                {
                    configfile.Descendants("providers").First().Add(createPayPalNode);

                    var paymentProviderPath = HttpContext.Current.Server.MapPath(configfilePath);

                    configfile.Save(paymentProviderPath);
                }

                var dtuwbsPaymentProviderSection = DocumentType.GetByAlias(PaymentProviderSectionContentType.NodeAlias);

                var author = new User(0);

                var uwbsPaymentProviderSectionDoc =
                    Document.GetDocumentsOfDocumentType(dtuwbsPaymentProviderSection.Id).FirstOrDefault();

                var dtuwbsPaymentProvider = DocumentType.GetByAlias(PaymentProvider.NodeAlias);

                if (uwbsPaymentProviderSectionDoc != null)
                {
                    var payPalDoc = Document.MakeNew("PayPal", dtuwbsPaymentProvider, author,
                                                     uwbsPaymentProviderSectionDoc.Id);
                    payPalDoc.SetProperty("title", "PayPal");
                    payPalDoc.SetProperty("description", "PayPal Payment Provider for uWebshop");

                    payPalDoc.SetProperty("type", PaymentProviderType.OnlinePayment.ToString());

                    payPalDoc.Save();

                    BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.success, "PayPal Installed!",
                                                                  "PayPal config added and node created");
                }
            }
        }
        protected void InstallConfig(object sender, EventArgs e)
        {
            var configfile = PaymentConfigHelper.GetPaymentProviderConfig();

            if (configfile == null)
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "Error!", "PaymentProviderConfig not found!");
                return;
            }

            var vendorName = "#YOUR VENDORNAME#";

            if (!string.IsNullOrEmpty(txtSagePayVendorName.Text))
            {
                vendorName = txtSagePayVendorName.Text;
            }

            var paymentProviderXML = HttpContext.Current.Server.MapPath(configfile);

            if (paymentProviderXML != null)
            {
                var paymentProviderXDoc = XDocument.Load(paymentProviderXML);

                if (paymentProviderXDoc.Descendants("provider").Any(x =>
                {
                    var xAttribute = x.Attribute("title");
                    return(xAttribute != null && xAttribute.Value == "SagePay");
                }))
                {
                    BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.info, "SagePay config", "SagePay config already created");
                }
                else
                {
                    //<provider title="SagePay">
                    //	<VendorName>uwebshop</VendorName>
                    //	<DirectUrl>https://test.sagepay.com/Simulator/VSPDirectGateway.asp</DirectUrl>
                    //	<DirectTestURL>https://test.sagepay.com/Simulator/VSPDirectGateway.asp</DirectTestURL>
                    //  </provider>


                    var paymentNode = new XElement("provider", new XAttribute("title", "SagePay"), new XElement("VendorName", vendorName));

                    paymentProviderXDoc.Descendants("providers").FirstOrDefault().Add(paymentNode);

                    paymentProviderXDoc.Save(paymentProviderXML);

                    var dtuwbsPaymentProviderSection = DocumentType.GetByAlias(PaymentProviderSectionContentType.NodeAlias);

                    var author = new User(0);

                    var uwbsPaymentProviderSectionDoc = Document.GetDocumentsOfDocumentType(dtuwbsPaymentProviderSection.Id).FirstOrDefault();

                    var dtuwbsPaymentProvider = DocumentType.GetByAlias(PaymentProvider.NodeAlias);

                    if (uwbsPaymentProviderSectionDoc != null)
                    {
                        var providerDoc = Document.MakeNew("SagePay", dtuwbsPaymentProvider, author, uwbsPaymentProviderSectionDoc.Id);
                        providerDoc.SetProperty("title", "SagePay");
                        providerDoc.SetProperty("description", "SagePay Payment Provider for uWebshop");

                        providerDoc.SetProperty("type", PaymentProviderType.OnlinePayment.ToString());

                        providerDoc.Save();

                        BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.success, "SagePay Installed!", "SagePay config added and nodes created");
                    }
                }
            }
        }
        protected void InstallConfig(object sender, EventArgs e)
        {
            var configfile = PaymentConfigHelper.GetPaymentProviderConfig();

            if (configfile == null)
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "Error!", "PaymentProviderConfig not found!");
                return;
            }

            var accountId = "#YOUR MULTISAFEPAY ACCOUNT ID#";
            var siteId    = "#YOUR MULTISAFEPAY SITE ID#";
            var secureId  = "#YOUR MULTISAFEPAY SECURE SITE ID#";

            if (!string.IsNullOrEmpty(txtAccountId.Text))
            {
                accountId = txtAccountId.Text;
            }

            if (!string.IsNullOrEmpty(txtSiteId.Text))
            {
                siteId = txtSiteId.Text;
            }

            if (!string.IsNullOrEmpty(txtSecureSiteId.Text))
            {
                secureId = txtSecureSiteId.Text;
            }

            var paymentProviderXml = HttpContext.Current.Server.MapPath(configfile);

            if (paymentProviderXml != null)
            {
                var paymentProviderXDoc = XDocument.Load(paymentProviderXml);

                if (paymentProviderXDoc.Descendants("provider").Any(x =>
                {
                    var xAttribute = x.Attribute("title");
                    return(xAttribute != null && xAttribute.Value == "MultiSafePay");
                }))
                {
                    BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.info, "MultiSafePay config", "MultiSafePay config already created");
                }
                else
                {
                    //<provider title="MultiSafePay">
                    //     <accountId>#YOUR MULTISAFEPAY ACCOUNT ID#</accountId>
                    //     <siteId>#YOUR MULTISAFEPAY SITE ID#</siteId>
                    //     <siteSecureId>#YOUR MULTISAFEPAY SECURE SITE ID#</siteSecureId>
                    //     <url>https://api.multisafepay.com/ewx/</url>
                    //     <testURL>https://testapi.multisafepay.com/ewx/</testURL>
                    // </provider>


                    var ProviderNode = new XElement("provider", new XAttribute("title", "MultiSafePay"), new XElement("accountId", accountId), new XElement("siteId", siteId), new XElement("siteSecureId", secureId), new XElement("url", "https://api.multisafepay.com/ewx/"), new XElement("testURL", "https://testapi.multisafepay.com/ewx/"));

                    paymentProviderXDoc.Descendants("providers").FirstOrDefault().Add(ProviderNode);

                    paymentProviderXDoc.Save(paymentProviderXml);

                    var dtuwbsPaymentProviderSection = DocumentType.GetByAlias(PaymentProviderSectionContentType.NodeAlias);

                    var author = new User(0);

                    var uwbsPaymentProviderSectionDoc = Document.GetDocumentsOfDocumentType(dtuwbsPaymentProviderSection.Id).FirstOrDefault();

                    var dtuwbsPaymentProvider = DocumentType.GetByAlias(PaymentProvider.NodeAlias);

                    if (uwbsPaymentProviderSectionDoc != null)
                    {
                        var providerDoc = Document.MakeNew("MultiSafePay", dtuwbsPaymentProvider, author, uwbsPaymentProviderSectionDoc.Id);
                        providerDoc.SetProperty("title", "MultiSafePay");
                        providerDoc.SetProperty("description", "MultiSafePay Payment Provider for uWebshop");

                        providerDoc.SetProperty("type", PaymentProviderType.OnlinePayment.ToString());
                        providerDoc.SetProperty("dllName", "uWebshop.Payment.MultiSafePay");

                        providerDoc.Save();

                        BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.success, "MultiSafePay Installed!", "MultiSafePay config added and node created");
                    }
                }
            }
        }
        /// <summary>
        /// Handles the Click event of the buttonSubmit control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected void buttonSubmit_Click(object sender, EventArgs e)
        {
            string paymentName = textPaymentTypeName.Text;
            string handlerName = ddlHandler.SelectedItem.Value;

            if (textPaymentTypeName.Text == "")
            {
                this.NotifyAction("Name of the payment method is required", "Validation", true);
                this.paymentTypePopup.Show();
                return;
            }
            if (ddlHandler.SelectedIndex < 1)
            {
                this.NotifyAction("Please select the plugin for this type of payment", "Validation", true);
                this.paymentTypePopup.Show();
                return;
            }

            /*     if (txtSeqNo.Text == "")
             *   {
             *       this.NotifyAction("Priority is required", "Validation", true);
             *       this.paymentTypePopup.Show();
             *       return;
             *   }*/


            try
            {
                bool modify = false;
                if (PaymentConfigHelper.PaymethodExists(paymentName))
                {
                    modify = true;
                }

                if (this.CurrentHandler == "" || !modify)
                {
                    PaymentConfigHelper.AddPayElement(handlerName, textPaymentTypeName.Text, textPaymentTypeName.Text.Trim().ToUpper(), textDescription.Text);
                    PaymentConfigHelper.RefreshSection();
                }
                else
                {
                    PaymentConfigHelper.ModifyPayElement(this.CurrentHandler, this.CurrentPayMethodName, handlerName, textPaymentTypeName.Text, textPaymentTypeCode.Text, textDescription.Text);
                    PaymentConfigHelper.RefreshSection();
                }

                //this.PersistValues(buttonSubmit.CommandName);

                IBilling BillingManager = (IBilling)ObjectFactory.CreateInstance("BusinessProcess.SCM.BBilling, BusinessProcess.SCM");

                PaymentMethod thisMethod = new PaymentMethod()
                {
                    Name = paymentName, Locked = false, Active = rblStatus.SelectedValue == "1"
                };
                if (buttonSubmit.CommandName == "UPDATE")
                {
                    thisMethod.ID = Convert.ToInt32(this.CurrentPayMethodID);
                }

                BillingManager.SavePaymentMethod(thisMethod, this.UserID);

                if (buttonSubmit.CommandName == "NEW")
                {
                    this.NotifyAction("New payment method addedd successfully", string.Format("{0} {1} ", "Adding Payment method", paymentName), false);
                }
                else
                {
                    this.NotifyAction("Payment method updated successfully", string.Format("{0} {1} ", "Updating Payment method", paymentName), false);
                }
                this.PopulatePaymentType();
                return;
            }
            catch (Exception ex)
            {
                this.NotifyAction(ex.Message.ToString(), "Error Occured", true);
                return;
            }
        }
        /// <summary>
        /// Populates the payment mode.
        /// </summary>
        void PopulatePaymentMode()
        {
            BindFunctions BindManager = new BindFunctions();
            IQCareUtils   theUtils    = new IQCareUtils();

            using (DataSet theDSXML = new DataSet())
            {
                /// DataTable theDT;
                // theDSXML.ReadXml(MapPath("~\\XMLFiles\\AllMasters.con"));

                IBilling  bMgr      = (IBilling)ObjectFactory.CreateInstance("BusinessProcess.SCM.BBilling,BusinessProcess.SCM");
                DataTable dtDeposit = bMgr.GetPatientDeposit(this.PatientID, this.BillLocationID);
                //string rowFilter = "DeleteFlag=0 and CodeID=212 and Name <> 'WriteOff'";
                //if (dtDeposit.Rows.Count == 0 || Convert.ToDecimal(dtDeposit.Rows[0]["AvailableAmount"]) == 0.0M)
                //    rowFilter = "DeleteFlag=0 and CodeID=212 and Name <> 'Deposit'";


                List <PaymentMethod> _paymentMethods = bMgr.GetPaymentMethods("");
                //if (_paymentMethods != null)
                //{
                //    var c = _paymentMethods.Where(_p => _p.Active == true && _p.Name != "WriteOff");
                //}
                // DataView theDV = new DataView(theDSXML.Tables["Mst_Decode"]);
                // theDV.RowFilter = rowFilter;
                if (_paymentMethods != null)
                {
                    //  DataTable theDT = (DataTable)theUtils.CreateTableFromDataView(theDV);
                    bool showdeposit = true;
                    if (dtDeposit.Rows.Count == 0 || Convert.ToDecimal(dtDeposit.Rows[0]["AvailableAmount"]) == 0.0M)
                    {
                        showdeposit = false;
                        //_paymentMethods.DefaultIfEmpty(null).FirstOrDefault(p=> p.Name =="Deposit")
                    }
                    _paymentMethods.RemoveAll(p => p.Active = false || p.Name == "WriteOff" || (showdeposit == false && p.Name == "Deposit"));

                    List <string> PayMethods = PaymentConfigHelper.PayMethods();

                    ddlPaymentMode.Items.Clear();
                    foreach (PaymentMethod method in _paymentMethods)
                    {
                        string name = method.Name;
                        if (PayMethods.Exists(x => x == name))
                        {
                            ddlPaymentMode.Items.Add(new ListItem(method.Name, method.ID.ToString()));
                        }
                    }
                    //foreach (DataRow row in theDT.Rows)
                    //{
                    //    string name = row["Name"].ToString();

                    //    if (PayMethods.Exists(x => x == name))
                    //    {
                    //        ddlPaymentMode.Items.Add(new ListItem(row["Name"].ToString(), row["ID"].ToString()));
                    //    }
                    //}
                    // theDV.Dispose();
                    // theDT.Clear();
                }
                bMgr = null;
            }
        }
        /// <summary>
        /// Buttons the proceed.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected void buttonProceed_Click(object sender, EventArgs e)
        {
            string paymethod = ddlPaymentMode.SelectedItem.Text;

            //List<IQCare.CustomReportConfig.PayMethodElement> lx =
            //       IQCare.CustomReportConfig.PaymentMethodConfig.PayMethodAvailable;
            //PayMethodElement selectedElement = IQCare.CustomReportConfig.PaymentMethodConfig.GetPayMethodConfigElement(paymethod);

            string selectedHandler = PaymentConfigHelper.GetHandlerNameByPayMethod(paymethod);
            string controlName     = PaymentConfigHelper.HandlerControlName(selectedHandler);

            if (string.IsNullOrEmpty(controlName))
            {
                return;
            }
            controlName = ("~/billing/" + controlName);

            PaymentMethod payMode = new PaymentMethod()
            {
                ID = Convert.ToInt32(ddlPaymentMode.SelectedValue), Name = paymethod
            };
            Decimal SelectedAmountToPay = 0;

            foreach (GridViewRow gridRow in this.grdPayItems.Rows)
            {
                if (gridRow.RowType == DataControlRowType.DataRow)
                {
                    CheckBox chk    = gridRow.FindControl("chkBxItem") as CheckBox;
                    decimal  amount = decimal.Parse(grdPayItems.DataKeys[gridRow.RowIndex].Values["amount"].ToString());
                    if (chk != null && chk.Checked)
                    {
                        SelectedAmountToPay += amount;
                    }
                    else
                    {
                        gridRow.BackColor = Color.White;
                    }
                }
            }
            ;
            if (SelectedAmountToPay == 0)
            {
                SelectedAmountToPay = this.AmountDue;
            }
            Hashtable ht = new Hashtable()
            {
                { "ControlName", controlName },
                { "AmountDue", this.AmountDue },
                { "BillAmount", this.BillAmount },
                { "BillLocationId", Convert.ToInt32(HLocationID.Value) },
                { "PatientID", this.PatientID },
                { "UserID", this.UserID },
                { "BillID", this.BillID },
                { "PaymentMode", new PaymentMethod()
                  {
                      ID = Convert.ToInt32(ddlPaymentMode.SelectedValue), Name = paymethod
                  } },
                { "AmountToPay", SelectedAmountToPay }
            };

            Session["PayControl"] = ht;
            this.AddPayControl(ht);

            //  ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Highlightor", "highlight();", true);
        }
Пример #11
0
        protected void InstallConfig(object sender, EventArgs e)
        {
            var configfile = PaymentConfigHelper.GetPaymentProviderConfig();

            if (configfile == null)
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "Error!", "PaymentProviderConfig not found!");
                return;
            }

            var merchandId  = "#YOUR SISOW MERCHANT ID#";
            var merchantKey = "#YOUR SISOW MERCHANT KEY#";

            if (!string.IsNullOrEmpty(txtId.Text))
            {
                merchandId = txtId.Text;
            }

            if (!string.IsNullOrEmpty(txtKey.Text))
            {
                merchantKey = txtKey.Text;
            }

            var paymentProviderXml = HttpContext.Current.Server.MapPath(configfile);

            if (paymentProviderXml != null)
            {
                var paymentProviderXDoc = XDocument.Load(paymentProviderXml);

                if (paymentProviderXDoc.Descendants("provider").Any(x =>
                {
                    var xAttribute = x.Attribute("title");
                    return(xAttribute != null && xAttribute.Value == "Sisow");
                }))
                {
                    BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.info, "Sisow config", "Sisow config already created");
                }
                else
                {
                    //       <provider title="Sisow">
                    //  <merchantid>#YOUR SISOW MERCHANT ID#</merchantid>
                    //      <merchantkey>#YOUR SISOW MERCHANT KEY#</merchantkey>
                    //  <DirectoryRequestUrl>https://www.sisow.nl/Sisow/iDeal/RestHandler.ashx/DirectoryRequest</DirectoryRequestUrl>
                    //  <DirectoryRequestTestUrl>https://www.sisow.nl/Sisow/iDeal/RestHandler.ashx/DirectoryRequest?test=true</DirectoryRequestTestUrl>
                    //      <TransactionRequestUrl>https://www.sisow.nl/Sisow/iDeal/RestHandler.ashx/TransactionRequest</TransactionRequestUrl>
                    //</provider>


                    var ProviderNode = new XElement("provider", new XAttribute("title", "Sisow"), new XElement("merchantid", merchandId), new XElement("merchantkey", merchantKey), new XElement("DirectoryRequestUrl", "https://www.sisow.nl/Sisow/iDeal/RestHandler.ashx/DirectoryRequest"), new XElement("DirectoryRequestTestUrl", "https://www.sisow.nl/Sisow/iDeal/RestHandler.ashx/DirectoryRequest?test=true"), new XElement("TransactionRequestUrl", "https://www.sisow.nl/Sisow/iDeal/RestHandler.ashx/TransactionRequest"));

                    paymentProviderXDoc.Descendants("providers").FirstOrDefault().Add(ProviderNode);

                    paymentProviderXDoc.Save(paymentProviderXml);

                    var dtuwbsPaymentProviderSection = DocumentType.GetByAlias(PaymentProviderSectionContentType.NodeAlias);

                    var author = new User(0);

                    var uwbsPaymentProviderSectionDoc = Document.GetDocumentsOfDocumentType(dtuwbsPaymentProviderSection.Id).FirstOrDefault();

                    var dtuwbsPaymentProvider = DocumentType.GetByAlias(PaymentProvider.NodeAlias);

                    if (uwbsPaymentProviderSectionDoc != null)
                    {
                        var providerDoc = Document.MakeNew("Sisow", dtuwbsPaymentProvider, author, uwbsPaymentProviderSectionDoc.Id);
                        providerDoc.SetProperty("title", "Sisow");
                        providerDoc.SetProperty("description", "Sisow Payment Provider for uWebshop");

                        providerDoc.SetProperty("type", PaymentProviderType.OnlinePayment.ToString());
                        providerDoc.SetProperty("dllName", "uWebshop.Payment.Sisow");

                        providerDoc.Save();

                        BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.success, "Sisow Installed!", "Sisow config added and node created");
                    }
                }
            }
        }
Пример #12
0
        protected void InstallOgoneConfig(object sender, EventArgs e)
        {
            var configfile     = PaymentConfigHelper.GetPaymentProviderConfigXml();
            var configfilePath = PaymentConfigHelper.GetPaymentProviderConfig();

            if (configfile == null)
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "Error!",
                                                              "PaymentProviderConfig not found!");
                return;
            }

            var ogoneAccountId    = "#YOUR OGONE PSPID#";
            var ogoneSHASignature = "#YOUR SHA SIGNATURE#";

            if (!string.IsNullOrEmpty(txtOgonePSPID.Text))
            {
                ogoneAccountId = txtOgonePSPID.Text;
            }

            if (!string.IsNullOrEmpty(txtSHA.Text))
            {
                ogoneSHASignature = txtSHA.Text;
            }

            if (configfile.Descendants("provider").Any(x =>
            {
                var xAttribute = x.Attribute("title");
                return(xAttribute != null && xAttribute.Value == "Ogone");
            }))
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.info, "Ogone config",
                                                              "Ogone config already created");
            }
            else
            {
                //         <provider title="Ogone">
                //  <PSPID>#YOUR PSID#</PSPID>
                //  <SecureHashAlgorithm>SHA256</SecureHashAlgorithm>
                //  <SHAInSignature>#YOUR SHA SIGNATURE</SHAInSignature>
                //      <url>https://secure.ogone.com/ncol/prod/orderstandard.asp</url>
                //  <testURL>https://secure.ogone.com/ncol/test/orderstandard.asp</testURL>
                //</provider>


                var oGoneConfig = new XElement("provider", new XAttribute("title", "Ogone"),
                                               new XElement("PSPID", ogoneAccountId), new XElement("SecureHashAlgorithm", "SHA256"),
                                               new XElement("SHAInSignature", ogoneSHASignature));

                configfile.Descendants("providers").First().Add(oGoneConfig);

                var servicesNode = new XElement("Services");
                oGoneConfig.Add(servicesNode);

                #region creditcards
                var serviceCreditCardNode = new XElement("Service", new XAttribute("name", "CreditCard"));
                servicesNode.Add(serviceCreditCardNode);

                var issuersNode = new XElement("Issuers");
                serviceCreditCardNode.Add(issuersNode);

                var issuerNode = new XElement("Issuer");
                issuersNode.Add(issuerNode);

                var codeNodeMasterCard = new XElement("Code", "MasterCard");
                issuerNode.Add(codeNodeMasterCard);

                var nameNodeMasterCard = new XElement("Name", "MasterCard");
                issuerNode.Add(nameNodeMasterCard);

                var issuer2Node = new XElement("Issuer");
                issuersNode.Add(issuer2Node);

                var codeNodeVisa = new XElement("Code", "VISA");
                issuer2Node.Add(codeNodeVisa);

                var nameNodeVisa = new XElement("Name", "VISA");
                issuer2Node.Add(nameNodeVisa);
                #endregion

                #region ideal
                var serviceiDealNode = new XElement("Service", new XAttribute("name", "iDEAL"));
                servicesNode.Add(serviceiDealNode);

                var issuersiDealNode = new XElement("Issuers");
                serviceiDealNode.Add(issuersiDealNode);

                var issueriDealNode = new XElement("Issuer");
                issuersiDealNode.Add(issueriDealNode);

                var codeNodeiDeal = new XElement("Code", "iDEAL");
                issueriDealNode.Add(codeNodeiDeal);

                var nameNodeiDeal = new XElement("Name", "iDeal");
                issueriDealNode.Add(nameNodeiDeal);
                #endregion

                var paymentProviderPath = HttpContext.Current.Server.MapPath(configfilePath);
                configfile.Save(paymentProviderPath);

                var dtuwbsPaymentProviderSection = DocumentType.GetByAlias(PaymentProviderSectionContentType.NodeAlias);

                var author = new User(0);

                var uwbsPaymentProviderSectionDoc =
                    Document.GetDocumentsOfDocumentType(dtuwbsPaymentProviderSection.Id).FirstOrDefault();

                var dtuwbsPaymentProvider = DocumentType.GetByAlias(PaymentProvider.NodeAlias);

                if (uwbsPaymentProviderSectionDoc != null)
                {
                    var providerDoc = Document.MakeNew("Ogone", dtuwbsPaymentProvider, author,
                                                       uwbsPaymentProviderSectionDoc.Id);
                    providerDoc.SetProperty("title", "Ogone");
                    providerDoc.SetProperty("description", "Ogone Payment Provider for uWebshop");
                    providerDoc.SetProperty("type", PaymentProviderType.OnlinePayment.ToString());
                    providerDoc.Save();

                    BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.success, "Ogone Installed!",
                                                                  "Ogone config added and nodes created");
                }
            }
        }
        public static XElement GetSettingsXML(this PaymentProvider paymentProvider)
        {
            var helper = new PaymentConfigHelper(paymentProvider);

            return(helper.Settings.LoadProviderSettingsXML());
        }
        protected void InstallConfig(object sender, EventArgs e)
        {
            var configfile = PaymentConfigHelper.GetPaymentProviderConfig();

            if (configfile == null)
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "Error!", "PaymentProviderConfig not found!");
                return;
            }

            var molliePartnerId = "#YOUR Mollie PartnerId#";

            if (!string.IsNullOrEmpty(txtMolliePartnerId.Text))
            {
                molliePartnerId = txtMolliePartnerId.Text;
            }

            var paymentProviderXML = HttpContext.Current.Server.MapPath(configfile);

            if (paymentProviderXML == null)
            {
                return;
            }

            var paymentProviderXDoc = XDocument.Load(paymentProviderXML);

            if (!paymentProviderXDoc.Descendants("providers").Any())
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "PaymentConfig", "PaymentConfig Providers RootNode Missing!");
                return;
            }

            if (paymentProviderXDoc.Descendants("provider").Any(x =>
            {
                var xAttribute = x.Attribute("title");
                return(xAttribute != null && xAttribute.Value == "Mollie");
            }))
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.info, "Mollie config", "Mollie config already created");
                return;
            }

            // <provider title="Mollie">
            //  <PartnerId>#YOUR PartnerId#</PartnerId>
            //</provider>


            var providerNode = new XElement("provider", new XAttribute("title", "Mollie"), new XElement("PartnerId", molliePartnerId));

            paymentProviderXDoc.Descendants("providers").FirstOrDefault().Add(providerNode);

            paymentProviderXDoc.Save(paymentProviderXML);

            var dtuwbsPaymentProviderSection = DocumentType.GetByAlias(PaymentProviderSectionContentType.NodeAlias);

            var author = new User(0);

            var uwbsPaymentProviderSectionDoc = Document.GetDocumentsOfDocumentType(dtuwbsPaymentProviderSection.Id).FirstOrDefault();

            var dtuwbsPaymentProvider = DocumentType.GetByAlias(PaymentProvider.NodeAlias);

            if (uwbsPaymentProviderSectionDoc == null)
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "uWebshop config", "PaymentProvider DocumentType does not Exist");
                return;
            }

            var providerDoc = Document.MakeNew("Mollie", dtuwbsPaymentProvider, author, uwbsPaymentProviderSectionDoc.Id);

            providerDoc.SetProperty("title", "Mollie");
            providerDoc.SetProperty("description", "Mollie Payment Provider for uWebshop");

            providerDoc.SetProperty("type", PaymentProviderType.OnlinePayment.ToString());
            providerDoc.SetProperty("dllName", "uWebshop.Payment.Mollie");

            providerDoc.Save();

            BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.success, "Mollie Installed!", "Mollie config added and nodes created");
        }
        protected void InstallConfig(object sender, EventArgs e)
        {
            var configfile     = PaymentConfigHelper.GetPaymentProviderConfigXml();
            var configfilePath = PaymentConfigHelper.GetPaymentProviderConfig();

            if (configfile == null)
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "Error!",
                                                              "PaymentProviderConfig not found!");
                return;
            }

            var accountId   = "#YOUR MERCHANTID#";
            var securityKey = "#YOUR SECURITYKEY#";

            if (!string.IsNullOrEmpty(txtMerchantId.Text))
            {
                accountId = txtMerchantId.Text;
            }

            if (!string.IsNullOrEmpty(txtSecurityKey.Text))
            {
                securityKey = txtSecurityKey.Text;
            }

            if (configfile.Descendants("provider").Any(x =>
            {
                var xAttribute = x.Attribute("title");
                return(xAttribute != null && xAttribute.Value == "Omnikassa");
            }))
            {
                BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.info, "Omnikassa config",
                                                              "Omnikassa config already created");
            }
            else
            {
                //<provider title="OmniKassa">
                //	   <MerchantId>#YOUR OmniKassa MerchantId#</MerchantId>
                //	   <CurrencyCode>978</CurrencyCode>
                //	   <normalReturnUrl>http://www.yoursite.com</normalReturnUrl>
                //	   <KeyVersion>1</KeyVersion>
                //	   <TestAmount>56</TestAmount>
                //</provider>
                //   </provider>


                var paymentNode = new XElement("provider", new XAttribute("title", "Omnikassa"),
                                               new XElement("MerchantId", accountId), new XElement("CurrencyCode", "978"),
                                               new XElement("normalReturnUrl", HttpContext.Current.Request.Url.Authority),
                                               new XElement("KeyVersion", "1"), new XElement("TestAmount", "1000"),
                                               new XElement("SecurityKey", securityKey)
                                               );

                configfile.Descendants("providers").First().Add(paymentNode);

                var paymentProviderPath = HttpContext.Current.Server.MapPath(configfilePath);

                configfile.Save(paymentProviderPath);

                var dtuwbsPaymentProviderSection = DocumentType.GetByAlias(PaymentProviderSectionContentType.NodeAlias);

                var author = new User(0);

                var uwbsPaymentProviderSectionDoc =
                    Document.GetDocumentsOfDocumentType(dtuwbsPaymentProviderSection.Id).FirstOrDefault();

                var dtuwbsPaymentProvider = DocumentType.GetByAlias(PaymentProvider.NodeAlias);

                if (uwbsPaymentProviderSectionDoc != null)
                {
                    var providerDoc = Document.MakeNew("Omnikassa", dtuwbsPaymentProvider, author,
                                                       uwbsPaymentProviderSectionDoc.Id);
                    providerDoc.SetProperty("title", "Omnikassa");
                    providerDoc.SetProperty("description", "Omnikassa Payment Provider for uWebshop");

                    providerDoc.SetProperty("type", PaymentProviderType.OnlinePayment.ToString());

                    providerDoc.Save();

                    BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.success, "Omnikassa Installed!",
                                                                  "Omnikassa config added and nodes created");
                }
            }
        }