/// <summary> /// Gets the configured object from payment configuration. /// </summary> private Config GetConfig(PaymentMethodDto paymentMethodDto) { var cfg = new Config(); cfg.setHost(GetParameterValueByName(paymentMethodDto, HostAddressParameter)); int intResult; var value = GetParameterValueByName(paymentMethodDto, PathToLogFileParameter); if (!string.IsNullOrEmpty(value)) { cfg.setLogfile(value); // log level can be set only if log file path was set int.TryParse(GetParameterValueByName(paymentMethodDto, LoggingLevelParameter), out intResult); cfg.setLogLevel(intResult); } value = GetParameterValueByName(paymentMethodDto, ProxyParameter); if (!string.IsNullOrEmpty(value)) { cfg.setProxy(value); } int.TryParse(GetParameterValueByName(paymentMethodDto, TimeOutParameter), out intResult); if (intResult <= 0) { intResult = 60; } cfg.setTimeout(intResult); return(cfg); }
private void PopulateCreditCardOptions(IUnitOfWork unitOfWork, PaymentOptionsDto paymentOptions) { DateTimeOffset now = DateTimeProvider.Current.Now; unitOfWork.GetRepository <PaymentMethod>().GetTable().Where <PaymentMethod>((Expression <Func <PaymentMethod, bool> >)(o => o.ActivateOn <now && (o.DeactivateOn ?? DateTimeOffset.MaxValue)> now && o.IsCreditCard)).Each <PaymentMethod>((Action <PaymentMethod>)(o => { ICollection <PaymentMethodDto> paymentMethods = paymentOptions.PaymentMethods; PaymentMethodDto paymentMethodDto = new PaymentMethodDto() { Name = o.Name, IsCreditCard = o.IsCreditCard, Description = this.entityTranslationService.Value.TranslateProperty <PaymentMethod>(o, (Expression <Func <PaymentMethod, string> >)(x => x.Description)) }; paymentMethods.Add(paymentMethodDto); })); GetPaymentSettingsResult paymentSettings = this.paymentService.Value.GetPaymentSettings(new GetPaymentSettingsParameter()); paymentOptions.CanStorePaymentProfile = paymentSettings.ResultCode == ResultCode.Success && paymentSettings.SupportsStoredPaymentProfiles; if (paymentOptions.CanStorePaymentProfile) { this.PopulateStoredPaymentProfile(paymentOptions); } this.PopulateCardTypes(paymentOptions); this.PopulateExpirationDates(paymentOptions); }
/// <summary> /// Saves the changes. /// </summary> /// <param name="dto">The dto.</param> public void SaveChanges(object dto) { if (!Visible) { return; } _paymentMethodDto = dto as PaymentMethodDto; if (_paymentMethodDto?.PaymentMethodParameter != null) { var paymentMethodId = Guid.Empty; if (_paymentMethodDto.PaymentMethod.Count > 0) { paymentMethodId = _paymentMethodDto.PaymentMethod[0].PaymentMethodId; } UpdateOrCreateParameter(BaseConfiguration.TransactionTypeParameter, DropDownListTransactionType, paymentMethodId); UpdateOrCreateParameter(BaseConfiguration.DecisionManagerIsEnabledParameter, CheckBoxDecisionManagerEnabled, paymentMethodId); UpdateOrCreateParameter(CreditCardConfiguration.SecretKeyParameter, SecretKey, paymentMethodId); UpdateOrCreateParameter(CreditCardConfiguration.AccessKeyParameter, AccessKey, paymentMethodId); UpdateOrCreateParameter(CreditCardConfiguration.ProfileIdParameter, ProfileId, paymentMethodId); UpdateOrCreateParameter(CreditCardConfiguration.UnsignedFieldsParameter, UnsignedFields, paymentMethodId); UpdateOrCreateParameter(CreditCardConfiguration.IsPhoneNumberAddedParameter, IsPhoneNumberAdded, paymentMethodId); UpdateOrCreateParameter(CreditCardConfiguration.SecureAcceptanceTransactionTypeParameter, DropDownListSecureAcceptanceTransactionType, paymentMethodId); } }
/// <summary> /// Saves the changes. /// </summary> /// <param name="dto">The dto.</param> public void SaveChanges(object dto) { if (!Visible) { return; } _paymentMethodDto = dto as PaymentMethodDto; if (_paymentMethodDto != null && _paymentMethodDto.PaymentMethodParameter != null) { var paymentMethodId = Guid.Empty; if (_paymentMethodDto.PaymentMethod.Count > 0) { paymentMethodId = _paymentMethodDto.PaymentMethod[0].PaymentMethodId; } UpdateOrCreateParameter(PayooConfiguration.ApiPayooCheckoutParameter, ApiPayooCheckout, paymentMethodId); UpdateOrCreateParameter(PayooConfiguration.BusinessUsernameParameter, BusinessUsername, paymentMethodId); UpdateOrCreateParameter(PayooConfiguration.ShopIDParameter, ShopID, paymentMethodId); UpdateOrCreateParameter(PayooConfiguration.ShopTitleParameter, ShopTitle, paymentMethodId); UpdateOrCreateParameter(PayooConfiguration.ChecksumKeyParameter, ChecksumKey, paymentMethodId); UpdateOrCreateParameter(PayooConfiguration.APIUsernameParameter, APIUsername, paymentMethodId); UpdateOrCreateParameter(PayooConfiguration.APIPasswordParameter, APIPassword, paymentMethodId); UpdateOrCreateParameter(PayooConfiguration.APISignatureParameter, APISignature, paymentMethodId); } }
public void SaveChanges(object dto) { if (Visible) { paymentMethodDto = dto as PaymentMethodDto; if (paymentMethodDto != null && paymentMethodDto.PaymentMethodParameter != null) { var paymentMethodId = Guid.Empty; if (paymentMethodDto.PaymentMethod.Count > 0) { paymentMethodId = paymentMethodDto.PaymentMethod[0].PaymentMethodId; } var param = GetParameterByName(secretKeyPayment); if (param != null) { param.Value = txtSecretKey.Text; PaymentManager.SavePayment(paymentMethodDto); } else { var newRow = paymentMethodDto.PaymentMethodParameter.NewPaymentMethodParameterRow(); newRow.PaymentMethodId = paymentMethodId; newRow.Parameter = secretKeyPayment; newRow.Value = txtSecretKey.Text; paymentMethodDto.PaymentMethodParameter.Rows.Add(newRow); } } } }
public GenericPaymentViewModel(Guid paymentMethod, T currentPage, OrderInfo orderInfo, Cart cart) : base(currentPage) { PaymentMethodDto payment = PaymentManager.GetPaymentMethod(paymentMethod); _paymentMethod = payment; _currentCart = cart; DIBSPaymentGateway gw = new DIBSPaymentGateway(); orderInfo.Merchant = gw.Merchant; Mediachase.Commerce.Orders.Payment[] payments; if (CurrentCart != null && CurrentCart.OrderForms != null && CurrentCart.OrderForms.Count > 0) { payments = CurrentCart.OrderForms[0].Payments.ToArray(); } else { payments = new Mediachase.Commerce.Orders.Payment[0]; } _payment = payments.FirstOrDefault(c => c.PaymentMethodId.Equals(payment.PaymentMethod.Rows[0]["PaymentMethodId"])); OrderID = orderInfo.OrderId; }
private void DoCapture(Payment authorizePayment, decimal amount) { if (String.IsNullOrEmpty(authorizePayment.TransactionID)) { authorizePayment.TransactionID = Guid.NewGuid().ToString(); } Type paymentType = null; PaymentMethodDto paymentMethodDto = PaymentManager.GetPaymentMethod(authorizePayment.PaymentMethodId, true); string className = paymentMethodDto.PaymentMethod[0].PaymentImplementationClassName; paymentType = AssemblyUtil.LoadType(className); Payment payment = this.OrderGroup.OrderForms[0].Payments.AddNew(paymentType); foreach (MetaField field in authorizePayment.MetaClass.MetaFields) { if (!field.Name.Equals("PaymentId", StringComparison.InvariantCultureIgnoreCase)) { payment[field.Name] = authorizePayment[field.Name]; } } payment.Amount = amount; payment.TransactionType = TransactionType.Capture.ToString(); payment.Status = PaymentStatus.Pending.ToString(); }
public static PaymentMethodDto.PaymentMethodParameterRow GetParameterByName(PaymentMethodDto paymentMethodDto, string name) { var rowArray = (PaymentMethodDto.PaymentMethodParameterRow[])paymentMethodDto.PaymentMethodParameter.Select($"Parameter = '{name}'"); if (rowArray.Length > 0) return rowArray[0]; throw new ArgumentNullException($"Parameter named {name} for PayEx payment cannot be null"); }
/// <inheritdoc /> /// <summary> /// Saves the changes. /// </summary> /// <param name="dto">The dto.</param> public void SaveChanges(object dto) { if (!Visible) { return; } _paymentMethodDto = dto as PaymentMethodDto; if (_paymentMethodDto?.PaymentMethodParameter != null) { var paymentMethodId = Guid.Empty; if (_paymentMethodDto.PaymentMethod.Count > 0) { paymentMethodId = _paymentMethodDto.PaymentMethod[0].PaymentMethodId; } UpdateOrCreateParameter(PayPalConfiguration.UserParameter, APIUser, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.BusinessEmailParameter, BusinessEmail, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.PalParameter, PAL, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.PasswordParameter, Password, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.ApiSignatureParameter, Signature, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.ExpChkoutUrlParameter, ExpChkoutURL, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.SandBoxParameter, CheckBoxTest, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.AllowChangeAddressParameter, CheckBoxAllowChangeAddress, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.SkipConfirmPageParameter, CheckBoxSkipConfirmPage, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.AllowGuestParameter, CheckBoxGuestCheckout, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.PaymentActionParameter, DropDownListPaymentAction, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.SuccessUrlParameter, SuccessUrl, paymentMethodId); UpdateOrCreateParameter(PayPalConfiguration.CancelUrlParameter, CancelUrl, paymentMethodId); } }
public void SaveChanges(object dto) { if (Visible) { paymentMethodDto = dto as PaymentMethodDto; if (paymentMethodDto != null && paymentMethodDto.PaymentMethodParameter != null) { var paymentMethodId = Guid.Empty; if (paymentMethodDto.PaymentMethod.Count > 0) { paymentMethodId = paymentMethodDto.PaymentMethod[0].PaymentMethodId; } var param = GetParameterByName(metaClassName); if (param != null) { param.Value = txtMetaclass.Text; } else { var newRow = paymentMethodDto.PaymentMethodParameter.NewPaymentMethodParameterRow(); newRow.PaymentMethodId = paymentMethodId; newRow.Parameter = metaClassName; newRow.Value = txtMetaclass.Text; paymentMethodDto.PaymentMethodParameter.Rows.Add(newRow); } } } }
public void SetConfiguration(CheckoutConfiguration configuration, PaymentMethodDto paymentMethod, string currentMarket) { var serialized = JsonConvert.SerializeObject(configuration); var languageId = paymentMethod.PaymentMethod.First().LanguageId; paymentMethod.SetParameter($"{currentMarket}_{languageId}_{Constants.SwedbankPaySerializedMarketOptions}", serialized); }
private void PopulatePoOptions(IUnitOfWork unitOfWork, PaymentOptionsDto paymentOptions) { Customer billTo = SiteContext.Current.BillTo; if (billTo.CreditHold) { return; } PaymentMethod customerPaymentMethod = unitOfWork.GetRepository <PaymentMethod>().GetTable().FirstOrDefault <PaymentMethod>((Expression <Func <PaymentMethod, bool> >)(o => o.Name == billTo.TermsCode)); if (customerPaymentMethod == null || customerPaymentMethod.IsCreditCard) { return; } DateTimeOffset now = DateTimeProvider.Current.Now; unitOfWork.GetRepository <PaymentMethod>().GetTable().Where <PaymentMethod>((Expression <Func <PaymentMethod, bool> >)(o => o.ActivateOn <now && (o.DeactivateOn ?? DateTimeOffset.MaxValue)> now && o.Name.Equals(customerPaymentMethod.Name))).Each <PaymentMethod>((Action <PaymentMethod>)(o => { ICollection <PaymentMethodDto> paymentMethods = paymentOptions.PaymentMethods; PaymentMethodDto paymentMethodDto = new PaymentMethodDto() { Name = o.Name, IsCreditCard = o.IsCreditCard, Description = this.entityTranslationService.Value.TranslateProperty <PaymentMethod>(o, (Expression <Func <PaymentMethod, string> >)(x => x.Description)) }; paymentMethods.Add(paymentMethodDto); })); }
private void AddPayment(Cart cart, string paymentMethod, OrderAddress billingAddress) { //first delete existing payment if (cart.OrderForms[0].Payments != null && cart.OrderForms[0].Payments.Count > 0) { foreach (Payment pay in cart.OrderForms[0].Payments) { pay.Delete(); } } PaymentMethodDto method = PaymentManager.GetPaymentMethod(new Guid(paymentMethod)); DibsPayment newPayment = new DibsPayment(); newPayment.PaymentType = PaymentType.Other; newPayment.PaymentMethodId = method.PaymentMethod[0].PaymentMethodId; newPayment.PaymentMethodName = method.PaymentMethod[0].Name; newPayment.Amount = cart.Total; if (billingAddress != null) { newPayment.BillingAddressId = billingAddress.Name; } cart.OrderForms[0].Payments.Add(newPayment); }
public string GetAdditionalValues(PaymentMethodDto paymentMethodDto) { var additionalValues = _parameterReader.GetAdditionalValues(paymentMethodDto); Models.PaymentMethods.MasterPass.ValidateMasterPassAdditionalValues(additionalValues); return(additionalValues); }
/// <summary> /// Saves the changes. /// </summary> /// <param name="dto">The dto.</param> public void SaveChanges(object dto) { if (Visible) { _paymentMethodDto = dto as PaymentMethodDto; if ((_paymentMethodDto != null) && (_paymentMethodDto.PaymentMethodParameter != null)) { Guid paymentMethodId = Guid.Empty; if (_paymentMethodDto.PaymentMethod.Count > 0) { paymentMethodId = _paymentMethodDto.PaymentMethod[0].PaymentMethodId; } PaymentMethodDto.PaymentMethodParameterRow parameterByName = GetParameterByName(PriceListArgsParameter); if (parameterByName != null) { parameterByName.Value = PriceArgList.Text; } else { CreateParameter(_paymentMethodDto, PriceListArgsParameter, PriceArgList.Text, paymentMethodId); } parameterByName = GetParameterByName(AdditionalValuesParameter); if (parameterByName != null) { parameterByName.Value = AdditionalValues.Text; } else { CreateParameter(_paymentMethodDto, AdditionalValuesParameter, AdditionalValues.Text, paymentMethodId); } } } }
public virtual PaymentOrderRequest GetPaymentOrderRequest( IOrderGroup orderGroup, IMarket market, PaymentMethodDto paymentMethodDto, string description, string consumerProfileRef = null) { if (orderGroup == null) { throw new ArgumentNullException(nameof(orderGroup)); } if (market == null) { throw new ArgumentNullException(nameof(market)); } var marketCountry = CountryCodeHelper.GetTwoLetterCountryCode(market.Countries.FirstOrDefault()); if (string.IsNullOrWhiteSpace(marketCountry)) { throw new ConfigurationException($"Please select a country in Commerce Manager for market {orderGroup.MarketId}"); } List <OrderItem> orderItems = new List <OrderItem>(); foreach (var orderGroupForm in orderGroup.Forms) { foreach (var shipment in orderGroupForm.Shipments) { orderItems.AddRange(GetOrderItems(market, orderGroup.Currency, shipment.ShippingAddress, shipment.LineItems)); orderItems.Add(GetShippingOrderItem(shipment, market)); } } return(CreatePaymentOrderRequest(orderGroup, market, consumerProfileRef, orderItems, description)); }
internal PaymentMethodDto.PaymentMethodParameterRow GetParameterByName(PaymentMethodDto paymentMethodDto, string name) { PaymentMethodDto.PaymentMethodParameterRow[] rowArray = (PaymentMethodDto.PaymentMethodParameterRow[])paymentMethodDto.PaymentMethodParameter.Select(string.Format("Parameter = '{0}'", name)); if (rowArray.Length > 0) return rowArray[0]; throw new ArgumentNullException("Parameter named " + name + " for PayEx payment cannot be null"); }
protected virtual void Initialize(IDictionary <string, string> settings) { _paymentMethodDto = GetDIBSPaymentMethod(); PaymentMethodId = GetPaymentMethodId(); _settings = settings ?? GetSettings(); GetParametersValues(); }
public virtual string GetPaymentUrl(VerifonePaymentRequest payment) { PaymentMethodDto paymentMethodDto = GetPaymentMethodDto(payment); return(paymentMethodDto != null ? paymentMethodDto.GetPaymentUrl() : null); }
protected virtual string GetConfigurationValue(VerifonePaymentRequest payment, string parameterName, string defaultValue = null) { PaymentMethodDto paymentMethodDto = GetPaymentMethodDto(payment); return(paymentMethodDto != null ? paymentMethodDto.GetParameter(parameterName, defaultValue) : defaultValue); }
/// <summary> /// Gets the PaymentMethodDto's parameter (setting in CommerceManager of PayPal) by name. /// </summary> /// <param name="paymentMethodDto">The payment method dto.</param> /// <param name="parameterName">The parameter name.</param> /// <returns>The parameter row.</returns> public static PaymentMethodDto.PaymentMethodParameterRow GetParameterByName(PaymentMethodDto paymentMethodDto, string parameterName) { var rowArray = (PaymentMethodDto.PaymentMethodParameterRow[])paymentMethodDto .PaymentMethodParameter .Select($"Parameter = '{parameterName}'"); return(rowArray.Length > 0 ? rowArray[0] : null); }
/// <summary> /// Binds the payments list. /// </summary> /// <param name="shippingRow">The shipping row.</param> private void BindPaymentsList(ShippingMethodDto.ShippingMethodRow shippingRow) { List <PaymentMethodDto.PaymentMethodRow> leftPayments = new List <PaymentMethodDto.PaymentMethodRow>(); List <PaymentMethodDto.PaymentMethodRow> rightPayments = new List <PaymentMethodDto.PaymentMethodRow>(); PaymentMethodDto dto = PaymentManager.GetPaymentMethods(shippingRow != null ? shippingRow.LanguageId : LanguageCode, true); bool allToLeft = false; // if true, then add all payments to the left list if (shippingRow != null) { ShippingMethodDto.ShippingPaymentRestrictionRow[] restrictedPaymentRows = shippingRow.GetShippingPaymentRestrictionRows(); if (restrictedPaymentRows != null && restrictedPaymentRows.Length > 0) { foreach (PaymentMethodDto.PaymentMethodRow paymentMethodRow in dto.PaymentMethod) { bool found = false; foreach (ShippingMethodDto.ShippingPaymentRestrictionRow restrictedPaymentRow in restrictedPaymentRows) { if (paymentMethodRow.PaymentMethodId == restrictedPaymentRow.PaymentMethodId) { found = true; break; } } if (found) { rightPayments.Add(paymentMethodRow); } else { leftPayments.Add(paymentMethodRow); } } PaymentsList.LeftDataSource = leftPayments; PaymentsList.RightDataSource = rightPayments; } else { // add all payments to the left list allToLeft = true; } } else { allToLeft = true; } if (allToLeft) { // add all payments to the left list PaymentsList.LeftDataSource = dto.PaymentMethod; } PaymentsList.DataBind(); }
public PaymentDto( double amount, string currency, PaymentMethodDto paymentMethodDto) { this.Amount = amount; this.Currency = currency; this.PaymentMethod = paymentMethodDto as CreditCardDto; }
/// <summary> /// Loads the fresh. /// </summary> /// <returns></returns> private PaymentMethodDto LoadFresh() { PaymentMethodDto pm = PaymentManager.GetPaymentMethod(PaymentMethodId, true); // persist in session Session[GetPaymentMethodSessionKey()] = pm; return(pm); }
private static ProviderSettings GetProviderSettings(PaymentMethodDto klarnaPaymentMethodDto) { return(new ProviderSettings( bool.Parse(klarnaPaymentMethodDto.GetParameter(KlarnaConstants.IsProduction)), klarnaPaymentMethodDto.GetParameter(KlarnaConstants.MerchantId), klarnaPaymentMethodDto.GetParameter(KlarnaConstants.Secret), klarnaPaymentMethodDto.GetParameter(KlarnaConstants.Locale) )); }
public CheckoutConfiguration GetConfiguration(PaymentMethodDto paymentMethodDto, MarketId marketId) { var languageId = paymentMethodDto.PaymentMethod.FirstOrDefault()?.LanguageId; var parameter = paymentMethodDto.GetParameter($"{marketId.Value}_{languageId}_{Constants.SwedbankPaySerializedMarketOptions}", string.Empty); var configuration = JsonConvert.DeserializeObject <CheckoutConfiguration>(parameter); return(configuration ?? new CheckoutConfiguration()); }
private static VippsConfiguration GetVippsCheckoutConfiguration( PaymentMethodDto paymentMethodDto, MarketId marketId) { var parameter = paymentMethodDto.GetParameter($"{marketId.Value}_{VippsConstants.VippsSerializedMarketOptions}", string.Empty); var configuration = JsonConvert.DeserializeObject <VippsConfiguration>(parameter); return(configuration ?? new VippsConfiguration()); }
internal PaymentMethodDto.PaymentMethodParameterRow GetParameterByName(PaymentMethodDto paymentMethodDto, string name) { PaymentMethodDto.PaymentMethodParameterRow[] rowArray = (PaymentMethodDto.PaymentMethodParameterRow[])paymentMethodDto.PaymentMethodParameter.Select(string.Format("Parameter = '{0}'", name)); if (rowArray.Length > 0) { return(rowArray[0]); } throw new ArgumentNullException("Parameter named " + name + " for PayEx payment cannot be null"); }
/// <summary> /// Saves the changes. /// </summary> /// <param name="dto">The dto.</param> public void SaveChanges(object dto) { if (Visible) { _paymentMethodDto = dto as PaymentMethodDto; if ((_paymentMethodDto != null) && (_paymentMethodDto.PaymentMethodParameter != null)) { Guid paymentMethodId = Guid.Empty; if (_paymentMethodDto.PaymentMethod.Count > 0) { paymentMethodId = _paymentMethodDto.PaymentMethod[0].PaymentMethodId; } PaymentMethodDto.PaymentMethodParameterRow parameterByName = GetParameterByName(PriceListArgsParameter); if (parameterByName != null) { parameterByName.Value = PriceArgList.Text; } else { CreateParameter(_paymentMethodDto, PriceListArgsParameter, PriceArgList.Text, paymentMethodId); } parameterByName = GetParameterByName(AdditionalValuesParameter); if (parameterByName != null) { parameterByName.Value = AdditionalValues.Text; } else { CreateParameter(_paymentMethodDto, AdditionalValuesParameter, AdditionalValues.Text, paymentMethodId); } parameterByName = GetParameterByName(UseOnePhaseTransactionParameter); if (parameterByName != null) { parameterByName.Value = UseOnePhaseTransaction.Checked.ToString(); } else { CreateParameter(_paymentMethodDto, UseOnePhaseTransactionParameter, UseOnePhaseTransaction.Checked.ToString(), paymentMethodId); } parameterByName = GetParameterByName(GetLegalAddressParameter); if (parameterByName != null) { parameterByName.Value = GetLegalAddress.Checked.ToString(); } else { CreateParameter(_paymentMethodDto, GetLegalAddressParameter, GetLegalAddress.Checked.ToString(), paymentMethodId); } } } }
/// <summary> /// Saves the changes. /// </summary> /// <param name="dto">The dto.</param> public void SaveChanges(object dto) { if (Visible) { _paymentMethodDto = dto as PaymentMethodDto; if ((_paymentMethodDto != null) && (_paymentMethodDto.PaymentMethodParameter != null)) { Guid paymentMethodId = Guid.Empty; if (_paymentMethodDto.PaymentMethod.Count > 0) { paymentMethodId = _paymentMethodDto.PaymentMethod[0].PaymentMethodId; } PaymentMethodDto.PaymentMethodParameterRow parameterByName = GetParameterByName(PriceListArgsParameter); if (parameterByName != null) { parameterByName.Value = PriceArgList.Text; } else { CreateParameter(_paymentMethodDto, PriceListArgsParameter, PriceArgList.Text, paymentMethodId); } parameterByName = GetParameterByName(AdditionalValuesParameter); if (parameterByName != null) { parameterByName.Value = AdditionalValues.Text; } else { CreateParameter(_paymentMethodDto, AdditionalValuesParameter, AdditionalValues.Text, paymentMethodId); } parameterByName = GetParameterByName(UseBestPracticeFlowParameter); if (parameterByName != null) { parameterByName.Value = UseBestPracticeFlow.Checked.ToString(); } else { CreateParameter(_paymentMethodDto, UseBestPracticeFlowParameter, UseBestPracticeFlow.Checked.ToString(), paymentMethodId); } parameterByName = GetParameterByName(AddShoppingCartXmlParameter); if (parameterByName != null) { parameterByName.Value = AddShoppingCartXml.Checked.ToString(); } else { CreateParameter(_paymentMethodDto, AddShoppingCartXmlParameter, AddShoppingCartXml.Checked.ToString(), paymentMethodId); } } } }
public void LoadObject(object dto) { var paymentMethod = dto as PaymentMethodDto; if (paymentMethod == null) { return; } _paymentMethodDto = paymentMethod; }
protected virtual PaymentMethodDto GetPaymentMethodDto(VerifonePaymentRequest payment) { if (payment.PaymentMethodId != Guid.Empty) { PaymentMethodDto paymentMethodDto = PaymentManager.GetPaymentMethod(payment.PaymentMethodId); return(paymentMethodDto); } return(null); }
private CheckoutOrderData GetCheckoutOrderData( ICart cart, IMarket market, PaymentMethodDto paymentMethodDto) { var totals = _orderGroupCalculator.GetOrderGroupTotals(cart); var shipment = cart.GetFirstShipment(); var marketCountry = CountryCodeHelper.GetTwoLetterCountryCode(market.Countries.FirstOrDefault()); if (string.IsNullOrWhiteSpace(marketCountry)) { throw new ConfigurationException($"Please select a country in CM for market {cart.MarketId}"); } var checkoutConfiguration = GetCheckoutConfiguration(market); var orderData = new PatchedCheckoutOrderData { PurchaseCountry = marketCountry, PurchaseCurrency = cart.Currency.CurrencyCode, Locale = ContentLanguage.PreferredCulture.Name, // Non-negative, minor units. Total amount of the order, including tax and any discounts. OrderAmount = AmountHelper.GetAmount(totals.Total), // Non-negative, minor units. The total tax amount of the order. OrderTaxAmount = AmountHelper.GetAmount(totals.TaxTotal), MerchantUrls = GetMerchantUrls(cart), OrderLines = GetOrderLines(cart, totals, checkoutConfiguration.SendProductAndImageUrl) }; if (checkoutConfiguration.SendShippingCountries) { orderData.ShippingCountries = GetCountries().ToList(); } // KCO_6 Setting to let the user select shipping options in the iframe if (checkoutConfiguration.SendShippingOptionsPriorAddresses) { if (checkoutConfiguration.ShippingOptionsInIFrame) { orderData.ShippingOptions = GetShippingOptions(cart, cart.Currency, ContentLanguage.PreferredCulture); } else { if (shipment != null) { orderData.SelectedShippingOption = ShippingManager.GetShippingMethod(shipment.ShippingMethodId) ?.ShippingMethod?.FirstOrDefault() ?.ToShippingOption(); } } } if (paymentMethodDto != null) { orderData.Options = GetOptions(cart.MarketId); } return(orderData); }
public bool AddShoppingCartXml(PaymentMethodDto paymentMethodDto) { try { var addShoppingCartXmlValue = ParameterReader.GetParameterByName(paymentMethodDto, AddShoppingCartXmlParameter).Value; bool addShoppingCartXml; if (bool.TryParse(addShoppingCartXmlValue, out addShoppingCartXml)) return addShoppingCartXml; _log.Warn("Could not convert parameter value for addShoppingCartXml to a boolean and is therefor handled as false."); } catch (ArgumentNullException) { return false; } return false; }
public bool UseBestPracticeFlow(PaymentMethodDto paymentMethodDto) { try { var useBestPracticeFlowValue = ParameterReader.GetParameterByName(paymentMethodDto, UseBestPracticeFlowParameter).Value; bool useBestPracticeFlow; if (bool.TryParse(useBestPracticeFlowValue, out useBestPracticeFlow)) return useBestPracticeFlow; _log.Warn("Could not convert parameter value for UseBestPracticeFlow to a boolean and is therefor handled as false."); } catch (ArgumentNullException) { return false; } return false; }
public bool GetLegalAddress(PaymentMethodDto paymentMethodDto) { try { var getLegalAddressValue = ParameterReader.GetParameterByName(paymentMethodDto, GetLegalAddressParameter).Value; bool getLegalAddress; if (bool.TryParse(getLegalAddressValue, out getLegalAddress)) return getLegalAddress; _log.Warn("Could not convert parameter value for GetLegalAddress to a boolean and is therefor handled as false."); } catch (ArgumentNullException) { return false; } return false; }
private void Create(PaymentMethodInfo paymentMethodInfo, Guid guid, string languageId) { PaymentMethodDto paymentMethod = new PaymentMethodDto(); PaymentMethodDto.PaymentMethodRow paymentMethodRow = paymentMethod.PaymentMethod.NewPaymentMethodRow(); paymentMethodRow[paymentMethod.PaymentMethod.PaymentMethodIdColumn] = guid; paymentMethodRow[paymentMethod.PaymentMethod.ApplicationIdColumn] = AppContext.Current.ApplicationId; paymentMethodRow[paymentMethod.PaymentMethod.NameColumn] = paymentMethodInfo.Name; paymentMethodRow[paymentMethod.PaymentMethod.DescriptionColumn] = paymentMethodInfo.Description; paymentMethodRow[paymentMethod.PaymentMethod.LanguageIdColumn] = languageId; paymentMethodRow[paymentMethod.PaymentMethod.SystemKeywordColumn] = paymentMethodInfo.SystemKeyword; paymentMethodRow[paymentMethod.PaymentMethod.IsActiveColumn] = false; paymentMethodRow[paymentMethod.PaymentMethod.IsDefaultColumn] = false; paymentMethodRow[paymentMethod.PaymentMethod.ClassNameColumn] = paymentMethodInfo.ClassName; paymentMethodRow[paymentMethod.PaymentMethod.PaymentImplementationClassNameColumn] = paymentMethodInfo.PaymentClassName; paymentMethodRow[paymentMethod.PaymentMethod.SupportsRecurringColumn] = false; paymentMethodRow[paymentMethod.PaymentMethod.OrderingColumn] = paymentMethodInfo.SortOrder; paymentMethodRow[paymentMethod.PaymentMethod.CreatedColumn] = FrameworkContext.Current.CurrentDateTime; paymentMethodRow[paymentMethod.PaymentMethod.ModifiedColumn] = FrameworkContext.Current.CurrentDateTime; paymentMethod.PaymentMethod.Rows.Add(paymentMethodRow); PaymentManager.SavePayment(paymentMethod); }
public void LoadObject(object dto) { _paymentMethodDto = dto as PaymentMethodDto; }
public string GetPriceArgsList(PaymentMethodDto paymentMethodDto) { return _parameterReader.GetPriceArgsList(paymentMethodDto); }
private void CreateParameter(PaymentMethodDto dto, string name, string value, Guid paymentMethodId) { PaymentMethodDto.PaymentMethodParameterRow row = dto.PaymentMethodParameter.NewPaymentMethodParameterRow(); row.PaymentMethodId = paymentMethodId; row.Parameter = name; row.Value = value; if (row.RowState == DataRowState.Detached) { dto.PaymentMethodParameter.Rows.Add(row); } }
public ConfigurePayment() { ValidationGroup = string.Empty; _paymentMethodDto = null; }
/// <summary> /// Saves the changes. /// </summary> /// <param name="dto">The dto.</param> public void SaveChanges(object dto) { if (this.Visible) { this._paymentMethodDto = dto as PaymentMethodDto; if ((this._paymentMethodDto != null) && (this._paymentMethodDto.PaymentMethodParameter != null)) { Guid paymentMethodId = Guid.Empty; if (this._paymentMethodDto.PaymentMethod.Count > 0) { paymentMethodId = this._paymentMethodDto.PaymentMethod[0].PaymentMethodId; } SaveParameter(DIBSPaymentGateway.UserParameter, User, paymentMethodId); SaveParameter(DIBSPaymentGateway.ProcessingUrl, ProcessingUrl, paymentMethodId); SaveParameter(DIBSPaymentGateway.KeyParameter, Key, paymentMethodId); } } }
/// <summary> /// Processes the payment. /// </summary> /// <param name="payment">The payment.</param> /// <param name="message">The message.</param> /// <returns></returns> public override bool ProcessPayment(Mediachase.Commerce.Orders.Payment payment, ref string message) { // We need this for some of the properties on this class that loads // payment method parameters (like MDS keys) _payment = PaymentManager.GetPaymentMethod(payment.PaymentMethodId); // .GetPaymentMethodBySystemName("DIBS", SiteContext.Current.LanguageName); if (payment.Parent.Parent is PurchaseOrder) { if (payment.TransactionType == TransactionType.Capture.ToString()) { bool isCaptured= CaptureTransaction(payment); if (!isCaptured) { message = "There was an error while capturing payment with DIBS"; return false; } return true; } if (payment.TransactionType == TransactionType.Credit.ToString()) { var transactionID = payment.TransactionID; if (string.IsNullOrEmpty(transactionID) || transactionID.Equals("0")) { message = "TransactionID is not valid or the current payment method does not support this order type."; return false; } //The transact must be captured before refunding bool isRefunded = RefundTransaction(payment); if (!isRefunded) { message = "There was an error while refunding with DIBS"; return false; } return true; } //right now we do not support processing the order which is created by Commerce Manager message = "The current payment method does not support this order type."; return false; } Cart cart = payment.Parent.Parent as Cart; if (cart != null && cart.Status == PaymentCompleted) { //return true because this shopping cart has been paid already on DIBS return true; } if (HttpContext.Current != null) { var pageRef = DataFactory.Instance.GetPage(PageReference.StartPage)["DIBSPaymentPage"] as PageReference; PageData page = DataFactory.Instance.GetPage(pageRef); HttpContext.Current.Response.Redirect(page.LinkURL); } else { throw new NullReferenceException("Cannot redirect to payment page without Http Context"); } return true; }
public string GetPaymentMethodCode(PaymentMethodDto paymentMethodDto) { return ParameterReader.GetParameterByName(paymentMethodDto, PaymentMethodCodeParameter).Value; }
/// <summary> /// Initializes a new instance of the <see cref="ConfigurePayment"/> class. /// </summary> public ConfigurePayment() { this._validationGroup = string.Empty; this._paymentMethodDto = null; }
public string GetAdditionalValues(PaymentMethodDto paymentMethodDto) { var additionalValues = _parameterReader.GetAdditionalValues(paymentMethodDto); Models.PaymentMethods.MasterPass.ValidateMasterPassAdditionalValues(additionalValues); return additionalValues; }
/// <summary> /// Gets the parameter by name. /// </summary> /// <param name="paymentMethodDto">The payment method dto.</param> /// <param name="name">The name.</param> /// <returns></returns> public static PaymentMethodDto.PaymentMethodParameterRow GetParameterByName(PaymentMethodDto paymentMethodDto, string name) { PaymentMethodDto.PaymentMethodParameterRow[] rowArray = (PaymentMethodDto.PaymentMethodParameterRow[])paymentMethodDto.PaymentMethodParameter.Select(string.Format("Parameter = '{0}'", name)); if ((rowArray != null) && (rowArray.Length > 0)) { return rowArray[0]; } throw new ArgumentNullException("Parameter named " + name + " for DIBS payment cannot be null"); }
/// <summary> /// Adds a payment method for a specific language. /// </summary> /// <param name="id">The ID of the payment method.</param> /// <param name="name">The name of the payment method.</param> /// <param name="systemKeyword">The system name of the payment method.</param> /// <param name="description">A description of the payment method.</param> /// <param name="implementationClass"></param> /// <param name="gatewayClass"></param> /// <param name="isDefault">Indicate whether it should be the default method or not.</param> /// <param name="orderIndex">The ordering index when the method is listed.</param> /// <param name="markets">All markets the method should be associated with.</param> /// <param name="language">The language for the payment method.</param> /// <param name="paymentMethodDto">The dataset used for creating new payment method rows.</param> private static void AddPaymentMethod(Guid id, string name, string systemKeyword, string description, string implementationClass, string gatewayClass, bool isDefault, int orderIndex, IEnumerable<IMarket> markets, CultureInfo language, PaymentMethodDto paymentMethodDto) { var row = paymentMethodDto.PaymentMethod.AddPaymentMethodRow(id, name, description, language.TwoLetterISOLanguageName, systemKeyword, true, isDefault, gatewayClass, implementationClass, false, orderIndex, DateTime.Now, DateTime.Now, AppContext.Current.ApplicationId); var paymentMethod = new PaymentMethod(row); paymentMethod.MarketId.AddRange(markets.Where(x => x.IsEnabled && x.Languages.Contains(language)).Select(x => x.MarketId)); paymentMethod.SaveChanges(); }
public string GetPriceArgsList(PaymentMethodDto paymentMethodDto) { return GetParameterByName(paymentMethodDto, PriceListArgsParameter).Value; }
public string GetAdditionalValues(PaymentMethodDto paymentMethodDto) { return GetParameterByName(paymentMethodDto, AdditionalValuesParameter).Value; }
/// <summary> /// Creates the settings. /// </summary> /// <param name="methodRow">The method row.</param> /// <returns></returns> private Dictionary<string, string> CreateSettings(PaymentMethodDto.PaymentMethodRow methodRow) { Dictionary<string, string> settings = new Dictionary<string, string>(); PaymentMethodDto.PaymentMethodParameterRow[] rows = methodRow.GetPaymentMethodParameterRows(); foreach (PaymentMethodDto.PaymentMethodParameterRow row in rows) { settings.Add(row.Parameter, row.Value); } return settings; }
public FinancingInvoiceConfigurePayment() { ValidationGroup = string.Empty; _paymentMethodDto = null; }