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)
 {
 }
Ejemplo n.º 4
0
 public YourpayCheckoutPaymentProvider(VendrContext vendr)
     : base(vendr)
 {
 }
Ejemplo n.º 5
0
 public StripePaymentProviderBase(VendrContext vendr,
                                  ILogger <TSelf> logger)
     : base(vendr)
 {
     _logger = logger;
 }
Ejemplo n.º 6
0
 public DibsPaymentProvider(VendrContext vendr,
                            ILogger <DibsPaymentProvider> logger)
     : base(vendr)
 {
     _logger = logger;
 }
Ejemplo n.º 7
0
 public TemplatePaymentProvider(VendrContext vendr)
     : base(vendr)
 {
 }
 public DibsPaymentProvider(VendrContext vendr)
     : base(vendr)
 {
 }
 public WorldpayPaymentProvider(VendrContext vendr)
     : base(vendr)
 {
 }
Ejemplo n.º 10
0
 public PayNlPaymentProvider(VendrContext vendr)
     : base(vendr)
 {
 }
Ejemplo n.º 11
0
 public EPayBamboraPaymentProviderBase(VendrContext vendr)
     : base(vendr)
 {
     System.Diagnostics.Debug.WriteLine("Base!");
 }
Ejemplo n.º 12
0
        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);
            }
        }
Ejemplo n.º 13
0
        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);
            }
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
 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)
 {
 }
Ejemplo n.º 19
0
 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)
 {
 }
Ejemplo n.º 22
0
 public InvoicingPaymentProvider(VendrContext vendr)
     : base(vendr)
 {
 }
 public StripeCheckoutPaymentProvider(VendrContext vendr, ILogger <StripeCheckoutPaymentProvider> logger)
     : base(vendr, logger)
 {
 }