/// <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); }
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"); } } } }
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"); } } }