public OpayoServerPaymentProvider(VendrContext vendr, ILogger logger, IPaymentProviderUriResolver paymentProviderUriResolver, IHashProvider hashProvider) : base(vendr) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.paymentProviderUriResolver = paymentProviderUriResolver ?? throw new ArgumentNullException(nameof(paymentProviderUriResolver)); this.hashProvider = hashProvider ?? throw new ArgumentNullException(nameof(hashProvider)); }
public StripePaymentProviderBase(VendrContext vendr) : base(vendr) { }
public BamboraPaymentProviderBase(VendrContext vendr) : base(vendr) { }
public YourpayCheckoutPaymentProvider(VendrContext vendr) : base(vendr) { }
public StripePaymentProviderBase(VendrContext vendr, ILogger <TSelf> logger) : base(vendr) { _logger = logger; }
public DibsPaymentProvider(VendrContext vendr, ILogger <DibsPaymentProvider> logger) : base(vendr) { _logger = logger; }
public TemplatePaymentProvider(VendrContext vendr) : base(vendr) { }
public DibsPaymentProvider(VendrContext vendr) : base(vendr) { }
public WorldpayPaymentProvider(VendrContext vendr) : base(vendr) { }
public PayNlPaymentProvider(VendrContext vendr) : base(vendr) { }
public EPayBamboraPaymentProviderBase(VendrContext vendr) : base(vendr) { System.Diagnostics.Debug.WriteLine("Base!"); }
private static void LoadBillingDetails(Dictionary <string, string> inputFields, OrderReadOnly order, OpayoSettings settings, VendrContext context) { string tempStore; settings.OrderPropertyBillingLastName.MustNotBeNullOrWhiteSpace(nameof(settings.OrderPropertyBillingLastName)); tempStore = order.Properties[settings.OrderPropertyBillingLastName]; if (string.IsNullOrWhiteSpace(tempStore)) { throw new ArgumentNullException(nameof(settings.OrderPropertyBillingLastName), "Billing last name must be provided"); } inputFields.Add(OpayoConstants.TransactionRequestFields.Billing.Surname, tempStore.Truncate(20)); settings.OrderPropertyBillingFirstName.MustNotBeNullOrWhiteSpace(nameof(settings.OrderPropertyBillingFirstName)); tempStore = order.Properties[settings.OrderPropertyBillingFirstName]; if (string.IsNullOrWhiteSpace(tempStore)) { throw new ArgumentNullException(nameof(settings.OrderPropertyBillingFirstName), "Billing forenames must be provided"); } inputFields.Add(OpayoConstants.TransactionRequestFields.Billing.Firstnames, tempStore.Truncate(20)); settings.OrderPropertyBillingAddress1.MustNotBeNullOrWhiteSpace(nameof(settings.OrderPropertyBillingAddress1)); tempStore = order.Properties[settings.OrderPropertyBillingAddress1]; if (string.IsNullOrWhiteSpace(tempStore)) { throw new ArgumentNullException(nameof(settings.OrderPropertyBillingAddress1), "Billing address 1 must be provided"); } inputFields.Add(OpayoConstants.TransactionRequestFields.Billing.Address1, tempStore.Truncate(100)); if (string.IsNullOrWhiteSpace(settings.OrderPropertyBillingAddress2) == false) { tempStore = order.Properties[settings.OrderPropertyBillingAddress2]; if (string.IsNullOrWhiteSpace(tempStore) == false) { inputFields.Add(OpayoConstants.TransactionRequestFields.Billing.Address2, tempStore.Truncate(100)); } } settings.OrderPropertyBillingCity.MustNotBeNullOrWhiteSpace(nameof(settings.OrderPropertyBillingCity)); tempStore = order.Properties[settings.OrderPropertyBillingCity]; if (string.IsNullOrWhiteSpace(tempStore)) { throw new ArgumentNullException(nameof(settings.OrderPropertyBillingCity), "Billing city must be provided"); } inputFields.Add(OpayoConstants.TransactionRequestFields.Billing.City, tempStore.Truncate(40)); if (string.IsNullOrWhiteSpace(settings.OrderPropertyBillingPostcode) == false) { tempStore = order.Properties[settings.OrderPropertyBillingPostcode]; if (string.IsNullOrWhiteSpace(tempStore) == false) { inputFields.Add(OpayoConstants.TransactionRequestFields.Billing.PostCode, tempStore.Truncate(10)); } } var billingCountry = order.PaymentInfo.CountryId.HasValue ? context.Services.CountryService.GetCountry(order.PaymentInfo.CountryId.Value) : null; if (billingCountry == null) { throw new ArgumentNullException("billingCountry", "Billing country must be provided"); } inputFields.Add(OpayoConstants.TransactionRequestFields.Billing.Country, billingCountry.Code); if (billingCountry.Code == "US") { tempStore = order.Properties[settings.OrderPropertyBillingCounty]; if (string.IsNullOrWhiteSpace(tempStore)) { throw new ArgumentNullException(nameof(settings.OrderPropertyBillingCounty), "Billing State must be provided for the US"); } inputFields.Add(OpayoConstants.TransactionRequestFields.Billing.State, tempStore); } }
private static void LoadOrderValues(Dictionary <string, string> inputFields, OrderReadOnly order, OpayoSettings settings, VendrContext context) { inputFields.Add(OpayoConstants.TransactionRequestFields.VendorTxCode, order.OrderNumber); var currency = context.Services.CurrencyService.GetCurrency(order.CurrencyId); var currencyCode = currency.Code.ToUpperInvariant(); // Ensure currency has valid ISO 4217 code if (!Iso4217.CurrencyCodes.ContainsKey(currencyCode)) { throw new Exception("Currency must be a valid ISO 4217 currency code: " + currency.Name); } inputFields.Add(OpayoConstants.TransactionRequestFields.Currency, currencyCode); inputFields.Add(OpayoConstants.TransactionRequestFields.Amount, order.TotalPrice.Value.WithTax.ToString("0.00", CultureInfo.InvariantCulture)); var description = $"Vendr order - {order.TotalQuantity} items"; if (string.IsNullOrWhiteSpace(settings.OrderPropertyDescription) == false) { var tempStore = order.Properties[settings.OrderPropertyDescription]; if (string.IsNullOrWhiteSpace(tempStore?.Value) == false) { description = tempStore.Value.Truncate(100); } } inputFields.Add(OpayoConstants.TransactionRequestFields.Description, description); LoadBillingDetails(inputFields, order, settings, context); LoadShippingDetails(inputFields, order, settings, context); if (settings.DisplayOrderLines) { LoadOrderLines(inputFields, order, settings); } }
public static Dictionary <string, string> LoadInputs(OrderReadOnly order, OpayoSettings settings, VendrContext context, string callbackUrl) { var inputFields = new Dictionary <string, string>(); LoadBasicSettings(inputFields, settings, callbackUrl); LoadOrderValues(inputFields, order, settings, context); return(inputFields); }
public PayPalCheckoutOneTimePaymentProvider(VendrContext vendr) : base(vendr) { }
public BamboraCheckoutPaymentProvider(VendrContext vendr, ILogger <BamboraCheckoutPaymentProvider> logger) : base(vendr) { _logger = logger; }
public SquareCheckoutOnetimePaymentProvider(VendrContext vendr) : base(vendr) { }
public YourpayPaymentProviderBase(VendrContext vendr) : base(vendr) { }
public EPayBamboraPaymentProvider(VendrContext vendr) : base(vendr) { }
public StripeCheckoutOneTimePaymentProvider(VendrContext vendr) : base(vendr) { }
public SagePayServerPaymentProvider(VendrContext vendr, ILogger logger, IPaymentProviderUriResolver paymentProviderUriResolver, IHashProvider hashProvider) : base(vendr, logger, paymentProviderUriResolver, hashProvider) { }
public InvoicingPaymentProvider(VendrContext vendr) : base(vendr) { }
public StripeCheckoutPaymentProvider(VendrContext vendr, ILogger <StripeCheckoutPaymentProvider> logger) : base(vendr, logger) { }